Trait DfuOperations

Source
pub trait DfuOperations {
    // Required methods
    fn write_control(
        &self,
        request_type: u8,
        request: u8,
        value: u16,
        index: u16,
        data: &[u8],
    ) -> Result<usize>;
    fn read_control(
        &self,
        request_type: u8,
        request: u8,
        value: u16,
        index: u16,
        data: &mut [u8],
    ) -> Result<usize>;
    fn get_interface(&self) -> u8;

    // Provided methods
    fn download(&self, data: &[u8]) -> Result<usize> { ... }
    fn upload(&self, data: &mut [u8]) -> Result<usize> { ... }
    fn get_state(&self) -> Result<DfuState> { ... }
    fn get_status(&self) -> Result<DfuStatus> { ... }
    fn clear_status(&self) -> Result<()> { ... }
    fn abort(&self) -> Result<()> { ... }
}

Required Methods§

Source

fn write_control( &self, request_type: u8, request: u8, value: u16, index: u16, data: &[u8], ) -> Result<usize>

Source

fn read_control( &self, request_type: u8, request: u8, value: u16, index: u16, data: &mut [u8], ) -> Result<usize>

Source

fn get_interface(&self) -> u8

Provided Methods§

Source

fn download(&self, data: &[u8]) -> Result<usize>

Download (send) a block to the target device.

Source

fn upload(&self, data: &mut [u8]) -> Result<usize>

Upload (receive) a block from the target device.

Source

fn get_state(&self) -> Result<DfuState>

Get the current DFU state.

Source

fn get_status(&self) -> Result<DfuStatus>

Get the DFU status.

Source

fn clear_status(&self) -> Result<()>

Clear the DFU status.

Source

fn abort(&self) -> Result<()>

Abort a DFU operation.

Implementors§