144 #ifdef OAD_BLE_SECURITY 145 #define OAD_WRITE_PERMIT GATT_PERMIT_AUTHEN_WRITE 147 #define OAD_WRITE_PERMIT GATT_PERMIT_WRITE 148 #endif //OAD_SECURITY 153 #define OAD_IMG_ID_RETRIES 3 166 #define OAD_QUEUE_EVT Event_Id_01 173 #define OAD_DL_COMPLETE_EVT Event_Id_02 179 #define OAD_OUT_OF_MEM_EVT Event_Id_03 186 #define OAD_RESET_DEV_EVT Event_Id_04 202 #define OAD_SERVICE_UUID 0xFFC0 207 #define OAD_IMG_IDENTIFY_UUID 0xFFC1 212 #define OAD_IMG_BLOCK_UUID 0xFFC2 218 #define OAD_IMG_COUNT_UUID 0xFFC3 225 #define OAD_IMG_STATUS_UUID 0xFFC4 230 #define OAD_EXT_CTRL_UUID 0xFFC5 242 #define OAD_IDX_IMG_IDENTIFY 0 247 #define OAD_IDX_IMG_BLOCK 1 252 #define OAD_IDX_EXT_CTRL 2 260 #define OAD_ATT_OVERHEAD 3 265 #define OAD_BLK_NUM_HDR_SZ 4 272 #define OAD_DEFAULT_BLOCK_SIZE 20 279 #define OAD_MAX_BLOCK_SIZE 244 284 #define OAD_IMAGE_ID_RSP_LEN 0x01 296 #define OAD_EXT_CTRL_GET_BLK_SZ 0x01 303 #define OAD_EXT_CTRL_IMG_CNT 0x02 310 #define OAD_EXT_CTRL_START_OAD 0x03 317 #define OAD_EXT_CTRL_ENABLE_IMG 0x04 323 #define OAD_EXT_CTRL_CANCEL_OAD 0x05 329 #define OAD_EXT_CTRL_DISABLE_BLK_NOTIF 0x06 335 #define OAD_EXT_CTRL_GET_SW_VER 0x07 341 #define OAD_EXT_CTRL_GET_IMG_STAT 0x08 347 #define OAD_EXT_CTRL_GET_PROF_VER 0x09 353 #define OAD_EXT_CTRL_GET_DEV_TYPE 0x10 360 #define OAD_EXT_CTRL_GET_IMG_INFO 0x11 366 #define OAD_EXT_CTRL_BLK_RSP_NOTIF 0x12 372 #define OAD_EXT_CTRL_ERASE_BONDS 0x13 381 #define OAD_EXT_CTRL_CMD_NOT_SUPPORTED 0xFF 389 #define OAD_IMG_INFO_ONCHIP 0x01 397 #define OAD_DEFAULT_INACTIVITY_TIME 10000 403 #define OAD_MIN_INACTIVITY_TIME 4000 408 #define OAD_CHAR_CNT 3 413 #define OAD_CCCD_CNT OAD_CHAR_CNT 420 #define OAD_SUCCESS 0 421 #define OAD_CRC_ERR 1 422 #define OAD_FLASH_ERR 2 423 #define OAD_BUFFER_OFL 3 424 #define OAD_ALREADY_STARTED 4 425 #define OAD_NOT_STARTED 5 426 #define OAD_DL_NOT_COMPLETE 6 427 #define OAD_NO_RESOURCES 7 428 #define OAD_IMAGE_TOO_BIG 8 429 #define OAD_INCOMPATIBLE_IMAGE 9 430 #define OAD_INVALID_FILE 10 431 #define OAD_INCOMPATIBLE_FILE 11 432 #define OAD_AUTH_FAIL 12 433 #define OAD_EXT_NOT_SUPPORTED 13 434 #define OAD_DL_COMPLETE 14 435 #define OAD_CCCD_NOT_ENABLED 15 436 #define OAD_IMG_ID_TIMEOUT 16 440 #define BIM_START 0x1F000 447 #define OAD_IMG_PG_INVALID 0xFF 450 #define OAD_SEC_ECDSA_P256 0x01 451 #define OAD_SEC_AES_128_CBC 0x02 458 #define OAD_EFL_MAX_META 4 467 #define EXT_CTRL_OP_CODE(pData)(pData[0]) 476 PACKED_TYPEDEF_STRUCT
492 PACKED_TYPEDEF_STRUCT
503 PACKED_TYPEDEF_STRUCT
511 PACKED_TYPEDEF_STRUCT
513 uint8_t signerInfo[8];
514 uint8_t signature[64];
515 }signPld_ECDSA_P256_t;
517 PACKED_TYPEDEF_STRUCT
519 uint8_t securityVersion;
558 PACKED_TYPEDEF_STRUCT
567 PACKED_TYPEDEF_STRUCT
576 PACKED_TYPEDEF_STRUCT
585 PACKED_TYPEDEF_STRUCT
597 PACKED_TYPEDEF_STRUCT
609 PACKED_TYPEDEF_STRUCT
624 PACKED_TYPEDEF_STRUCT
674 extern uint8_t
OAD_open(uint32_t oadTimeout);
uint8_t imgCpStat
Image copy status bytes.
Definition: oad.h:481
uint8_t oadCreateFactoryImageBackup(void)
uint8_t crcStat
Image CRC status flag.
Definition: oad.h:506
uint8_t cmdID
External control op-code.
Definition: oad.h:494
External Control Command received.
Definition: oad.h:531
uint8_t imgCpStat
Image copy flag.
Definition: oad.h:505
uint8_t imgType
Image Type.
Definition: oad.h:615
OAD peer timed out.
Definition: oad.h:532
uint8_t imgCpStat
Image copy status.
Definition: oad.h:613
uint32_t requestedBlk
Requested block number.
Definition: oad.h:496
uint8_t profVer
OAD profile version.
Definition: oad.h:570
uint8_t hardwareRev
Hardware revision Field from ChipInfo module.
Definition: oad.h:602
uint8_t cmdID
Ext Ctrl Op-code.
Definition: oad.h:569
uint8_t crcStat
CRC status.
Definition: oad.h:482
uint8_t bimVer
BIM version.
Definition: oad.h:479
uint8_t imgNo
Image number flag.
Definition: oad.h:508
uint8_t imgType
Image Type.
Definition: oad.h:483
uint16_t OAD_getBlockSize(void)
bool OAD_getSWVersion(uint8_t *swVer, uint8_t len)
uint8_t imgType
Image type flag.
Definition: oad.h:507
uint8_t OAD_processQueue(void)
uint8_t OAD_open(uint32_t oadTimeout)
uint8_t imgNo
Image Number.
Definition: oad.h:628
uint8_t chipType
Chip Type Field from ChipInfo module.
Definition: oad.h:600
Image block request/response event.
Definition: oad.h:529
uint32_t len
Image length in octets.
Definition: oad.h:485
uint16_t techType
Wireless technology type.
Definition: oad.h:629
oadState_e
Definition: oad.h:539
uint8_t imgType
Image Type.
Definition: oad.h:627
uint8_t prevBlkStat
Status of previous block write.
Definition: oad.h:495
OAD module is configuring for a download.
Definition: oad.h:543
void OAD_register(oadTargetCBs_t *pfnOadCBs)
uint8_t OAD_setBlockSize(uint16_t mtuSize)
OAD module is not performing any action.
Definition: oad.h:541
OAD module is validating an received image.
Definition: oad.h:545
uint8_t cmdID
Ext Ctrl Op-code.
Definition: oad.h:578
oadWriteCB_t pfnOadWrite
The peer has written to the OAD service.
Definition: oad.h:657
uint8_t rsvd
RFU.
Definition: oad.h:603
uint16_t oadBlkSz
OAD block size.
Definition: oad.h:579
uint8_t imgNo
Image number of 'image type'.
Definition: oad.h:484
uint8_t cmdID
Ext Ctrl Op-code.
Definition: oad.h:587
OAD module is receiving an image.
Definition: oad.h:544
OAD module is checking an image.
Definition: oad.h:542
uint8_t chipFamily
Chip Family Field from ChipInfo module.
Definition: oad.h:601
uint8_t cmdID
Ext Ctrl Op-code.
Definition: oad.h:560
#define OAD_SW_VER_LEN
Definition: oad_image_header.h:515
uint8_t crcStat
Image CRC status.
Definition: oad.h:614
uint16_t OAD_getactiveCxnHandle()
void(* oadWriteCB_t)(uint8_t event, uint16_t arg)
Definition: oad.h:650
bool OAD_isUsrAppValid(void)
uint8_t cmdID
Ext Ctrl Op-code.
Definition: oad.h:611
uint8_t status
Status of command.
Definition: oad.h:561
Image identify received.
Definition: oad.h:528
uint8_t metaVer
Metadata version.
Definition: oad.h:480
uint8_t cmdID
Ext Ctrl Op-code.
Definition: oad.h:626
oadEvent_e
Definition: oad.h:526
uint8_t numImages
Number of images.
Definition: oad.h:612
OAD complete.
Definition: oad.h:530
uint8_t imgNo
Image Number.
Definition: oad.h:616
OAD module has completed a download.
Definition: oad.h:546
uint8_t cmdID
Ext Ctrl Op-code.
Definition: oad.h:599