scan performance optimizations
This commit is contained in:
parent
9bdc7291d8
commit
30178bbf43
@ -161,7 +161,7 @@ Note: all settings are stored in NVRAM and will be reloaded when device starts.
|
||||
0x0C set Bluetooth channel switch interval timer
|
||||
|
||||
0 ... 255 duration for scanning one bluetooth channel in seconds/100
|
||||
e.g. 1 -> each channel is scanned for 10 milliseconds [default]
|
||||
e.g. 3 -> each channel is scanned for 30 milliseconds [default]
|
||||
|
||||
0x0D (NOT YET IMPLEMENTED) set BLE and WIFI vendorfilter mode
|
||||
|
||||
|
@ -33,8 +33,8 @@ build_flags =
|
||||
; ---> NOTE: For production run set DEBUG_LEVEL level to NONE! <---
|
||||
; otherwise device may crash in dense environments due to serial buffer overflow
|
||||
;
|
||||
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE
|
||||
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_INFO
|
||||
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE
|
||||
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_INFO
|
||||
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
|
||||
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
|
||||
;
|
||||
|
@ -88,8 +88,8 @@ static const char *btsig_gap_type(uint32_t gap_type) {
|
||||
}
|
||||
} // btsig_gap_type
|
||||
|
||||
|
||||
static void gap_callback_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param)
|
||||
// using IRAM_:ATTR here to speed up callback function
|
||||
IRAM_ATTR static void gap_callback_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param)
|
||||
{
|
||||
esp_ble_gap_cb_param_t *p = (esp_ble_gap_cb_param_t *)param;
|
||||
esp_err_t status;
|
||||
@ -188,7 +188,7 @@ esp_err_t register_ble_functionality(void)
|
||||
|
||||
// This function is called to occur gap event, such as scan result.
|
||||
//register the scan callback function to the gap module
|
||||
status = esp_ble_gap_register_callback(gap_callback_handler);
|
||||
status = esp_ble_gap_register_callback(&gap_callback_handler);
|
||||
if (status != ESP_OK)
|
||||
{
|
||||
ESP_LOGE(TAG, "esp_ble_gap_register_callback: rc=%d", status);
|
||||
@ -226,11 +226,11 @@ esp_err_t register_ble_functionality(void)
|
||||
|
||||
void stop_BLEscan(void){
|
||||
ESP_LOGI(TAG, "Shutting BT Down ...");
|
||||
esp_ble_gap_register_callback(NULL);
|
||||
esp_bluedroid_disable();
|
||||
esp_bluedroid_deinit();
|
||||
esp_bt_controller_disable();
|
||||
esp_bt_controller_deinit();
|
||||
ESP_ERROR_CHECK(esp_ble_gap_register_callback(NULL));
|
||||
ESP_ERROR_CHECK(esp_bluedroid_disable());
|
||||
ESP_ERROR_CHECK(esp_bluedroid_deinit());
|
||||
ESP_ERROR_CHECK(esp_bt_controller_disable());
|
||||
ESP_ERROR_CHECK(esp_bt_controller_deinit());
|
||||
}
|
||||
|
||||
void start_BLEscan(void){
|
||||
|
@ -3,6 +3,9 @@
|
||||
*
|
||||
* Read the values from TTN console (or whatever applies), insert them here,
|
||||
* and rename this file to src/loraconf.h
|
||||
*
|
||||
* Note that DEVEUI, APPEUI and APPKEY should all be specified in MSB format.
|
||||
* (This is different from standard LMIC-Arduino which expects DEVEUI and APPEUI in LSB format.)
|
||||
|
||||
* Set your DEVEUI here, if you have one. You can leave this untouched,
|
||||
* then the DEVEUI will be generated during runtime from device's MAC adress
|
||||
|
@ -102,7 +102,8 @@ void wifi_sniffer_set_channel(uint8_t channel) {
|
||||
esp_wifi_set_channel(channel, WIFI_SECOND_CHAN_NONE);
|
||||
}
|
||||
|
||||
void wifi_sniffer_packet_handler(void* buff, wifi_promiscuous_pkt_type_t type) {
|
||||
// using IRAM_:ATTR here to speed up callback function
|
||||
IRAM_ATTR void wifi_sniffer_packet_handler(void* buff, wifi_promiscuous_pkt_type_t type) {
|
||||
const wifi_promiscuous_pkt_t *ppkt = (wifi_promiscuous_pkt_t *)buff;
|
||||
const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)ppkt->payload;
|
||||
const wifi_ieee80211_mac_hdr_t *hdr = &ipkt->hdr;
|
||||
|
@ -327,7 +327,7 @@ uint64_t uptime() {
|
||||
if (cfg.blescan)
|
||||
u8x8.printf("BLTH:%-4d", macs_ble);
|
||||
else
|
||||
u8x8.printf("%-16s", "BLTH:off");
|
||||
u8x8.printf("%s", "BLTH:off");
|
||||
#endif
|
||||
|
||||
// update LoRa SF display (line 3)
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
// program version - note: increment version after modifications to configData_t struct!!
|
||||
#define PROGVERSION "1.3.5" // use max 10 chars here!
|
||||
#define PROGVERSION "1.3.51" // use max 10 chars here!
|
||||
#define PROGNAME "PAXCNT"
|
||||
|
||||
//--- Declarations ---
|
||||
|
@ -12,8 +12,8 @@
|
||||
// BLE scan parameters
|
||||
#define BLESTACKSIZE 8192 // stack size for esp_bt_controller
|
||||
#define BLESCANTIME 0 // [seconds] scan duration, 0 means infinite [default], see note below
|
||||
#define BLESCANWINDOW 10 // [milliseconds] scan window, see below, 3 .. 10240, default 10
|
||||
#define BLESCANINTERVAL 10 // [milliseconds] scan interval, see below, 3 .. 10240, default 10
|
||||
#define BLESCANWINDOW 0x50 // [milliseconds] scan window, see below, 3 .. 10240, default 80ms
|
||||
#define BLESCANINTERVAL 0x50 // [milliseconds] scan interval, see below, 3 .. 10240, default 80ms = 100% duty cycle
|
||||
|
||||
/* Note: guide for setting bluetooth parameters
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user