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
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.
dialog_fota/app.h@4:60be78a172c2, 2015-06-24 (annotated)
- Committer:
- dudnwjs
- Date:
- Wed Jun 24 08:50:07 2015 +0000
- Revision:
- 4:60be78a172c2
- Parent:
- 3:1e70387e1337
- Child:
- 5:e11b23f9aacc
Add advertising feature;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dudnwjs | 3:1e70387e1337 | 1 | #ifndef APP_H |
dudnwjs | 3:1e70387e1337 | 2 | #define APP_H |
dudnwjs | 3:1e70387e1337 | 3 | |
dudnwjs | 3:1e70387e1337 | 4 | #include "BleMsgHandler.h" |
dudnwjs | 4:60be78a172c2 | 5 | #include "app_sw_version.h" |
dudnwjs | 4:60be78a172c2 | 6 | #include "diss_task.h" |
dudnwjs | 4:60be78a172c2 | 7 | #include "dialog_fota_config.h" |
dudnwjs | 3:1e70387e1337 | 8 | |
dudnwjs | 3:1e70387e1337 | 9 | namespace sevencore_fota{ |
dudnwjs | 3:1e70387e1337 | 10 | |
dudnwjs | 4:60be78a172c2 | 11 | /* |
dudnwjs | 4:60be78a172c2 | 12 | * DISS DEFINITIONS |
dudnwjs | 4:60be78a172c2 | 13 | **************************************************************************************** |
dudnwjs | 4:60be78a172c2 | 14 | */ |
dudnwjs | 4:60be78a172c2 | 15 | /// Manufacturer Name (up to 18 chars) |
dudnwjs | 4:60be78a172c2 | 16 | #define APP_DIS_MANUFACTURER_NAME ("Dialog Semi") |
dudnwjs | 4:60be78a172c2 | 17 | #define APP_DIS_MANUFACTURER_NAME_LEN (11) |
dudnwjs | 4:60be78a172c2 | 18 | /// Model Number String (up to 18 chars) |
dudnwjs | 4:60be78a172c2 | 19 | #define APP_DIS_MODEL_NB_STR ("DA14580") |
dudnwjs | 4:60be78a172c2 | 20 | #define APP_DIS_MODEL_NB_STR_LEN (7) |
dudnwjs | 4:60be78a172c2 | 21 | /// System ID - LSB -> MSB (FIXME) |
dudnwjs | 4:60be78a172c2 | 22 | #define APP_DIS_SYSTEM_ID ("\x12\x34\x56\xFF\xFE\x9A\xBC\xDE") |
dudnwjs | 4:60be78a172c2 | 23 | #define APP_DIS_SYSTEM_ID_LEN (8) |
dudnwjs | 4:60be78a172c2 | 24 | |
dudnwjs | 4:60be78a172c2 | 25 | #define APP_DIS_SW_REV DA14583_REFDES_SW_VERSION |
dudnwjs | 4:60be78a172c2 | 26 | #define APP_DIS_FIRM_REV DA14583_SW_VERSION |
dudnwjs | 4:60be78a172c2 | 27 | #define APP_DIS_FEATURES (DIS_MANUFACTURER_NAME_CHAR_SUP | DIS_MODEL_NB_STR_CHAR_SUP | DIS_SYSTEM_ID_CHAR_SUP | DIS_SW_REV_STR_CHAR_SUP | DIS_FIRM_REV_STR_CHAR_SUP | DIS_PNP_ID_CHAR_SUP) |
dudnwjs | 4:60be78a172c2 | 28 | /// Advertising minimum interval |
dudnwjs | 4:60be78a172c2 | 29 | #define APP_ADV_INT_MIN 0x800 |
dudnwjs | 4:60be78a172c2 | 30 | /// Advertising maximum interval |
dudnwjs | 4:60be78a172c2 | 31 | #define APP_ADV_INT_MAX 0x800 |
dudnwjs | 4:60be78a172c2 | 32 | /// Advertising channel map |
dudnwjs | 4:60be78a172c2 | 33 | #define APP_ADV_CHMAP 0x07 |
dudnwjs | 4:60be78a172c2 | 34 | /// Advertising data maximal length |
dudnwjs | 4:60be78a172c2 | 35 | #define APP_ADV_DATA_MAX_SIZE (ADV_DATA_LEN - 3) |
dudnwjs | 4:60be78a172c2 | 36 | /// Scan Response data maximal length |
dudnwjs | 4:60be78a172c2 | 37 | #define APP_SCAN_RESP_DATA_MAX_SIZE (SCAN_RSP_DATA_LEN) |
dudnwjs | 4:60be78a172c2 | 38 | #define APP_DFLT_ADV_DATA "\x09\x03\x03\x18\x02\x18\x04\x18\xF5\xFE" |
dudnwjs | 4:60be78a172c2 | 39 | #define APP_DFLT_ADV_DATA_LEN (8+2) |
dudnwjs | 4:60be78a172c2 | 40 | #define APP_SCNRSP_DATA "\x09\xFF\x00\x60\x52\x57\x2D\x42\x4C\x45" |
dudnwjs | 4:60be78a172c2 | 41 | #define APP_SCNRSP_DATA_LENGTH (10) |
dudnwjs | 4:60be78a172c2 | 42 | #define APP_DFLT_DEVICE_NAME ("EXT_FOTA") |
dudnwjs | 4:60be78a172c2 | 43 | |
dudnwjs | 3:1e70387e1337 | 44 | |
dudnwjs | 3:1e70387e1337 | 45 | void app_rst_gap(BleMsgHandler *BMH); |
dudnwjs | 4:60be78a172c2 | 46 | void app_diss_db_create(BleMsgHandler* BMH); |
dudnwjs | 4:60be78a172c2 | 47 | void app_adv_start(BleMsgHandler* BMH); |
dudnwjs | 4:60be78a172c2 | 48 | void app_set_mode(BleMsgHandler* BMH); |
dudnwjs | 3:1e70387e1337 | 49 | |
dudnwjs | 3:1e70387e1337 | 50 | |
dudnwjs | 3:1e70387e1337 | 51 | |
dudnwjs | 3:1e70387e1337 | 52 | }//namespace |
dudnwjs | 3:1e70387e1337 | 53 | |
dudnwjs | 3:1e70387e1337 | 54 | #endif//APP_H |