|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Decides whether a valid frame is allowed to ARM or UN-ARM the rocket. More...
Go to the source code of this file.
Classes | |
| class | radio_link::ArmGate |
Namespaces | |
| namespace | radio_link |
Enumerations | |
| enum class | radio_link::ArmAction : uint8_t { radio_link::None = 0 , radio_link::Pending , radio_link::Arm , radio_link::Disarm , radio_link::RejectKey , radio_link::RejectTarget , radio_link::RejectStale } |
Variables | |
| constexpr uint32_t | radio_link::kArmKey = 0xA5C3965Au |
| PLACEHOLDER: lead to choose the real key before flight. | |
| constexpr uint32_t | radio_link::kArmConfirmWindowMs = 2000 |
| Max time between the two ARM frames. | |
Decides whether a valid frame is allowed to ARM or UN-ARM the rocket.
Protects against accidents and noise, NOT a deliberate attacker (there is no secret). Rules for ARM:
The gate only says whether a command is valid. Whether arming is allowed right now (on the pad, in Idle, not in flight) is the state machine's call.
Time is passed in (now_ms) so tests need no clock. Unsigned subtraction makes a wrapping 32-bit millisecond counter safe.
Definition in file arm_gate.h.