Bluetooth Low Energy based Firmware Over The Air with Mbed. Mbed part is a external processor of the IoT devices and communicate with a Bluetooth module. The Bluetooth module have to support BLE and implement BLE FOTA profile designed by ours. BLE FOTA profile specification is available from our GIT hub wiki(https://github.com/sevencore/BLEFOTA).

Dependencies:   mbed

Fork of mbed_fota by KIM HyoengJun

Bluetooth Low Energy based Firmware Over The Air with Mbed. Mbed part is a external processor of the IoT devices and communicate with a Bluetooth module. The Bluetooth module have to support BLE and implement BLE FOTA profile designed by ours. BLE FOTA profile specification is available from our GIT hub wiki.

Committer:
dudnwjs
Date:
Mon Aug 24 02:29:16 2015 +0000
Revision:
9:fcf91f563147
Parent:
6:8dd20294b2aa
Child:
10:18044afe4364
Add comment for form doxygen;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dudnwjs 5:e11b23f9aacc 1 #ifndef FOTA_SERVER_TASK_H
dudnwjs 5:e11b23f9aacc 2 #define FOTA_SERVER_TASK_H
dudnwjs 5:e11b23f9aacc 3
dudnwjs 9:fcf91f563147 4 /**
dudnwjs 9:fcf91f563147 5 ****************************************************************************************
dudnwjs 9:fcf91f563147 6 * @addtogroup dialog_fota module
dudnwjs 9:fcf91f563147 7 * @brief Fota Server Task Header.
dudnwjs 9:fcf91f563147 8 *
dudnwjs 9:fcf91f563147 9 * @{
dudnwjs 9:fcf91f563147 10 ****************************************************************************************
dudnwjs 9:fcf91f563147 11 */
dudnwjs 5:e11b23f9aacc 12 namespace sevencore_fota{
dudnwjs 5:e11b23f9aacc 13
dudnwjs 5:e11b23f9aacc 14 #define APP_FOTA_SERVER_FIRMWARE_VERSION ("01-00-00")
dudnwjs 5:e11b23f9aacc 15 #define APP_FOTA_SERVER_FIRMWARE_VERSION_LEN (8)
dudnwjs 5:e11b23f9aacc 16 #define APP_FOTA_SERVER_FIRMWARE_NEW_VERSION ("00-00-00")
dudnwjs 5:e11b23f9aacc 17 #define APP_FOTA_SERVER_FIRMWARE_NEW_VERSION_LEN (8)
dudnwjs 5:e11b23f9aacc 18
dudnwjs 9:fcf91f563147 19 ///Attribue Table Indexes
dudnwjs 5:e11b23f9aacc 20 enum
dudnwjs 5:e11b23f9aacc 21 {
dudnwjs 5:e11b23f9aacc 22 FOTA_SERVER_FIRMWARE_VERSION_CHAR,
dudnwjs 5:e11b23f9aacc 23 FOTA_SERVER_FIRMWARE_NEW_VERSION_CHAR,
dudnwjs 5:e11b23f9aacc 24 FOTA_SERVER_FIRMWARE_DATA_CHAR,
dudnwjs 5:e11b23f9aacc 25 FOTA_SERVER_SEQUENCE_NUMBER_CHAR,
dudnwjs 5:e11b23f9aacc 26 FOTA_SERVER_CHECKSUM_DATA_CHAR,
dudnwjs 5:e11b23f9aacc 27 FOTA_SERVER_FIRMWARE_DATA_CHECK_CHAR,
dudnwjs 5:e11b23f9aacc 28 FOTA_SERVER_FIRMWARE_UPGRADE_TYPE_CHAR,
dudnwjs 5:e11b23f9aacc 29 FOTA_SERVER_FIRMWARE_STATUS_CHAR,
dudnwjs 5:e11b23f9aacc 30 FOTA_SERVER_RESET_CHAR,
dudnwjs 5:e11b23f9aacc 31
dudnwjs 5:e11b23f9aacc 32 FOTA_SERVER_CHAR_MAX,
dudnwjs 5:e11b23f9aacc 33 };
dudnwjs 5:e11b23f9aacc 34
dudnwjs 5:e11b23f9aacc 35 /// Messages for Fota Server
dudnwjs 5:e11b23f9aacc 36 enum
dudnwjs 5:e11b23f9aacc 37 {
dudnwjs 5:e11b23f9aacc 38 /// Start fota_server. Device connection
dudnwjs 5:e11b23f9aacc 39 FOTA_SERVER_ENABLE_REQ = 55296,
dudnwjs 5:e11b23f9aacc 40 ///Create DataBase
dudnwjs 5:e11b23f9aacc 41 FOTA_SERVER_CREATE_DB_REQ,
dudnwjs 5:e11b23f9aacc 42 ///Inform APP of database creation status
dudnwjs 5:e11b23f9aacc 43 FOTA_SERVER_CREATE_DB_CFM,
dudnwjs 5:e11b23f9aacc 44 /// Disable confirm.
dudnwjs 5:e11b23f9aacc 45 FOTA_SERVER_DISABLE_IND,
dudnwjs 5:e11b23f9aacc 46 //Set Request of The Attribute Value of Fota Service Characteristics
dudnwjs 5:e11b23f9aacc 47 FOTA_SERVER_SET_CHAR_VAL_REQ,
dudnwjs 5:e11b23f9aacc 48 /// Error Indication
dudnwjs 5:e11b23f9aacc 49 FOTA_SERVER_ERROR_IND,
dudnwjs 5:e11b23f9aacc 50 };
dudnwjs 5:e11b23f9aacc 51 /// include service entry element
dudnwjs 5:e11b23f9aacc 52 struct att_incl_desc
dudnwjs 5:e11b23f9aacc 53 {
dudnwjs 5:e11b23f9aacc 54 /// start handle value of included service
dudnwjs 5:e11b23f9aacc 55 unsigned short start_hdl;
dudnwjs 5:e11b23f9aacc 56 /// end handle value of included service
dudnwjs 5:e11b23f9aacc 57 unsigned short end_hdl;
dudnwjs 5:e11b23f9aacc 58 /// attribute value UUID
dudnwjs 5:e11b23f9aacc 59 unsigned short uuid;
dudnwjs 5:e11b23f9aacc 60 };
dudnwjs 5:e11b23f9aacc 61
dudnwjs 5:e11b23f9aacc 62 /// Parameters of the @ref FOTA_SERVER_CREATE_DB_REQ message
dudnwjs 5:e11b23f9aacc 63 struct fota_server_create_db_req
dudnwjs 5:e11b23f9aacc 64 {
dudnwjs 5:e11b23f9aacc 65 /// Indicate if TXPS is supported or not
dudnwjs 5:e11b23f9aacc 66 uint16_t features;
dudnwjs 5:e11b23f9aacc 67 /// Include Service Info
dudnwjs 5:e11b23f9aacc 68 struct att_incl_desc ext_diss_ref;
dudnwjs 5:e11b23f9aacc 69
dudnwjs 5:e11b23f9aacc 70 };
dudnwjs 5:e11b23f9aacc 71
dudnwjs 5:e11b23f9aacc 72 /// Parameters of the @ref FOTA_SERVER_CREATE_DB_CFM message
dudnwjs 5:e11b23f9aacc 73 struct fota_server_create_db_cfm
dudnwjs 5:e11b23f9aacc 74 {
dudnwjs 5:e11b23f9aacc 75 /// Status
dudnwjs 5:e11b23f9aacc 76 uint8_t status;
dudnwjs 5:e11b23f9aacc 77 };
dudnwjs 5:e11b23f9aacc 78
dudnwjs 5:e11b23f9aacc 79 /// Parameters of the @ref FOTA_SERVER_SET_CHAR_VAL_REQ message - shall be dynamically allocated
dudnwjs 5:e11b23f9aacc 80 struct fota_server_set_char_val_req
dudnwjs 5:e11b23f9aacc 81 {
dudnwjs 5:e11b23f9aacc 82 /// Characteristic Code
dudnwjs 5:e11b23f9aacc 83 uint8_t char_code;
dudnwjs 5:e11b23f9aacc 84 /// Value length
dudnwjs 5:e11b23f9aacc 85 uint8_t val_len;
dudnwjs 5:e11b23f9aacc 86 /// Value
dudnwjs 5:e11b23f9aacc 87 uint8_t val[18];
dudnwjs 5:e11b23f9aacc 88 };
dudnwjs 5:e11b23f9aacc 89
dudnwjs 5:e11b23f9aacc 90 /// Parameters of the @ref FOTA_SERVER_ENABLE_REQ message
dudnwjs 5:e11b23f9aacc 91 struct fota_server_enable_req
dudnwjs 5:e11b23f9aacc 92 {
dudnwjs 5:e11b23f9aacc 93 /// Connection Handle
dudnwjs 5:e11b23f9aacc 94 uint16_t conhdl;
dudnwjs 5:e11b23f9aacc 95 /// Security level
dudnwjs 5:e11b23f9aacc 96 uint8_t sec_lvl;
dudnwjs 5:e11b23f9aacc 97 };
dudnwjs 6:8dd20294b2aa 98
dudnwjs 6:8dd20294b2aa 99 /// Parameters of the @ref FOTA_SERVER_DATA_FLASH_IND message - shall be dynamically allocated
dudnwjs 6:8dd20294b2aa 100 struct fota_server_data_flash_ind
dudnwjs 6:8dd20294b2aa 101 {
dudnwjs 6:8dd20294b2aa 102 // Firmware code size
dudnwjs 6:8dd20294b2aa 103 uint16_t code_size;
dudnwjs 6:8dd20294b2aa 104 // Firmware Version
dudnwjs 6:8dd20294b2aa 105 uint8_t version[8];
dudnwjs 6:8dd20294b2aa 106 };
dudnwjs 6:8dd20294b2aa 107
dudnwjs 5:e11b23f9aacc 108
dudnwjs 5:e11b23f9aacc 109
dudnwjs 5:e11b23f9aacc 110 }//namespace
dudnwjs 9:fcf91f563147 111
dudnwjs 9:fcf91f563147 112 /// @} dialog_fota module
dudnwjs 5:e11b23f9aacc 113 #endif//FOTA_SERVER_TASK_H