3.1.7.8.3 OTA Services Interface
List of options for OTA service:
OTA Service Enum
typedef enum { RNWF_OTA_ENABLE, /**<Connected to MQTT broker event */ RNWF_OTA_DISABLE, /**<Connected to MQTT broker event */ RNWF_OTA_REQUEST, /**<Connected to MQTT broker event */ RNWF_OTA_SET_CALLBACK, /**<Register OTA application callback*/ RNWF_OTA_SET_SRVC_CALLBACK, RNWF_OTA_AUTO_MODE, /**<OTA Auto mode, triggered reqularly*/ RNWF_OTA_DFU_INIT, /**<OTA Trigger, Actual programming start*/ RNWF_OTA_DFU_WRITE, /**<OTA Write, Writes the FW max 4096 bytes*/ RNWF_OTA_DFU_ERASE, /**<OTA Erase, Erases the given size*/ #ifdef RNWF11_SERVICE RNWF_OTA_DFU_RESET, /**<OTA Reset, Erases the given size*/ #endif }RNWF_OTA_SERVICE_t;
RNWF OTA Event Enum
OTA Service Event
list.
typedef enum { RNWF_EVENT_MAKE_UART, /**<Change to UART mode */ RNWF_EVENT_IMAGE_INFO, /**<Inform Image details */ RNWF_EVENT_FILE_CHUNK, /**<FW Downloaded file chunk */ RNWF_EVENT_DWLD_START, /**<FW Download complete */ RNWF_EVENT_DWLD_DONE, /**<FW Download complete */ RNWF_EVENT_DWLD_FAIL, /**<FW Download failed */ RNWF_EVENT_CONFIG_INFO, }RNWF_OTA_EVENT_t;
RNWF OTA Modes Enum
typedef enum { RNWF_OTA_MODE_HTTP, /**<FW file is from HTTP server */ RNWF_OTA_MODE_USB, /**<FW file is from Host USB */ RNWF_OTA_MODE_UART, /**<FW file is from Host UART*/ }RNWF_OTA_MODES_t;
OTA Chunk Header Struct
OTA Chunk
struct:
typedef struct { uint32_t chunk_addr; uint32_t chunk_size; uint8_t *chunk_ptr; }RNWF_OTA_CHUNK_t;
OTA Header
struct:
typedef struct { uint32_t seq_num; uint32_t fw_ver; uint32_t start_addr; uint32_t img_len; }RNWF_OTA_HDR_t;
OTA Configuration Parameters Enum
typedef enum { OTA_CFG_PARAM_PORT, OTA_CFG_PARAM_SERVER, OTA_CFG_PARAM_FILE, OTA_CFG_PARAM_TYPE, OTA_CFG_PARAM_MAX, }OTA_CFG_PARAM_t;
OTA Configuration Struct
typedef struct { RNWF_NET_SOCKET_t socket; /**<Socket handler for HTTP link*/ RNWF_OTA_MODES_t mode; /**<Active OTA mode */ RNWF_OTA_IMAGE_t type; /**<Image type */ const char *file; /**<Image File Name */ const char *certificate; }RNWF_OTA_CFG_t;