Basilisk Modules#
This chapter covers the fundamentals of designing Basilisk modules and how to write a module using C++, C, or Python. As with all code documentation, it is never truly complete and is always a work in progress.
For general developer resources—including coding guidelines, forking the repository,
building the Sphinx documentation system, and more—see the Support/Developer Information
section in Basilisk Modules.
The following pages walk through the primary tasks required to create a Basilisk module. Topics include how to design a module, how the message-passing system works, what methods are required in a module, and more. Note that dynamics modules are both Basilisk modules and subclasses of either:
dynamicEffector — provides external forces and torques acting on the spacecraft, but does not have internal state differential equations.
stateEffector — includes internal state differential equations that couple with the spacecraft rigid body.
Warning
The goal of this documentation is to support the module creation process. However, it does not eliminate the need to study the Basilisk source code, particularly how existing modules are implemented, to fully understand the module architecture.