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:
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?

UserRevisionLine numberNew 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