sbp-0.50.5: SwiftNav's SBP Library

CopyrightCopyright (C) 2015 Swift Navigation, Inc.
LicenseLGPL-3
MaintainerMark Fine <dev@swiftnav.com>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

SwiftNav.SBP.Flash

Description

Messages for reading/writing the device's onboard flash memory. Many of these messages target specific flash memory peripherals used in Swift Navigation devices: the STM32 flash and the M25Pxx FPGA configuration flash. These are in the implementation-defined range (0x0000-0x00FF), and are intended for internal-use only.

Synopsis

Documentation

data MsgFlashProgram Source

SBP class for message MSG_FLASH_PROGRAM (0x00E6).

The flash program message programs a set of addresses of either the STM or M25 flash. The device replies with either a MSG_FLASH_DONE message containing the return code FLASH_OK (0) on success, or FLASH_INVALID_LEN (2) if the maximum write size is exceeded. Note that the sector-containing addresses must be erased before addresses can be programmed.

Constructors

MsgFlashProgram 

Fields

msgFlashProgram_target :: Word8

Target flags

msgFlashProgram_addr_start :: [Word8]

Starting address offset to program

msgFlashProgram_addr_len :: Word8

Length of set of addresses to program, counting up from starting address

msgFlashProgram_data :: [Word8]

Data to program addresses with, with length N=addr_len

data MsgFlashDone Source

SBP class for message MSG_FLASH_DONE (0x00E0).

This message defines success or failure codes for a variety of flash memory requests from the host to the device. Flash read and write messages, such as MSG_FLASH_READ_REQ, or MSG_FLASH_PROGRAM, may return this message on failure.

Constructors

MsgFlashDone 

Fields

msgFlashDone_response :: Word8

Response flags

data MsgFlashReadReq Source

SBP class for message MSG_FLASH_READ_REQ (0x00E7).

The flash read message reads a set of addresses of either the STM or M25 onboard flash. The device replies with a MSG_FLASH_READ_RESP message containing either the read data on success or a MSG_FLASH_DONE message containing the return code FLASH_INVALID_LEN (2) if the maximum read size is exceeded or FLASH_INVALID_ADDR (3) if the address is outside of the allowed range.

Constructors

MsgFlashReadReq 

Fields

msgFlashReadReq_target :: Word8

Target flags

msgFlashReadReq_addr_start :: [Word8]

Starting address offset to read from

msgFlashReadReq_addr_len :: Word8

Length of set of addresses to read, counting up from starting address

data MsgFlashReadResp Source

SBP class for message MSG_FLASH_READ_RESP (0x00E1).

The flash read message reads a set of addresses of either the STM or M25 onboard flash. The device replies with a MSG_FLASH_READ_RESP message containing either the read data on success or a MSG_FLASH_DONE message containing the return code FLASH_INVALID_LEN (2) if the maximum read size is exceeded or FLASH_INVALID_ADDR (3) if the address is outside of the allowed range.

Constructors

MsgFlashReadResp 

Fields

msgFlashReadResp_target :: Word8

Target flags

msgFlashReadResp_addr_start :: [Word8]

Starting address offset to read from

msgFlashReadResp_addr_len :: Word8

Length of set of addresses to read, counting up from starting address

data MsgFlashErase Source

SBP class for message MSG_FLASH_ERASE (0x00E2).

The flash erase message from the host erases a sector of either the STM or M25 onboard flash memory. The device will reply with a MSG_FLASH_DONE message containing the return code - FLASH_OK (0) on success or FLASH_INVALID_FLASH (1) if the flash specified is invalid.

Constructors

MsgFlashErase 

Fields

msgFlashErase_target :: Word8

Target flags

msgFlashErase_sector_num :: Word32

Flash sector number to erase (0-11 for the STM, 0-15 for the M25)

data MsgStmFlashLockSector Source

SBP class for message MSG_STM_FLASH_LOCK_SECTOR (0x00E3).

The flash lock message locks a sector of the STM flash memory. The device replies with a MSG_FLASH_DONE message.

Constructors

MsgStmFlashLockSector 

Fields

msgStmFlashLockSector_sector :: Word32

Flash sector number to lock

data MsgStmFlashUnlockSector Source

SBP class for message MSG_STM_FLASH_UNLOCK_SECTOR (0x00E4).

The flash unlock message unlocks a sector of the STM flash memory. The device replies with a MSG_FLASH_DONE message.

Constructors

MsgStmFlashUnlockSector 

Fields

msgStmFlashUnlockSector_sector :: Word32

Flash sector number to unlock

data MsgStmUniqueIdReq Source

SBP class for message MSG_STM_UNIQUE_ID_REQ (0x00E8).

This message reads the device's hardcoded unique ID. The host requests the ID by sending a MSG_STM_UNIQUE_ID_REQ. The device responds with a MSG_STM_UNIQUE_ID_RESP with the 12-byte unique ID in the payload.

Constructors

MsgStmUniqueIdReq 

data MsgStmUniqueIdResp Source

SBP class for message MSG_STM_UNIQUE_ID_RESP (0x00E5).

This message reads the device's hardcoded unique ID. The host requests the ID by sending a MSG_STM_UNIQUE_ID_REQ. The device responds with a MSG_STM_UNIQUE_ID_RESP with the 12-byte unique ID in the payload..

Constructors

MsgStmUniqueIdResp 

Fields

msgStmUniqueIdResp_stm_id :: [Word8]

Device unique ID

data MsgM25FlashWriteStatus Source

SBP class for message MSG_M25_FLASH_WRITE_STATUS (0x00F3).

The flash status message writes to the 8-bit M25 flash status register. The device replies with a MSG_FLASH_DONE message.

Constructors

MsgM25FlashWriteStatus 

Fields

msgM25FlashWriteStatus_status :: [Word8]

Byte to write to the M25 flash status register