From 775f3a702da7cc1719b1adb786470d1a7a6ba3bb Mon Sep 17 00:00:00 2001 From: Fischer Moseley <42497969+fischermoseley@users.noreply.github.com> Date: Thu, 9 Feb 2023 22:50:14 -0500 Subject: [PATCH] Created State Machines (markdown) --- State-Machines.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 State-Machines.md diff --git a/State-Machines.md b/State-Machines.md new file mode 100644 index 0000000..07b39af --- /dev/null +++ b/State-Machines.md @@ -0,0 +1,25 @@ +# Downlink Core: +![Manta Diagrams](https://user-images.githubusercontent.com/42497969/217994970-ff70a984-68bf-477a-b329-327f81ad9e7f.svg) + +## 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. \ No newline at end of file