pub struct Ota<'a, F>where
F: Storage,{ /* private fields */ }Expand description
This is used to manipulate the OTA-data partition.
If you are looking for a more high-level way to do this, see crate::ota_updater::OtaUpdater
Implementations§
Source§impl<'a, F> Ota<'a, F>where
F: Storage,
impl<'a, F> Ota<'a, F>where
F: Storage,
Sourcepub fn new(
flash: &'a mut FlashRegion<'a, F>,
ota_partition_count: usize,
) -> Result<Ota<'a, F>, Error>
pub fn new( flash: &'a mut FlashRegion<'a, F>, ota_partition_count: usize, ) -> Result<Ota<'a, F>, Error>
Create a Ota instance from the given FlashRegion and the count of OTA app partitions (not including “firmware” and “test” partitions)
§Errors
A Error::InvalidPartition if the given flash region doesn’t represent a Data/Ota partition or the size is unexpected.
Error::InvalidArgument if the ota_partition_count exceeds the maximum or if it’s 0.
Sourcepub fn current_app_partition(&mut self) -> Result<AppPartitionSubType, Error>
pub fn current_app_partition(&mut self) -> Result<AppPartitionSubType, Error>
Returns the currently selected app partition.
This might not be the booted partition if the bootloader failed to boot the partition and felt back to the last known working app partition.
See crate::partitions::PartitionTable::booted_partition to get the booted partition.
Sourcepub fn set_current_app_partition(
&mut self,
app: AppPartitionSubType,
) -> Result<(), Error>
pub fn set_current_app_partition( &mut self, app: AppPartitionSubType, ) -> Result<(), Error>
Sets the currently active OTA-slot.
Passing AppPartitionSubType::Factory will reset the OTA-data.
§Errors
Error::InvalidArgument if AppPartitionSubType::Test is given or if the OTA app partition number exceeds the value given to the constructor.
Sourcepub fn set_current_ota_state(
&mut self,
state: OtaImageState,
) -> Result<(), Error>
pub fn set_current_ota_state( &mut self, state: OtaImageState, ) -> Result<(), Error>
Set the OtaImageState of the currently selected slot.
§Errors
A Error::InvalidState if no partition is currently selected.
Sourcepub fn current_ota_state(&mut self) -> Result<OtaImageState, Error>
pub fn current_ota_state(&mut self) -> Result<OtaImageState, Error>
Get the OtaImageState of the currently selected slot.
§Errors
A Error::InvalidState if no partition is currently selected.