pub struct CommManager<B, T>where
B: BoardIo,
T: CommInterface<B>,{
pub sysid: u8,
pub msgs: Messages,
/* private fields */
}Fields§
§sysid: u8§msgs: MessagesImplementations§
Source§impl<B, T> CommManager<B, T>where
B: BoardIo,
T: CommInterface<B>,
impl<B, T> CommManager<B, T>where
B: BoardIo,
T: CommInterface<B>,
pub fn new(comm_link: T, now_us: u64) -> Self
pub fn process_incoming_messages(&mut self, board: &mut B)
pub fn has_pending_messages(&self) -> bool
pub fn set_telemetry_rates(&mut self, telemetry_rates: TelemetryRates)
pub fn configure_telemetry_from_params(&mut self, params: &Params)
Sourcepub fn update_telemetry_param(
&mut self,
params: &Params,
id: ParamId,
now_us: u64,
) -> bool
pub fn update_telemetry_param( &mut self, params: &Params, id: ParamId, now_us: u64, ) -> bool
Applies one live telemetry parameter without disturbing the deadlines
of unrelated streams. The changed stream begins a new period at
now_us, avoiding a catch-up burst.
pub fn named_telemetry_due<R>(
&self,
now_us: u64,
processed_sensors: &ProcessedSensors<R>,
) -> boolwhere
R: FlightFloat,
pub fn send_named_telemetry_streams<S, A, R>( &mut self, ctx: TelemetryCtx<'_, B, S, A, R>, )
pub fn send_one_named_telemetry_stream<S, A, R>( &mut self, ctx: TelemetryCtx<'_, B, S, A, R>, ) -> bool
pub fn send_named_telemetry_stream_if_due<S, A, R>( &mut self, stream: NamedTelemetryStream, ctx: TelemetryCtx<'_, B, S, A, R>, ) -> bool
pub fn send_named_telemetry_stream_with_gate<S, A, R>( &mut self, priority: RealtimeTelemetryPriority, ctx: TelemetryCtx<'_, B, S, A, R>, ) -> bool
pub fn act_on_messages( &mut self, param_events: &mut ParamEventQueues, comm_events: &mut CommEventQueues, command_events: &mut CommandEventQueues, companion_events: &mut CompanionEventQueues, board: &mut B, )
pub fn send_comm_responses( &mut self, board: &mut B, comm_events: &mut CommEventQueues, )
pub fn send_comm_responses_limited( &mut self, board: &mut B, comm_events: &mut CommEventQueues, max_responses: usize, ) -> usize
pub fn send_timesync(&mut self, board: &mut B, msg: TimesyncMsg)
pub fn send_rosflight_heartbeat(&mut self, board: &mut B, msg: HeartbeatMsg)
pub fn send_rosflight_status(&mut self, board: &mut B, msg: RosflightStatusMsg)
pub fn send_rosflight_attitude_quaternion( &mut self, board: &mut B, msg: AttitudeQuaternionMsg, )
pub fn send_rosflight_small_imu(&mut self, board: &mut B, msg: SmallImuMsg)
pub fn send_rosflight_small_baro(&mut self, board: &mut B, msg: SmallBaroMsg)
pub fn send_rosflight_diff_pressure( &mut self, board: &mut B, msg: DiffPressureMsg, )
pub fn send_rosflight_small_mag(&mut self, board: &mut B, msg: SmallMagMsg)
pub fn send_rosflight_small_range(&mut self, board: &mut B, msg: SmallRangeMsg)
pub fn send_rosflight_battery_status( &mut self, board: &mut B, msg: BatteryStatusMsg, )
pub fn send_rosflight_gnss(&mut self, board: &mut B, msg: RosflightGnssMsg)
pub fn send_rosflight_rc_raw(&mut self, board: &mut B, msg: RcChannelsMsg)
pub fn send_rosflight_output_raw( &mut self, board: &mut B, msg: RosflightOutputRawMsg, )
Auto Trait Implementations§
impl<B, T> Freeze for CommManager<B, T>where
T: Freeze,
impl<B, T> RefUnwindSafe for CommManager<B, T>where
T: RefUnwindSafe,
B: RefUnwindSafe,
impl<B, T> Send for CommManager<B, T>
impl<B, T> Sync for CommManager<B, T>
impl<B, T> Unpin for CommManager<B, T>
impl<B, T> UnsafeUnpin for CommManager<B, T>where
T: UnsafeUnpin,
impl<B, T> UnwindSafe for CommManager<B, T>where
T: UnwindSafe,
B: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.