1 contributor
#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