pub trait BoardIo {
Show 33 methods
// Required methods
fn serial_rx_read(
&mut self,
buf: &mut [u8],
) -> Option<Result<usize, TelemError>>;
fn serial_tx_write(
&mut self,
bytes: &[u8],
) -> Option<Result<usize, TelemError>>;
fn clock_millis(&self) -> u32;
fn clock_micros(&self) -> u64;
// Provided methods
fn update_sensor_bus<R: FlightFloat>(&mut self, sensors: &mut SensorBus<R>) { ... }
fn imu_pending(&self) -> bool { ... }
fn update_imu_sensor<R: FlightFloat>(&mut self, sensors: &mut SensorBus<R>) { ... }
fn update_service_sensor_bus<R: FlightFloat>(
&mut self,
sensors: &mut SensorBus<R>,
) { ... }
fn serial_tx_write_priority(
&mut self,
bytes: &[u8],
_priority: SerialTxPriority,
) -> Option<Result<usize, TelemError>> { ... }
fn serial_tx_enqueue_downlink(
&mut self,
_system_id: u8,
_msg: DownlinkMessage,
_priority: SerialTxPriority,
) -> Option<Result<usize, TelemError>> { ... }
fn serial_rx_frame_read(
&mut self,
) -> Option<Result<SerialRxFrame, TelemError>> { ... }
fn serial_rx_pending(&self) -> bool { ... }
fn set_test_pin_1(&mut self, _high: bool) { ... }
fn set_test_pin_2(&mut self, _high: bool) { ... }
fn set_test_pin_3(&mut self, _high: bool) { ... }
fn read_params(&mut self, _params: &mut Params) -> bool { ... }
fn write_params(&mut self, _params: &Params) -> bool { ... }
fn sensors_errors_count(&self) -> u16 { ... }
fn sensors_errors_message(&self, _index: u16) -> Option<[u8; 50]> { ... }
fn serial_flush(&mut self) { ... }
fn serial_flush_budgeted(&mut self, _max_units: usize) { ... }
fn led0_on(&mut self) { ... }
fn led0_off(&mut self) { ... }
fn led0_toggle(&mut self) { ... }
fn led1_on(&mut self) { ... }
fn led1_off(&mut self) { ... }
fn led1_toggle(&mut self) { ... }
fn backup_memory_read(&mut self) -> Option<BackupData> { ... }
fn backup_memory_write(&mut self, _data: BackupData) -> bool { ... }
fn backup_memory_clear(&mut self) -> bool { ... }
fn reboot(&mut self) -> bool { ... }
fn reboot_to_bootloader(&mut self) -> bool { ... }
fn run_deferred_board_actions(&mut self) { ... }
}Required Methods§
fn serial_rx_read( &mut self, buf: &mut [u8], ) -> Option<Result<usize, TelemError>>
fn serial_tx_write(&mut self, bytes: &[u8]) -> Option<Result<usize, TelemError>>
fn clock_millis(&self) -> u32
fn clock_micros(&self) -> u64
Provided Methods§
fn update_sensor_bus<R: FlightFloat>(&mut self, sensors: &mut SensorBus<R>)
fn imu_pending(&self) -> bool
fn update_imu_sensor<R: FlightFloat>(&mut self, sensors: &mut SensorBus<R>)
fn update_service_sensor_bus<R: FlightFloat>( &mut self, sensors: &mut SensorBus<R>, )
fn serial_tx_write_priority( &mut self, bytes: &[u8], _priority: SerialTxPriority, ) -> Option<Result<usize, TelemError>>
fn serial_tx_enqueue_downlink( &mut self, _system_id: u8, _msg: DownlinkMessage, _priority: SerialTxPriority, ) -> Option<Result<usize, TelemError>>
fn serial_rx_frame_read(&mut self) -> Option<Result<SerialRxFrame, TelemError>>
fn serial_rx_pending(&self) -> bool
fn set_test_pin_1(&mut self, _high: bool)
fn set_test_pin_2(&mut self, _high: bool)
fn set_test_pin_3(&mut self, _high: bool)
fn read_params(&mut self, _params: &mut Params) -> bool
fn write_params(&mut self, _params: &Params) -> bool
fn sensors_errors_count(&self) -> u16
fn sensors_errors_message(&self, _index: u16) -> Option<[u8; 50]>
fn serial_flush(&mut self)
fn serial_flush_budgeted(&mut self, _max_units: usize)
fn led0_on(&mut self)
fn led0_off(&mut self)
fn led0_toggle(&mut self)
fn led1_on(&mut self)
fn led1_off(&mut self)
fn led1_toggle(&mut self)
fn backup_memory_read(&mut self) -> Option<BackupData>
fn backup_memory_write(&mut self, _data: BackupData) -> bool
fn backup_memory_clear(&mut self) -> bool
fn reboot(&mut self) -> bool
fn reboot_to_bootloader(&mut self) -> bool
fn run_deferred_board_actions(&mut self)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.