commit
b51f3495af
@ -146,7 +146,7 @@ IRAM_ATTR void gap_callback_handler(esp_gap_ble_cb_event_t event,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef VENDORFILTER
|
#if(VENDORFILTER)
|
||||||
|
|
||||||
if ((p->scan_rst.ble_addr_type == BLE_ADDR_TYPE_RANDOM) ||
|
if ((p->scan_rst.ble_addr_type == BLE_ADDR_TYPE_RANDOM) ||
|
||||||
(p->scan_rst.ble_addr_type == BLE_ADDR_TYPE_RPA_RANDOM)) {
|
(p->scan_rst.ble_addr_type == BLE_ADDR_TYPE_RPA_RANDOM)) {
|
||||||
@ -210,7 +210,7 @@ esp_err_t register_ble_callback(void) {
|
|||||||
.scan_type = BLE_SCAN_TYPE_PASSIVE,
|
.scan_type = BLE_SCAN_TYPE_PASSIVE,
|
||||||
.own_addr_type = BLE_ADDR_TYPE_RANDOM,
|
.own_addr_type = BLE_ADDR_TYPE_RANDOM,
|
||||||
|
|
||||||
#ifdef VENDORFILTER
|
#if(VENDORFILTER)
|
||||||
.scan_filter_policy = BLE_SCAN_FILTER_ALLOW_WLIST_PRA_DIR,
|
.scan_filter_policy = BLE_SCAN_FILTER_ALLOW_WLIST_PRA_DIR,
|
||||||
// ADV_IND, ADV_NONCONN_IND, ADV_SCAN_IND packets are used for broadcasting
|
// ADV_IND, ADV_NONCONN_IND, ADV_SCAN_IND packets are used for broadcasting
|
||||||
// data in broadcast applications (e.g., Beacons), so we don't want them in
|
// data in broadcast applications (e.g., Beacons), so we don't want them in
|
||||||
@ -234,7 +234,7 @@ esp_err_t register_ble_callback(void) {
|
|||||||
} // register_ble_callback
|
} // register_ble_callback
|
||||||
|
|
||||||
void start_BLEscan(void) {
|
void start_BLEscan(void) {
|
||||||
#ifdef BLECOUNTER
|
#if(BLECOUNTER)
|
||||||
ESP_LOGI(TAG, "Initializing bluetooth scanner ...");
|
ESP_LOGI(TAG, "Initializing bluetooth scanner ...");
|
||||||
|
|
||||||
ESP_ERROR_CHECK(esp_coex_preference_set(
|
ESP_ERROR_CHECK(esp_coex_preference_set(
|
||||||
@ -254,7 +254,7 @@ void start_BLEscan(void) {
|
|||||||
} // start_BLEscan
|
} // start_BLEscan
|
||||||
|
|
||||||
void stop_BLEscan(void) {
|
void stop_BLEscan(void) {
|
||||||
#ifdef BLECOUNTER
|
#if(BLECOUNTER)
|
||||||
ESP_LOGI(TAG, "Shutting down bluetooth scanner ...");
|
ESP_LOGI(TAG, "Shutting down bluetooth scanner ...");
|
||||||
ESP_ERROR_CHECK(esp_ble_gap_register_callback(NULL));
|
ESP_ERROR_CHECK(esp_ble_gap_register_callback(NULL));
|
||||||
ESP_ERROR_CHECK(esp_bluedroid_disable());
|
ESP_ERROR_CHECK(esp_bluedroid_disable());
|
||||||
|
@ -117,7 +117,7 @@ void reset_counters() {
|
|||||||
macs_ble = 0;
|
macs_ble = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef VERBOSE
|
#if(VERBOSE)
|
||||||
int redirect_log(const char *fmt, va_list args) {
|
int redirect_log(const char *fmt, va_list args) {
|
||||||
// do nothing
|
// do nothing
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -89,7 +89,7 @@ void init_display(const char *Productname, const char *Version) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Display chip information
|
// Display chip information
|
||||||
#ifdef VERBOSE
|
#if(VERBOSE)
|
||||||
esp_chip_info_t chip_info;
|
esp_chip_info_t chip_info;
|
||||||
esp_chip_info(&chip_info);
|
esp_chip_info(&chip_info);
|
||||||
u8x8.printf("ESP32 %d cores\nWiFi%s%s\n", chip_info.cores,
|
u8x8.printf("ESP32 %d cores\nWiFi%s%s\n", chip_info.cores,
|
||||||
@ -114,7 +114,7 @@ void init_display(const char *Productname, const char *Version) {
|
|||||||
u8x8.clear();
|
u8x8.clear();
|
||||||
u8x8.setPowerSave(!cfg.screenon); // set display off if disabled
|
u8x8.setPowerSave(!cfg.screenon); // set display off if disabled
|
||||||
u8x8.draw2x2String(0, 0, "PAX:0");
|
u8x8.draw2x2String(0, 0, "PAX:0");
|
||||||
#ifdef BLECOUNTER
|
#if(BLECOUNTER)
|
||||||
u8x8.setCursor(0, 3);
|
u8x8.setCursor(0, 3);
|
||||||
u8x8.printf("BLTH:0");
|
u8x8.printf("BLTH:0");
|
||||||
#endif
|
#endif
|
||||||
@ -178,7 +178,7 @@ void refreshtheDisplay() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// update bluetooth counter + LoRa SF (line 3)
|
// update bluetooth counter + LoRa SF (line 3)
|
||||||
#ifdef BLECOUNTER
|
#if(BLECOUNTER)
|
||||||
u8x8.setCursor(0, 3);
|
u8x8.setCursor(0, 3);
|
||||||
if (cfg.blescan)
|
if (cfg.blescan)
|
||||||
u8x8.printf("BLTH:%-5d", macs_ble);
|
u8x8.printf("BLTH:%-5d", macs_ble);
|
||||||
|
@ -155,7 +155,7 @@ void get_hard_deveui(uint8_t *pdeveui) {
|
|||||||
#endif // MCP 24AA02E64
|
#endif // MCP 24AA02E64
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef VERBOSE
|
#if(VERBOSE)
|
||||||
|
|
||||||
// Display OTAA keys
|
// Display OTAA keys
|
||||||
void showLoraKeys(void) {
|
void showLoraKeys(void) {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// Basic Config
|
// Basic Config
|
||||||
#include "globals.h"
|
#include "globals.h"
|
||||||
|
|
||||||
#ifdef VENDORFILTER
|
#if(VENDORFILTER)
|
||||||
#include "vendor_array.h"
|
#include "vendor_array.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ bool mac_add(uint8_t *paddr, int8_t rssi, bool sniff_type) {
|
|||||||
int8_t beaconID; // beacon number in test monitor mode
|
int8_t beaconID; // beacon number in test monitor mode
|
||||||
uint16_t hashedmac; // temporary buffer for generated hash value
|
uint16_t hashedmac; // temporary buffer for generated hash value
|
||||||
uint32_t addr2int; // temporary buffer for shortened MAC
|
uint32_t addr2int; // temporary buffer for shortened MAC
|
||||||
#ifdef VENDORFILTER
|
#if(VENDORFILTER)
|
||||||
uint32_t vendor2int; // temporary buffer for Vendor OUI
|
uint32_t vendor2int; // temporary buffer for Vendor OUI
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ bool mac_add(uint8_t *paddr, int8_t rssi, bool sniff_type) {
|
|||||||
addr2int = ((uint32_t)paddr[2]) | ((uint32_t)paddr[3] << 8) |
|
addr2int = ((uint32_t)paddr[2]) | ((uint32_t)paddr[3] << 8) |
|
||||||
((uint32_t)paddr[4] << 16) | ((uint32_t)paddr[5] << 24);
|
((uint32_t)paddr[4] << 16) | ((uint32_t)paddr[5] << 24);
|
||||||
|
|
||||||
#ifdef VENDORFILTER
|
#if(VENDORFILTER)
|
||||||
vendor2int = ((uint32_t)paddr[2]) | ((uint32_t)paddr[1] << 8) |
|
vendor2int = ((uint32_t)paddr[2]) | ((uint32_t)paddr[1] << 8) |
|
||||||
((uint32_t)paddr[0] << 16);
|
((uint32_t)paddr[0] << 16);
|
||||||
// use OUI vendor filter list only on Wifi, not on BLE
|
// use OUI vendor filter list only on Wifi, not on BLE
|
||||||
@ -88,7 +88,7 @@ bool mac_add(uint8_t *paddr, int8_t rssi, bool sniff_type) {
|
|||||||
blink_LED(COLOR_GREEN, 50);
|
blink_LED(COLOR_GREEN, 50);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifdef BLECOUNTER
|
#if(BLECOUNTER)
|
||||||
else if (sniff_type == MAC_SNIFF_BLE) {
|
else if (sniff_type == MAC_SNIFF_BLE) {
|
||||||
macs_ble++; // increment BLE Macs counter
|
macs_ble++; // increment BLE Macs counter
|
||||||
#if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED)
|
#if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED)
|
||||||
@ -121,7 +121,7 @@ bool mac_add(uint8_t *paddr, int8_t rssi, bool sniff_type) {
|
|||||||
sniff_type == MAC_SNIFF_WIFI ? "WiFi" : "BLTH", rssi, buff,
|
sniff_type == MAC_SNIFF_WIFI ? "WiFi" : "BLTH", rssi, buff,
|
||||||
hashedmac, macs_wifi, macs_ble, getFreeRAM());
|
hashedmac, macs_wifi, macs_ble, getFreeRAM());
|
||||||
|
|
||||||
#ifdef VENDORFILTER
|
#if(VENDORFILTER)
|
||||||
} else {
|
} else {
|
||||||
// Very noisy
|
// Very noisy
|
||||||
// ESP_LOGD(TAG, "Filtered MAC %02X:%02X:%02X:%02X:%02X:%02X",
|
// ESP_LOGD(TAG, "Filtered MAC %02X:%02X:%02X:%02X:%02X:%02X",
|
||||||
|
12
src/main.cpp
12
src/main.cpp
@ -124,7 +124,7 @@ void setup() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// setup debug output or silence device
|
// setup debug output or silence device
|
||||||
#ifdef VERBOSE
|
#if(VERBOSE)
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
esp_log_level_set("*", ESP_LOG_VERBOSE);
|
esp_log_level_set("*", ESP_LOG_VERBOSE);
|
||||||
#else
|
#else
|
||||||
@ -136,7 +136,7 @@ void setup() {
|
|||||||
ESP_LOGI(TAG, "Starting %s v%s", PRODUCTNAME, PROGVERSION);
|
ESP_LOGI(TAG, "Starting %s v%s", PRODUCTNAME, PROGVERSION);
|
||||||
|
|
||||||
// print chip information on startup if in verbose mode
|
// print chip information on startup if in verbose mode
|
||||||
#ifdef VERBOSE
|
#if(VERBOSE)
|
||||||
esp_chip_info_t chip_info;
|
esp_chip_info_t chip_info;
|
||||||
esp_chip_info(&chip_info);
|
esp_chip_info(&chip_info);
|
||||||
ESP_LOGI(TAG,
|
ESP_LOGI(TAG,
|
||||||
@ -230,7 +230,7 @@ void setup() {
|
|||||||
batt_voltage = read_voltage();
|
batt_voltage = read_voltage();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_OTA
|
#if(USE_OTA)
|
||||||
strcat_P(features, " OTA");
|
strcat_P(features, " OTA");
|
||||||
// reboot to firmware update mode if ota trigger switch is set
|
// reboot to firmware update mode if ota trigger switch is set
|
||||||
if (cfg.runmode == 1) {
|
if (cfg.runmode == 1) {
|
||||||
@ -242,7 +242,7 @@ void setup() {
|
|||||||
|
|
||||||
// start BLE scan callback if BLE function is enabled in NVRAM configuration
|
// start BLE scan callback if BLE function is enabled in NVRAM configuration
|
||||||
// or switch off bluetooth, if not compiled
|
// or switch off bluetooth, if not compiled
|
||||||
#ifdef BLECOUNTER
|
#if(BLECOUNTER)
|
||||||
strcat_P(features, " BLE");
|
strcat_P(features, " BLE");
|
||||||
if (cfg.blescan) {
|
if (cfg.blescan) {
|
||||||
ESP_LOGI(TAG, "Starting Bluetooth...");
|
ESP_LOGI(TAG, "Starting Bluetooth...");
|
||||||
@ -307,7 +307,7 @@ void setup() {
|
|||||||
assert(spi_init() == ESP_OK);
|
assert(spi_init() == ESP_OK);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef VENDORFILTER
|
#if(VENDORFILTER)
|
||||||
strcat_P(features, " OUIFLT");
|
strcat_P(features, " OUIFLT");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -348,7 +348,7 @@ void setup() {
|
|||||||
|
|
||||||
#ifdef HAS_LORA
|
#ifdef HAS_LORA
|
||||||
// output LoRaWAN keys to console
|
// output LoRaWAN keys to console
|
||||||
#ifdef VERBOSE
|
#if(VERBOSE)
|
||||||
showLoraKeys();
|
showLoraKeys();
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,15 +7,15 @@
|
|||||||
#define PRODUCTNAME "PAXCNT"
|
#define PRODUCTNAME "PAXCNT"
|
||||||
|
|
||||||
// Verbose enables serial output
|
// Verbose enables serial output
|
||||||
#define VERBOSE 1 // comment out to silence the device, for mute use build option
|
#define VERBOSE 1 // set to 0 to silence the device, for mute use build option
|
||||||
|
|
||||||
// Payload send cycle and encoding
|
// Payload send cycle and encoding
|
||||||
#define SENDCYCLE 30 // payload send cycle [seconds/2], 0 .. 255
|
#define SENDCYCLE 30 // payload send cycle [seconds/2], 0 .. 255
|
||||||
#define PAYLOAD_ENCODER 2 // payload encoder: 1=Plain, 2=Packed, 3=Cayenne LPP dynamic, 4=Cayenne LPP packed
|
#define PAYLOAD_ENCODER 2 // payload encoder: 1=Plain, 2=Packed, 3=Cayenne LPP dynamic, 4=Cayenne LPP packed
|
||||||
|
|
||||||
// Set this to include BLE counting and vendor filter functions
|
// Set this to include BLE counting and vendor filter functions
|
||||||
#define VENDORFILTER 1 // comment out if you want to count things, not people
|
#define VENDORFILTER 1 // set to 0 if you want to count things, not people
|
||||||
#define BLECOUNTER 1 // activate if you want to use BLE count, at expense of memory
|
#define BLECOUNTER 1 // set it to 1 if you want to use BLE count, at expense of memory
|
||||||
|
|
||||||
// BLE scan parameters
|
// BLE scan parameters
|
||||||
#define BLESCANTIME 0 // [seconds] scan duration, 0 means infinite [default], see note below
|
#define BLESCANTIME 0 // [seconds] scan duration, 0 means infinite [default], see note below
|
||||||
@ -59,7 +59,7 @@
|
|||||||
#define STATE_SAVE_PERIOD UINT32_C(360 * 60 * 1000) // update every 360 minutes = 4 times a day
|
#define STATE_SAVE_PERIOD UINT32_C(360 * 60 * 1000) // update every 360 minutes = 4 times a day
|
||||||
|
|
||||||
// OTA settings
|
// OTA settings
|
||||||
#define USE_OTA 1 // Comment out to disable OTA update
|
#define USE_OTA 1 // set to 0 to disable OTA update
|
||||||
#define WIFI_MAX_TRY 5 // maximum number of wifi connect attempts for OTA update [default = 20]
|
#define WIFI_MAX_TRY 5 // maximum number of wifi connect attempts for OTA update [default = 20]
|
||||||
#define OTA_MAX_TRY 5 // maximum number of attempts for OTA download and write to flash [default = 3]
|
#define OTA_MAX_TRY 5 // maximum number of attempts for OTA download and write to flash [default = 3]
|
||||||
#define OTA_MIN_BATT 3600 // minimum battery level for OTA [millivolt]
|
#define OTA_MIN_BATT 3600 // minimum battery level for OTA [millivolt]
|
||||||
|
@ -38,7 +38,7 @@ void set_reset(uint8_t val[]) {
|
|||||||
break;
|
break;
|
||||||
case 9: // reset and ask for software update via Wifi OTA
|
case 9: // reset and ask for software update via Wifi OTA
|
||||||
ESP_LOGI(TAG, "Remote command: software update via Wifi");
|
ESP_LOGI(TAG, "Remote command: software update via Wifi");
|
||||||
#ifdef USE_OTA
|
#if(USE_OTA)
|
||||||
sprintf(display_line6, "Software update");
|
sprintf(display_line6, "Software update");
|
||||||
cfg.runmode = 1;
|
cfg.runmode = 1;
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user