fakeBeacon / beacon.h /
Yanik Cawidrone Parameter tweak again
d7aa202 5 years ago
1 contributor
53 lines | 1.763kb
#ifndef _BEACON_H
#define _BEACON_H

#define BEACON_SLEEP_ADV 2000 //1.0s between uptime
#define BEACON_ADV_DURATION 400 //400ms
#define BEACON_UUID         "7c8a68a6-ddd0-11e9-8a34-2a2ae2dbcce4"
#define BEACON_SERVICE_UUID "feaa"
#define BEACON_NAME         "FakeESP"
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;
String beaconTypeStr = "";

// Fake MAC Address for BLE beacon
uint8_t new_mac[8] = {0xAC, 0x23, 0x3F, 0xCA, 0xFE, 0x01};

// 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
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
#define AD_IDX_TYPE 15
#define AD_IDX_NUM 16
#define AD_SHIFT 3 

#endif //_BEACON_H