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 Jul 13 06:32:05 2015 +0000
Revision:
5:e11b23f9aacc
Parent:
4:60be78a172c2
Child:
9:fcf91f563147
Fota Service Add complete

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dudnwjs 4:60be78a172c2 1 #ifndef DISS_TASK_H
dudnwjs 4:60be78a172c2 2 #define DISS_TASK_H
dudnwjs 4:60be78a172c2 3
dudnwjs 4:60be78a172c2 4
dudnwjs 4:60be78a172c2 5
dudnwjs 4:60be78a172c2 6 namespace sevencore_fota{
dudnwjs 4:60be78a172c2 7
dudnwjs 5:e11b23f9aacc 8 #define STR_MAX_LEN (18)
dudnwjs 5:e11b23f9aacc 9
dudnwjs 4:60be78a172c2 10
dudnwjs 4:60be78a172c2 11 ///Attribute Table Indexes
dudnwjs 4:60be78a172c2 12 enum
dudnwjs 4:60be78a172c2 13 {
dudnwjs 4:60be78a172c2 14 DIS_MANUFACTURER_NAME_CHAR,
dudnwjs 4:60be78a172c2 15 DIS_MODEL_NB_STR_CHAR,
dudnwjs 4:60be78a172c2 16 DIS_SERIAL_NB_STR_CHAR,
dudnwjs 4:60be78a172c2 17 DIS_HARD_REV_STR_CHAR,
dudnwjs 4:60be78a172c2 18 DIS_FIRM_REV_STR_CHAR,
dudnwjs 4:60be78a172c2 19 DIS_SW_REV_STR_CHAR,
dudnwjs 4:60be78a172c2 20 DIS_SYSTEM_ID_CHAR,
dudnwjs 4:60be78a172c2 21 DIS_IEEE_CHAR,
dudnwjs 4:60be78a172c2 22 DIS_PNP_ID_CHAR,
dudnwjs 4:60be78a172c2 23
dudnwjs 4:60be78a172c2 24 DIS_CHAR_MAX,
dudnwjs 4:60be78a172c2 25 };
dudnwjs 4:60be78a172c2 26
dudnwjs 4:60be78a172c2 27
dudnwjs 4:60be78a172c2 28 /// Messages for Device Information Service Server
dudnwjs 4:60be78a172c2 29 enum
dudnwjs 4:60be78a172c2 30 {
dudnwjs 4:60be78a172c2 31 ///Add a DIS instance into the database
dudnwjs 4:60be78a172c2 32 DISS_CREATE_DB_REQ = 28672,
dudnwjs 4:60be78a172c2 33 ///Inform APP of database creation status
dudnwjs 4:60be78a172c2 34 DISS_CREATE_DB_CFM,
dudnwjs 4:60be78a172c2 35 ///Set the value of an attribute
dudnwjs 4:60be78a172c2 36 DISS_SET_CHAR_VAL_REQ,
dudnwjs 4:60be78a172c2 37
dudnwjs 4:60be78a172c2 38 ///Start the Device Information Service Task - at connection
dudnwjs 4:60be78a172c2 39 DISS_ENABLE_REQ,
dudnwjs 4:60be78a172c2 40
dudnwjs 4:60be78a172c2 41 /// Inform the application that the profile service role task has been disabled after a disconnection
dudnwjs 4:60be78a172c2 42 DISS_DISABLE_IND,
dudnwjs 4:60be78a172c2 43
dudnwjs 4:60be78a172c2 44 ///Error indication to Host
dudnwjs 4:60be78a172c2 45 DISS_ERROR_IND,
dudnwjs 4:60be78a172c2 46 };
dudnwjs 4:60be78a172c2 47
dudnwjs 4:60be78a172c2 48 ///Database Configuration Flags
dudnwjs 4:60be78a172c2 49 enum
dudnwjs 4:60be78a172c2 50 {
dudnwjs 4:60be78a172c2 51 ///Indicate if Manufacturer Name String Char. is supported
dudnwjs 4:60be78a172c2 52 DIS_MANUFACTURER_NAME_CHAR_SUP = 0x0001,
dudnwjs 4:60be78a172c2 53 ///Indicate if Model Number String Char. is supported
dudnwjs 4:60be78a172c2 54 DIS_MODEL_NB_STR_CHAR_SUP = 0x0002,
dudnwjs 4:60be78a172c2 55 ///Indicate if Serial Number String Char. is supported
dudnwjs 4:60be78a172c2 56 DIS_SERIAL_NB_STR_CHAR_SUP = 0x0004,
dudnwjs 4:60be78a172c2 57 ///Indicate if Hardware Revision String Char. supports indications
dudnwjs 4:60be78a172c2 58 DIS_HARD_REV_STR_CHAR_SUP = 0x0008,
dudnwjs 4:60be78a172c2 59 ///Indicate if Firmware Revision String Char. is writable
dudnwjs 4:60be78a172c2 60 DIS_FIRM_REV_STR_CHAR_SUP = 0x0010,
dudnwjs 4:60be78a172c2 61 ///Indicate if Software Revision String Char. is writable
dudnwjs 4:60be78a172c2 62 DIS_SW_REV_STR_CHAR_SUP = 0x0020,
dudnwjs 4:60be78a172c2 63 ///Indicate if System ID Char. is writable
dudnwjs 4:60be78a172c2 64 DIS_SYSTEM_ID_CHAR_SUP = 0x0040,
dudnwjs 4:60be78a172c2 65 ///Indicate if IEEE Char. is writable
dudnwjs 4:60be78a172c2 66 DIS_IEEE_CHAR_SUP = 0x0080,
dudnwjs 4:60be78a172c2 67 ///Indicate if PnP ID Char. is writable
dudnwjs 4:60be78a172c2 68 DIS_PNP_ID_CHAR_SUP = 0x0100,
dudnwjs 4:60be78a172c2 69
dudnwjs 4:60be78a172c2 70 ///All features are supported
dudnwjs 4:60be78a172c2 71 DIS_ALL_FEAT_SUP = 0x01FF,
dudnwjs 4:60be78a172c2 72 };
dudnwjs 4:60be78a172c2 73
dudnwjs 4:60be78a172c2 74 /// Parameters of the @ref DISS_CREATE_DB_CFM message
dudnwjs 4:60be78a172c2 75 struct diss_create_db_cfm
dudnwjs 4:60be78a172c2 76 {
dudnwjs 4:60be78a172c2 77 ///Status
dudnwjs 4:60be78a172c2 78 uint8_t status;
dudnwjs 4:60be78a172c2 79 };
dudnwjs 4:60be78a172c2 80
dudnwjs 4:60be78a172c2 81 /// Parameters of the @ref DISS_SET_CHAR_VAL_REQ message - shall be dynamically allocated
dudnwjs 4:60be78a172c2 82 struct diss_set_char_val_req
dudnwjs 4:60be78a172c2 83 {
dudnwjs 4:60be78a172c2 84 /// Characteristic Code
dudnwjs 4:60be78a172c2 85 uint8_t char_code;
dudnwjs 4:60be78a172c2 86 /// Value length
dudnwjs 4:60be78a172c2 87 uint8_t val_len;
dudnwjs 4:60be78a172c2 88 /// Value
dudnwjs 5:e11b23f9aacc 89 uint8_t val[STR_MAX_LEN];
dudnwjs 4:60be78a172c2 90 };
dudnwjs 4:60be78a172c2 91
dudnwjs 4:60be78a172c2 92 /// Parameters of the @ref DISS_CREATE_DB_REQ message
dudnwjs 4:60be78a172c2 93 struct diss_create_db_req
dudnwjs 4:60be78a172c2 94 {
dudnwjs 4:60be78a172c2 95 ///Database configuration
dudnwjs 4:60be78a172c2 96 uint16_t features;
dudnwjs 4:60be78a172c2 97 };
dudnwjs 4:60be78a172c2 98
dudnwjs 5:e11b23f9aacc 99 /// Parameters of the @ref DISS_ENABLE_REQ message
dudnwjs 5:e11b23f9aacc 100 struct diss_enable_req
dudnwjs 5:e11b23f9aacc 101 {
dudnwjs 5:e11b23f9aacc 102 ///Connection handle
dudnwjs 5:e11b23f9aacc 103 uint16_t conhdl;
dudnwjs 5:e11b23f9aacc 104 /// security level: b0= nothing, b1=unauthenticated, b2=authenticated, b3=authorized; b1 or b2 and b3 can go together
dudnwjs 5:e11b23f9aacc 105 uint8_t sec_lvl;
dudnwjs 5:e11b23f9aacc 106 ///Type of connection
dudnwjs 5:e11b23f9aacc 107 uint8_t con_type;
dudnwjs 5:e11b23f9aacc 108 };
dudnwjs 5:e11b23f9aacc 109
dudnwjs 4:60be78a172c2 110 }//namespace
dudnwjs 4:60be78a172c2 111
dudnwjs 4:60be78a172c2 112 #endif//DISS_TASK_H