pub(crate) struct LoRaThingsPlus {Show 17 fields
pub(crate) alarm: &'static AlarmDriver<'static, VirtualMuxAlarm<'static, STimer<'static>>>,
pub(crate) led: &'static LedDriver<'static, LedHigh<'static, GpioPin<'static>>, 1>,
pub(crate) gpio: &'static GPIO<'static, GpioPin<'static>>,
pub(crate) console: &'static Console<'static>,
pub(crate) i2c_master: &'static I2CMasterDriver<'static, Iom<'static>>,
pub(crate) external_spi_controller: &'static Spi<'static, VirtualSpiMasterDevice<'static, Iom<'static>>>,
pub(crate) sx1262_spi_controller: &'static Spi<'static, VirtualSpiMasterDevice<'static, Iom<'static>>>,
pub(crate) sx1262_gpio: &'static GPIO<'static, GpioPin<'static>>,
pub(crate) temperature: &'static TemperatureComponentType<Bme280ComponentType<I2CDevice<'static, Iom<'static>>>>,
pub(crate) humidity: &'static HumidityComponentType<Bme280ComponentType<I2CDevice<'static, Iom<'static>>>>,
pub(crate) air_quality: &'static AirQualitySensor<'static>,
pub(crate) moisture: Option<&'static MoistureComponentType<ChirpI2cMoistureComponentType<I2CDevice<'static, Iom<'static>>>>>,
pub(crate) rainfall: Option<&'static RainFallComponentType<DFRobotRainFallSensorComponentType<VirtualMuxAlarm<'static, STimer<'static>>, I2CDevice<'static, Iom<'static>>>>>,
pub(crate) rng: Option<&'static RngDriver<'static, Entropy32ToRandom<'static, Atecc508a<'static>>>>,
pub(crate) scheduler: &'static RoundRobinSched<'static>,
pub(crate) systick: SysTick,
pub(crate) kv_driver: &'static KVStoreDriver<'static, VirtualKVPermissions<'static, KVStorePermissions<'static, TicKVKVStore<'static, TicKVSystem<'static, FlashUser<'static, FlashCtrl<'static>>, SipHasher24<'static>, { apollo3::flashctrl::PAGE_SIZE }>, [u8; 8]>>>>,
}
Expand description
A structure representing this platform that holds references to all capsules for this platform.
Fields§
§alarm: &'static AlarmDriver<'static, VirtualMuxAlarm<'static, STimer<'static>>>
§led: &'static LedDriver<'static, LedHigh<'static, GpioPin<'static>>, 1>
§gpio: &'static GPIO<'static, GpioPin<'static>>
§console: &'static Console<'static>
§i2c_master: &'static I2CMasterDriver<'static, Iom<'static>>
§external_spi_controller: &'static Spi<'static, VirtualSpiMasterDevice<'static, Iom<'static>>>
§sx1262_spi_controller: &'static Spi<'static, VirtualSpiMasterDevice<'static, Iom<'static>>>
§sx1262_gpio: &'static GPIO<'static, GpioPin<'static>>
§temperature: &'static TemperatureComponentType<Bme280ComponentType<I2CDevice<'static, Iom<'static>>>>
§humidity: &'static HumidityComponentType<Bme280ComponentType<I2CDevice<'static, Iom<'static>>>>
§air_quality: &'static AirQualitySensor<'static>
§moisture: Option<&'static MoistureComponentType<ChirpI2cMoistureComponentType<I2CDevice<'static, Iom<'static>>>>>
§rainfall: Option<&'static RainFallComponentType<DFRobotRainFallSensorComponentType<VirtualMuxAlarm<'static, STimer<'static>>, I2CDevice<'static, Iom<'static>>>>>
§rng: Option<&'static RngDriver<'static, Entropy32ToRandom<'static, Atecc508a<'static>>>>
§scheduler: &'static RoundRobinSched<'static>
§systick: SysTick
§kv_driver: &'static KVStoreDriver<'static, VirtualKVPermissions<'static, KVStorePermissions<'static, TicKVKVStore<'static, TicKVSystem<'static, FlashUser<'static, FlashCtrl<'static>>, SipHasher24<'static>, { apollo3::flashctrl::PAGE_SIZE }>, [u8; 8]>>>>
Trait Implementations§
Source§impl KernelResources<Apollo3<Apollo3DefaultPeripherals>> for LoRaThingsPlus
impl KernelResources<Apollo3<Apollo3DefaultPeripherals>> for LoRaThingsPlus
Source§type SyscallDriverLookup = LoRaThingsPlus
type SyscallDriverLookup = LoRaThingsPlus
The implementation of the system call dispatch mechanism the kernel
will use.
Source§type SyscallFilter = ()
type SyscallFilter = ()
The implementation of the system call filtering mechanism the kernel
will use.
Source§type ProcessFault = ()
type ProcessFault = ()
The implementation of the process fault handling mechanism the kernel
will use.
Source§type Scheduler = RoundRobinSched<'static>
type Scheduler = RoundRobinSched<'static>
The implementation of the scheduling algorithm the kernel will use.
Source§type SchedulerTimer = SysTick
type SchedulerTimer = SysTick
The implementation of the timer used to create the timeslices provided
to applications.
Source§type WatchDog = ()
type WatchDog = ()
The implementation of the WatchDog timer used to monitor the running
of the kernel.
Source§type ContextSwitchCallback = ()
type ContextSwitchCallback = ()
The implementation of the context switch callback handler
the kernel will use.
Source§fn syscall_driver_lookup(&self) -> &Self::SyscallDriverLookup
fn syscall_driver_lookup(&self) -> &Self::SyscallDriverLookup
Returns a reference to the implementation of the SyscallDriverLookup this
platform will use to route syscalls.
Source§fn syscall_filter(&self) -> &Self::SyscallFilter
fn syscall_filter(&self) -> &Self::SyscallFilter
Returns a reference to the implementation of the SyscallFilter this
platform wants the kernel to use.
Source§fn process_fault(&self) -> &Self::ProcessFault
fn process_fault(&self) -> &Self::ProcessFault
Returns a reference to the implementation of the ProcessFault handler
this platform wants the kernel to use.
Source§fn scheduler(&self) -> &Self::Scheduler
fn scheduler(&self) -> &Self::Scheduler
Returns a reference to the implementation of the Scheduler this platform
wants the kernel to use.
Source§fn scheduler_timer(&self) -> &Self::SchedulerTimer
fn scheduler_timer(&self) -> &Self::SchedulerTimer
Returns a reference to the implementation of the SchedulerTimer timer
for this platform.
Source§fn watchdog(&self) -> &Self::WatchDog
fn watchdog(&self) -> &Self::WatchDog
Returns a reference to the implementation of the WatchDog on this
platform.
Source§fn context_switch_callback(&self) -> &Self::ContextSwitchCallback
fn context_switch_callback(&self) -> &Self::ContextSwitchCallback
Returns a reference to the implementation of the ContextSwitchCallback
for this platform.
Source§impl SyscallDriverLookup for LoRaThingsPlus
Mapping of integer syscalls to objects that implement syscalls.
impl SyscallDriverLookup for LoRaThingsPlus
Mapping of integer syscalls to objects that implement syscalls.
Source§fn with_driver<F, R>(&self, driver_num: usize, f: F) -> R
fn with_driver<F, R>(&self, driver_num: usize, f: F) -> R
Platform-specific mapping of syscall numbers to objects that implement
the Driver methods for that syscall. Read more
Auto Trait Implementations§
impl !Freeze for LoRaThingsPlus
impl !RefUnwindSafe for LoRaThingsPlus
impl !Send for LoRaThingsPlus
impl !Sync for LoRaThingsPlus
impl Unpin for LoRaThingsPlus
impl !UnwindSafe for LoRaThingsPlus
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