RobertK66 / obc_1769_core

Implements hardware abstractions and Layer2(3) modules for usage of the OBC hardware in cubesat projects
GNU General Public License v3.0
1 stars 1 forks source link

Sequencer module for execution of timed thruster sequences #51

Closed kodsurf closed 1 year ago

kodsurf commented 1 year ago

So ....

I would like to finalize current design iteration with thruster sequencer module by opening this PR.

All Thruster sequences that were hardcoded - work as intended without causing hard fault loop.

It is not supposed that multiple thruster sequences would run at the same time - nevertheless most times sequences are successfully running in parallel.

Therefore I submit already working solution for running thruster tests and firing sequences.

Print messages are there for a purpose of logging and validation. In case we need to run another radiation test, this time including thruster board - logging messages (printed to debug uart) should document every action, including bytes that thruster is replying. This way with the log it would be able to validate that OBC is sending correct requests, and tests/operations are running as intended.

Example of logging output image image image

Note :

https://github.com/RobertK66/obc_1769_core/issues/49 and https://github.com/RobertK66/obc_1769_core/issues/52 are still open and to be resolved during further design iterations.

As I mentioned before - it is not allowed to run parallel thruster sequences ( different tests cannot run at the same time !!!!). But from SW point of view - it should be possible without hard fault. This is what needs to be achieved by resolving #49 (hard fault loop only occures with thruster board turned on/ when thruster sends reply with too high frequency >1Hz)

Currently frequency between SET requests is hardcoded to be 0.5Hz (which causes no problems). But the reasons for such a behaviour is yet unclear. @RobertK66 Need your help with that.

RobertK66 commented 1 year ago

Will be replaced with new version (from feature/thruster_experimental) ....