TI BLE-Stack for Bluetooth 4.2 API Documentation  3.02.03.00
Data Structures | Macros | Typedefs | Enumerations | Functions
oad.h File Reference

Detailed Description

This file contains OAD Profile header file.

Go to the source code of this file.

Data Structures

struct  blockReqPld_t
 
struct  blockSizeRspPld_t
 
struct  deviceTypeRspPld_t
 
struct  extImgEnableReq_t
 
struct  genericExtCtrlRsp_t
 
struct  imageInfo_t
 
struct  imageInfoRspPld_t
 
struct  imgIdentifyPld_t
 
struct  oadTargetCBs_t
 
struct  profileVerRsp_t
 
struct  swVersionPld_t
 

Macros

#define EXT_CTRL_OP_CODE(pData)   (pData[0])
 
#define OAD_ALREADY_STARTED   4
 OAD is already is progress.
 
#define OAD_ATT_OVERHEAD   3
 
#define OAD_AUTH_FAIL   12
 Authorization failed.
 
#define OAD_BLK_NUM_HDR_SZ   4
 
#define OAD_BUFFER_OFL   3
 Block Number doesn't match requested.
 
#define OAD_CCCD_CNT   OAD_CHAR_CNT
 
#define OAD_CCCD_NOT_ENABLED   15
 CCCD is not enabled, notif can't be sent.
 
#define OAD_CHAR_CNT   3
 
#define OAD_CRC_ERR   1
 Downloaded image CRC doesn't match.
 
#define OAD_DEFAULT_BLOCK_SIZE   20
 
#define OAD_DEFAULT_INACTIVITY_TIME   10000
 
#define OAD_DL_COMPLETE   14
 OAD image payload download complete.
 
#define OAD_DL_COMPLETE_EVT   Event_Id_02
 
#define OAD_DL_NOT_COMPLETE   6
 An OAD is ongoing.
 
#define OAD_EFL_MAX_META   4
 
#define OAD_EXT_CTRL_BLK_RSP_NOTIF   0x12
 
#define OAD_EXT_CTRL_CANCEL_OAD   0x05
 
#define OAD_EXT_CTRL_CMD_NOT_SUPPORTED   0xFF
 
#define OAD_EXT_CTRL_DISABLE_BLK_NOTIF   0x06
 
#define OAD_EXT_CTRL_ENABLE_IMG   0x04
 
#define OAD_EXT_CTRL_ERASE_BONDS   0x13
 
#define OAD_EXT_CTRL_GET_BLK_SZ   0x01
 
#define OAD_EXT_CTRL_GET_DEV_TYPE   0x10
 
#define OAD_EXT_CTRL_GET_IMG_INFO   0x11
 
#define OAD_EXT_CTRL_GET_IMG_STAT   0x08
 
#define OAD_EXT_CTRL_GET_PROF_VER   0x09
 
#define OAD_EXT_CTRL_GET_SW_VER   0x07
 
#define OAD_EXT_CTRL_IMG_CNT   0x02
 
#define OAD_EXT_CTRL_START_OAD   0x03
 
#define OAD_EXT_CTRL_UUID   0xFFC5
 
#define OAD_EXT_NOT_SUPPORTED   13
 Ctrl point command not supported.
 
#define OAD_FLASH_ERR   2
 Flash function failure (int, ext)
 
#define OAD_IDX_EXT_CTRL   2
 
#define OAD_IDX_IMG_BLOCK   1
 
#define OAD_IDX_IMG_IDENTIFY   0
 
#define OAD_IMAGE_ID_RSP_LEN   0x01
 
#define OAD_IMAGE_TOO_BIG   8
 Candidate image is too big.
 
#define OAD_IMG_BLOCK_UUID   0xFFC2
 
#define OAD_IMG_COUNT_UUID   0xFFC3
 
#define OAD_IMG_ID_RETRIES   3
 
#define OAD_IMG_ID_TIMEOUT   16
 Image identify timed out, too many failures.
 
#define OAD_IMG_IDENTIFY_UUID   0xFFC1
 
#define OAD_IMG_INFO_ONCHIP   0x01
 
#define OAD_IMG_PG_INVALID   0xFF
 OAD Security Type - ECDSA-P256. More...
 
#define OAD_IMG_STATUS_UUID   0xFFC4
 
#define OAD_INCOMPATIBLE_FILE   11
 BIM or FW mismatch.
 
#define OAD_INCOMPATIBLE_IMAGE   9
 Image signing failure, boundary mismatch.
 
#define OAD_INVALID_FILE   10
 If Invalid image ID received.
 
#define OAD_MAX_BLOCK_SIZE   244
 
#define OAD_MIN_INACTIVITY_TIME   4000
 
#define OAD_NO_RESOURCES   7
 If memory allocation fails.
 
#define OAD_NOT_STARTED   5
 OAD has not yet started.
 
#define OAD_OUT_OF_MEM_EVT   Event_Id_03
 
#define OAD_QUEUE_EVT   Event_Id_01
 
#define OAD_RESET_DEV_EVT   Event_Id_04
 
#define OAD_SEC_AES_128_CBC   0x02
 
#define OAD_SEC_ECDSA_P256   0x01
 OAD Security Type - AES-128-CBC.
 
#define OAD_SERVICE_UUID   0xFFC0
 
#define OAD_SUCCESS   0
 OAD succeeded.
 
#define OAD_WRITE_PERMIT   GATT_PERMIT_WRITE
 

Typedefs

typedef void(* oadWriteCB_t) (uint8_t event, uint16_t arg)
 

Enumerations

enum  oadEvent_e {
  OAD_WRITE_IDENTIFY_REQ, OAD_WRITE_BLOCK_REQ, OAD_IMAGE_COMPLETE, OAD_EXT_CTRL_WRITE_CMD,
  OAD_TIMEOUT
}
 
enum  oadState_e {
  OAD_IDLE, OAD_VALIDATE_IMG, OAD_CONFIG, OAD_DOWNLOAD,
  OAD_CHECK_DL, OAD_COMPLETE
}
 

Functions

void OAD_cancel (void)
 
void OAD_close (void)
 
uint16_t OAD_getactiveCxnHandle ()
 
uint16_t OAD_getBlockSize (void)
 
bool OAD_getSWVersion (uint8_t *swVer, uint8_t len)
 
bool OAD_isUsrAppValid (void)
 
uint8_t OAD_open (uint32_t oadTimeout)
 
uint8_t OAD_processQueue (void)
 
void OAD_register (oadTargetCBs_t *pfnOadCBs)
 
uint8_t OAD_setBlockSize (uint16_t mtuSize)
 
uint8_t oadCreateFactoryImageBackup (void)
 
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale