Basics of Writing Basilisk Modules¶
This chapter covers the basics of designing Basilisk modules, as well as how to write a module using C++, C or Python. As always with code documentation, it is never complete and always work-in-progress.
The following pages cover the primary tasks required to make a Basilisk module. This includes how to design the basic module function, how messages work, what methods are required for a module, etc. Note that the dynamics modules are both Basilisk modules and also a sub-class of either Module: dynamicEffector (provide external forces and torques acting on the body, but doesn’t have state differential equations to integrate), or Module: stateEffector (has internal state differential equations to integrate that couple with the spacecraft rigid hub).
The goal of the following content is to facilitate the process of creating new modules. However, this documentation does not avoid the need to study the Basilisk source code, including how other modules were written, to understand how to create new modules.
- Module Design Considerations
- Creating New Message Definitions
- Making C Modules
- Making C++ Modules
- Making Python Modules
- Module RST Documentation
- Module Unit Test File
- Common Basilisk Support Files