#ifndef _BEACON_H #define _BEACON_H #define BEACON_SLEEP_ADV 2000 //2.0s between uptime #define BEACON_ADV_DURATION 500 //500ms #define BEACON_UUID "7c8a68a6-ddd0-11e9-8a34-2a2ae2dbcce4" #define BEACON_SERVICE_UUID "feaa" #ifndef ARDUINO_ESP32C3_DEV #define BEACON_NAME "Eddy" #else #define BEACON_NAME "TrackerPA" #endif enum EN_BEACON_TYPE { EN_BEACON_TYPE_entry = 0x01, EN_BEACON_TYPE_exit = 0x02, EN_BEACON_TYPE_hazard = 0x03, EN_BEACON_TYPE_safe = 0x04, EN_BEACON_TYPE_other = 0x05, EN_BEACON_TYPE_num = 5 }; uint8_t beacon_type = EN_BEACON_TYPE_safe; uint8_t beacon_changed = false; String beaconTypeStr = ""; // Fake Complete Instance uint8_t advert_instance[7] = {0x54, 0x43, 0x4c, 0x03, 0x00, 0x00, 0x0a}; // Fake Complete Namespace uint8_t beacon_namespace[10] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99}; // Fake Partial Instance // 0x54434cXXYYYY // XX : Beacon Type // YY : Beacon Number #define NEWPAYLOAD uint8_t beacon_inst[3] = { 0x54, 0x43, 0x4c };//Instance ID on 3 bytes uint8_t beacon_num[2] = { 0x00, 0x0b };//11th beacon //#define ADVERT_SZ 22 //char advertising_data[ADVERT_SZ]={ 0x15, 0x16, 0xAA, 0xFE, 0x00, 0xE8, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x54, 0x43, 0x4C, 0x04, 0x00, 0x0b }; //#define AD_IDX_NAMESPACE 6 //#define AD_IDX_INSTANCE 16 //#define AD_IDX_TYPE 19 //#define AD_IDX_NUM 20 #define ADVERT_SZ 18 char advertising_data[ADVERT_SZ]={ 0x00, 0xE8, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x54, 0x43, 0x4C, 0x04, 0x00, 0x0b }; #define AD_IDX_NAMESPACE 2 #define AD_IDX_INSTANCE_ALL 9 #define AD_IDX_INSTANCE 12 #ifndef NEWPAYLOAD #define AD_IDX_TYPE 15 #else #define AD_IDX_TYPE 14 #endif //NEWPAYLOAD #define AD_IDX_NUM 16 #define AD_SHIFT 3 #endif //_BEACON_H