Created State Machines (markdown)
parent
bb7ebeb21b
commit
775f3a702d
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Downlink Core:
|
||||||
|

|
||||||
|
|
||||||
|
## States:
|
||||||
|
__IDLE__
|
||||||
|
* Nothing is happening
|
||||||
|
* FIFO isn't being written to or read from. It should be empty.
|
||||||
|
* Move into `ARM` when the arm command is received.
|
||||||
|
|
||||||
|
__ARM__
|
||||||
|
* Pop things into the FIFO. If the FIFO's more than halfway full, pop them out as well. This ensures the buffer remains half full.
|
||||||
|
* Move into `FILL` when trigger condition is met.
|
||||||
|
|
||||||
|
__FILL__
|
||||||
|
* Waiting for the FIFO to fill
|
||||||
|
* Move to `DOWNLINK` once full.
|
||||||
|
|
||||||
|
__DOWNLINK__
|
||||||
|
* Pop things off the FIFO until it's empty.
|
||||||
|
* Move to `IDLE` once FIFO is empty.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Uplink Core:
|
||||||
|
Just two states, `IDLE` and `RUN`. Unless we want it to be reconfigurable, in which case we'll need states for being uninitialized or uploading. But this can be specified in the YAML.
|
||||||
Loading…
Reference in New Issue