STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
radio_link::ArmGate Class Reference

#include <arm_gate.h>

Public Member Functions

 ArmGate (uint8_t target_id)
ArmAction on_frame (const Frame &f, uint32_t now_ms)
 Feed one already-validated frame (decode_frame returned Ok).
void tick (uint32_t now_ms)
 Call periodically so an unconfirmed ARM expires.
bool pending () const

Private Member Functions

void note_seq (uint16_t seq)

Private Attributes

uint8_t target_id_
bool have_last_ = false
uint16_t last_seq_ = 0
bool pending_ = false
uint16_t pending_seq_ = 0
uint32_t pending_ms_ = 0

Detailed Description

Definition at line 50 of file arm_gate.h.

Constructor & Destructor Documentation

◆ ArmGate()

radio_link::ArmGate::ArmGate ( uint8_t target_id)
inlineexplicit

Definition at line 52 of file arm_gate.h.

References target_id_.

Member Function Documentation

◆ note_seq()

void radio_link::ArmGate::note_seq ( uint16_t seq)
private

Definition at line 21 of file arm_gate.cpp.

References have_last_, and last_seq_.

Referenced by on_frame().

◆ on_frame()

◆ pending()

bool radio_link::ArmGate::pending ( ) const
inline

Definition at line 61 of file arm_gate.h.

References pending_.

◆ tick()

void radio_link::ArmGate::tick ( uint32_t now_ms)

Call periodically so an unconfirmed ARM expires.

Definition at line 14 of file arm_gate.cpp.

References radio_link::kArmConfirmWindowMs, pending_, and pending_ms_.

Referenced by on_frame().

Member Data Documentation

◆ have_last_

bool radio_link::ArmGate::have_last_ = false
private

Definition at line 69 of file arm_gate.h.

Referenced by note_seq(), and on_frame().

◆ last_seq_

uint16_t radio_link::ArmGate::last_seq_ = 0
private

Definition at line 70 of file arm_gate.h.

Referenced by note_seq(), and on_frame().

◆ pending_

bool radio_link::ArmGate::pending_ = false
private

Definition at line 71 of file arm_gate.h.

Referenced by on_frame(), pending(), and tick().

◆ pending_ms_

uint32_t radio_link::ArmGate::pending_ms_ = 0
private

Definition at line 73 of file arm_gate.h.

Referenced by on_frame(), and tick().

◆ pending_seq_

uint16_t radio_link::ArmGate::pending_seq_ = 0
private

Definition at line 72 of file arm_gate.h.

Referenced by on_frame().

◆ target_id_

uint8_t radio_link::ArmGate::target_id_
private

Definition at line 68 of file arm_gate.h.

Referenced by ArmGate(), and on_frame().


The documentation for this class was generated from the following files: