This repository contains all the code running our main flight computer on the rocket. It can be either run on an android smartphone or on any full "desktop" computer (e.g. a raspberry pi)
kivy_wrapperandstandaloneare the two executables available. Standalone has not much additional stuff, whilst kivy has some platform specific addtional code (e.g. for android sensors, etc.)corehas all of the rest of the code and is structured as such:- At the top level there is the
api_clientto do the server handshake (this has to happen before the flight starts). This api client has also some api methods for during the flight, like for commands, etc. There is also the flight executor which has the main loop and related things modelsare api models used by theapi_clientlogicis a bit of a mess currently. It contains therocket_definitionand the base command definition some abstract base part defintions likemeasurmetn_sinkand a bunch of helpers. This should be re-organized at some pointhelpercontains a bunch of other helper methods used in the parts and elsewherecontentcontains all the actual parts and related codecommon_sensor_interfacesare interfaces that many parts might be implementing. This is quite new and not very far developed yetflight_directorcontains everything related to the flight director. The flight director is handling the flight and makes high level calls on changing into other flight phases (e.g. from countdown to launch, etc.)general_commandssome commands common to many partsmeasurement_sinksspecialized parts that store or send away measurementsmicrocontrollerany code related to communicating with an arduinomotor_commandscommands related to motors (currently just open/close)sensorscontains all sensor parts that are not implemented over the serial connectiontestinghas parts useful for e.g. lab-bench testing of the code or electronics
- At the top level there is the