Merge pull request #25 from cyberman54/test
v1.2.9: pull request #21 + some minor fixes
This commit is contained in:
		
						commit
						95759577db
					
				
							
								
								
									
										13
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								README.md
									
									
									
									
									
								
							@ -177,7 +177,7 @@ Note: all settings are stored in NVRAM and will be reloaded when device starts.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
0x80 get device configuration
 | 
					0x80 get device configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	device answers with it's current configuration:
 | 
					device answers with it's current configuration. The configuration is a C structure declared in file [globals.h](src/globals.h#L23-L38) with the following definition:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	byte 1:			Lora SF (7..12)
 | 
						byte 1:			Lora SF (7..12)
 | 
				
			||||||
	byte 2:			Lora TXpower (2..15)
 | 
						byte 2:			Lora TXpower (2..15)
 | 
				
			||||||
@ -203,6 +203,17 @@ Note: all settings are stored in NVRAM and will be reloaded when device starts.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	bytes 1-3:		chip temperature in celsius (little endian format)
 | 
						bytes 1-3:		chip temperature in celsius (little endian format)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# RGB Led color description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Description of the RGB LED color (Lopy and Lolin32 only):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Yellow quick blink
 | 
				
			||||||
 | 
					    - LoRaWAN join
 | 
				
			||||||
 | 
					- Blue blink
 | 
				
			||||||
 | 
					    - LoRaWAN transmit (including receive windows)
 | 
				
			||||||
 | 
					- Magenta each blink
 | 
				
			||||||
 | 
					    - BLE Scan, seen a device (new or not)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# License
 | 
					# License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Copyright  2018 Oliver Brandmueller <ob@sysadm.in>
 | 
					Copyright  2018 Oliver Brandmueller <ob@sysadm.in>
 | 
				
			||||||
 | 
				
			|||||||
@ -10,10 +10,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
; ---> SELECT TARGET PLATFORM HERE! <---
 | 
					; ---> SELECT TARGET PLATFORM HERE! <---
 | 
				
			||||||
[platformio]
 | 
					[platformio]
 | 
				
			||||||
;env_default = heltec_wifi_lora_32
 | 
					env_default = heltec_wifi_lora_32
 | 
				
			||||||
;env_default = ttgov1
 | 
					;env_default = ttgov1
 | 
				
			||||||
;env_default = ttgov2
 | 
					;env_default = ttgov2
 | 
				
			||||||
env_default = lopy
 | 
					;env_default = lopy
 | 
				
			||||||
;env_default = lopy4
 | 
					;env_default = lopy4
 | 
				
			||||||
;env_default = lolin32lite_lora
 | 
					;env_default = lolin32lite_lora
 | 
				
			||||||
;env_default = lolin32_lora
 | 
					;env_default = lolin32_lora
 | 
				
			||||||
 | 
				
			|||||||
@ -13,9 +13,11 @@
 | 
				
			|||||||
#include <lmic.h>
 | 
					#include <lmic.h>
 | 
				
			||||||
#include <hal/hal.h>
 | 
					#include <hal/hal.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// LED controls
 | 
				
			||||||
#ifdef HAS_RGB_LED
 | 
					#ifdef HAS_RGB_LED
 | 
				
			||||||
#include <SmartLeds.h>
 | 
					    #include <SmartLeds.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "rgb_led.h"
 | 
					#include "rgb_led.h"
 | 
				
			||||||
#include "macsniff.h"
 | 
					#include "macsniff.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -31,3 +31,7 @@
 | 
				
			|||||||
#define OLED_RST U8X8_PIN_NONE  // Not reset pin
 | 
					#define OLED_RST U8X8_PIN_NONE  // Not reset pin
 | 
				
			||||||
#define OLED_SDA 21             // ESP32 GPIO21 (Pin21) -- OLED SDA
 | 
					#define OLED_SDA 21             // ESP32 GPIO21 (Pin21) -- OLED SDA
 | 
				
			||||||
#define OLED_SCL 22             // ESP32 GPIO22 (Pin22) -- OLED SCL
 | 
					#define OLED_SCL 22             // ESP32 GPIO22 (Pin22) -- OLED SCL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// I2C config for Microchip 24AA02E64 DEVEUI unique address
 | 
				
			||||||
 | 
					#define MCP_24AA02E64_I2C_ADDRESS 0x50 // I2C address for the 24AA02E64 
 | 
				
			||||||
 | 
					#define MCP_24AA02E64_MAC_ADDRESS 0xF8 // Memory adress of unique deveui 64 bits
 | 
				
			||||||
 | 
				
			|||||||
@ -30,3 +30,7 @@
 | 
				
			|||||||
#define OLED_RST U8X8_PIN_NONE  // Not reset pin
 | 
					#define OLED_RST U8X8_PIN_NONE  // Not reset pin
 | 
				
			||||||
#define OLED_SDA 14             // ESP32 GPIO14 (Pin14) -- OLED SDA
 | 
					#define OLED_SDA 14             // ESP32 GPIO14 (Pin14) -- OLED SDA
 | 
				
			||||||
#define OLED_SCL 12             // ESP32 GPIO12 (Pin12) -- OLED SCL
 | 
					#define OLED_SCL 12             // ESP32 GPIO12 (Pin12) -- OLED SCL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// I2C config for Microchip 24AA02E64 DEVEUI unique address
 | 
				
			||||||
 | 
					#define MCP_24AA02E64_I2C_ADDRESS 0x50 // I2C address for the 24AA02E64 
 | 
				
			||||||
 | 
					#define MCP_24AA02E64_MAC_ADDRESS 0xF8 // Memory adress of unique deveui 64 bits
 | 
				
			||||||
 | 
				
			|||||||
@ -85,11 +85,14 @@ class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks {
 | 
				
			|||||||
    void onResult(BLEAdvertisedDevice advertisedDevice) {
 | 
					    void onResult(BLEAdvertisedDevice advertisedDevice) {
 | 
				
			||||||
        uint8_t *p = (uint8_t *) advertisedDevice.getAddress().getNative();
 | 
					        uint8_t *p = (uint8_t *) advertisedDevice.getAddress().getNative();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        rgb_set_color(COLOR_MAGENTA);
 | 
				
			||||||
        // Current devices seen on this scan session
 | 
					        // Current devices seen on this scan session
 | 
				
			||||||
        currentScanDevice++;
 | 
					        currentScanDevice++;
 | 
				
			||||||
        mac_add(p, advertisedDevice.getRSSI(), MAC_SNIFF_BLE);
 | 
					        mac_add(p, advertisedDevice.getRSSI(), MAC_SNIFF_BLE);
 | 
				
			||||||
        u8x8.setCursor(12,3);
 | 
					        u8x8.setCursor(12,3);
 | 
				
			||||||
        u8x8.printf("%d", currentScanDevice);
 | 
					        u8x8.printf("%d", currentScanDevice);
 | 
				
			||||||
 | 
					        rgb_set_color(COLOR_NONE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										74
									
								
								src/main.cpp
									
									
									
									
									
								
							
							
						
						
									
										74
									
								
								src/main.cpp
									
									
									
									
									
								
							@ -29,7 +29,7 @@ Refer to LICENSE.txt file in repository for more details.
 | 
				
			|||||||
#include <set>
 | 
					#include <set>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// OLED driver
 | 
					// OLED driver
 | 
				
			||||||
#include <U8x8lib.h>
 | 
					#include <U8x8lib.h> // includes <wire.h> if needed for other on board i2c components
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// LMIC-Arduino LoRaWAN Stack
 | 
					// LMIC-Arduino LoRaWAN Stack
 | 
				
			||||||
#include "loraconf.h"
 | 
					#include "loraconf.h"
 | 
				
			||||||
@ -259,7 +259,6 @@ void wifi_sniffer_loop(void * pvParameters) {
 | 
				
			|||||||
        channel = (channel % WIFI_CHANNEL_MAX) + 1;     // rotates variable channel 1..WIFI_CHANNEL_MAX
 | 
					        channel = (channel % WIFI_CHANNEL_MAX) + 1;     // rotates variable channel 1..WIFI_CHANNEL_MAX
 | 
				
			||||||
        wifi_sniffer_set_channel(channel);
 | 
					        wifi_sniffer_set_channel(channel);
 | 
				
			||||||
        ESP_LOGI(TAG, "Wifi set channel %d", channel);
 | 
					        ESP_LOGI(TAG, "Wifi set channel %d", channel);
 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        u8x8.setCursor(0,5);
 | 
					        u8x8.setCursor(0,5);
 | 
				
			||||||
        u8x8.printf(!cfg.rssilimit ? "RLIM:  off" : "RLIM: %4i", cfg.rssilimit);
 | 
					        u8x8.printf(!cfg.rssilimit ? "RLIM:  off" : "RLIM: %4i", cfg.rssilimit);
 | 
				
			||||||
        u8x8.setCursor(11,5);
 | 
					        u8x8.setCursor(11,5);
 | 
				
			||||||
@ -289,7 +288,8 @@ void wifi_sniffer_loop(void * pvParameters) {
 | 
				
			|||||||
            // wait until payload is sent, while wifi scanning and mac counting task continues
 | 
					            // wait until payload is sent, while wifi scanning and mac counting task continues
 | 
				
			||||||
            lorawait = 0;
 | 
					            lorawait = 0;
 | 
				
			||||||
            while(LMIC.opmode & OP_TXRXPEND) {
 | 
					            while(LMIC.opmode & OP_TXRXPEND) {
 | 
				
			||||||
                if(!lorawait) u8x8.drawString(0,6,"LoRa wait       ");
 | 
					                if(!lorawait) 
 | 
				
			||||||
 | 
					                    u8x8.drawString(0,6,"LoRa wait       ");
 | 
				
			||||||
                lorawait++;
 | 
					                lorawait++;
 | 
				
			||||||
                // in case sending really fails: reset and rejoin network
 | 
					                // in case sending really fails: reset and rejoin network
 | 
				
			||||||
                if( (lorawait % MAXLORARETRY ) == 0) {
 | 
					                if( (lorawait % MAXLORARETRY ) == 0) {
 | 
				
			||||||
@ -304,10 +304,11 @@ void wifi_sniffer_loop(void * pvParameters) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (cfg.screenon && cfg.screensaver) {
 | 
					            if (cfg.screenon && cfg.screensaver) {
 | 
				
			||||||
                vTaskDelay(2000/portTICK_PERIOD_MS);   // pause for displaying results
 | 
					                vTaskDelay(2000/portTICK_PERIOD_MS);   // pause for displaying results
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
                yield();
 | 
					                yield();
 | 
				
			||||||
                u8x8.setPowerSave(1 && cfg.screensaver); // set display off if screensaver is enabled
 | 
					                u8x8.setPowerSave(1 && cfg.screensaver); // set display off if screensaver is enabled
 | 
				
			||||||
 | 
					            }          
 | 
				
			||||||
        } // end of send data cycle
 | 
					        } // end of send data cycle
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        else {
 | 
					        else {
 | 
				
			||||||
            #ifdef BLECOUNTER
 | 
					            #ifdef BLECOUNTER
 | 
				
			||||||
                if (nloop % (WIFI_CHANNEL_MAX * cfg.blescancycle) == 0 )   // once after cfg.blescancycle Wifi scans, do a BLE scan
 | 
					                if (nloop % (WIFI_CHANNEL_MAX * cfg.blescancycle) == 0 )   // once after cfg.blescancycle Wifi scans, do a BLE scan
 | 
				
			||||||
@ -345,6 +346,8 @@ void init_display(const char *Productname, const char *Version) {
 | 
				
			|||||||
    u8x8.begin();
 | 
					    u8x8.begin();
 | 
				
			||||||
    u8x8.setFont(u8x8_font_chroma48medium8_r);
 | 
					    u8x8.setFont(u8x8_font_chroma48medium8_r);
 | 
				
			||||||
#ifdef HAS_DISPLAY  
 | 
					#ifdef HAS_DISPLAY  
 | 
				
			||||||
 | 
					    u8x8.begin();
 | 
				
			||||||
 | 
					    u8x8.setFont(u8x8_font_chroma48medium8_r);
 | 
				
			||||||
    uint8_t buf[32];
 | 
					    uint8_t buf[32];
 | 
				
			||||||
    u8x8.clear();
 | 
					    u8x8.clear();
 | 
				
			||||||
    u8x8.setFlipMode(0);
 | 
					    u8x8.setFlipMode(0);
 | 
				
			||||||
@ -394,7 +397,7 @@ void setup() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // disable brownout detection
 | 
					    // disable brownout detection
 | 
				
			||||||
#ifdef DISABLE_BROWNOUT
 | 
					#ifdef DISABLE_BROWNOUT
 | 
				
			||||||
  // Register with brownout is at address DR_REG_RTCCNTL_BASE + 0xd4
 | 
					    // register with brownout is at address DR_REG_RTCCNTL_BASE + 0xd4
 | 
				
			||||||
  (*((volatile uint32_t *)ETS_UNCACHED_ADDR((DR_REG_RTCCNTL_BASE+0xd4)))) = 0;
 | 
					  (*((volatile uint32_t *)ETS_UNCACHED_ADDR((DR_REG_RTCCNTL_BASE+0xd4)))) = 0;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -411,10 +414,10 @@ void setup() {
 | 
				
			|||||||
    ESP_LOGI(TAG, "Starting %s %s", PROGNAME, PROGVERSION);
 | 
					    ESP_LOGI(TAG, "Starting %s %s", PROGNAME, PROGVERSION);
 | 
				
			||||||
    rgb_set_color(COLOR_NONE);
 | 
					    rgb_set_color(COLOR_NONE);
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
    // system event handler for wifi task, needed for wifi_sniffer_init()
 | 
					    // initialize system event handler for wifi task, needed for wifi_sniffer_init()
 | 
				
			||||||
    esp_event_loop_init(NULL, NULL);
 | 
					    esp_event_loop_init(NULL, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Print chip information on startup
 | 
					    // print chip information on startup if in verbose mode
 | 
				
			||||||
#ifdef VERBOSE
 | 
					#ifdef VERBOSE
 | 
				
			||||||
    esp_chip_info_t chip_info;
 | 
					    esp_chip_info_t chip_info;
 | 
				
			||||||
    esp_chip_info(&chip_info);
 | 
					    esp_chip_info(&chip_info);
 | 
				
			||||||
@ -427,16 +430,16 @@ void setup() {
 | 
				
			|||||||
    ESP_LOGI(TAG, "ESP32 SDK: %s", ESP.getSdkVersion());
 | 
					    ESP_LOGI(TAG, "ESP32 SDK: %s", ESP.getSdkVersion());
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Read settings from NVRAM
 | 
					    // read settings from NVRAM
 | 
				
			||||||
    loadConfig(); // includes initialize if necessary
 | 
					    loadConfig(); // includes initialize if necessary
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // initialize hardware
 | 
					    // initialize led if needed
 | 
				
			||||||
#ifdef HAS_LED
 | 
					#ifdef HAS_LED
 | 
				
			||||||
    // initialize LED
 | 
					 | 
				
			||||||
    pinMode(HAS_LED, OUTPUT);
 | 
					    pinMode(HAS_LED, OUTPUT);
 | 
				
			||||||
    digitalWrite(HAS_LED, LOW);
 | 
					    digitalWrite(HAS_LED, LOW);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // initialize button handling if needed
 | 
				
			||||||
#ifdef HAS_BUTTON
 | 
					#ifdef HAS_BUTTON
 | 
				
			||||||
    #ifdef BUTTON_PULLUP
 | 
					    #ifdef BUTTON_PULLUP
 | 
				
			||||||
        // install button interrupt (pullup mode)
 | 
					        // install button interrupt (pullup mode)
 | 
				
			||||||
@ -449,31 +452,56 @@ void setup() {
 | 
				
			|||||||
    #endif
 | 
					    #endif
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // initialize wifi antenna
 | 
					    // initialize wifi antenna if needed
 | 
				
			||||||
#ifdef HAS_ANTENNA_SWITCH
 | 
					#ifdef HAS_ANTENNA_SWITCH
 | 
				
			||||||
    antenna_init();
 | 
					    antenna_init();
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // initialize salt value using esp_random() called by random() in arduino-esp32 core
 | 
					    // read DEVEUI from Microchip 24AA02E64 2Kb serial eeprom if present
 | 
				
			||||||
    salt = random(65536); // get new 16bit random for salting hashes
 | 
					#ifdef MCP_24AA02E64_I2C_ADDRESS
 | 
				
			||||||
 | 
					    uint8_t i2c_ret;
 | 
				
			||||||
 | 
					    // Init this before OLED, we just need to get value then we're done with i2c bus
 | 
				
			||||||
 | 
					    Wire.begin(OLED_SDA, OLED_SDA, 100000);
 | 
				
			||||||
 | 
					    Wire.beginTransmission(MCP_24AA02E64_I2C_ADDRESS);
 | 
				
			||||||
 | 
					    Wire.write(MCP_24AA02E64_MAC_ADDRESS); 
 | 
				
			||||||
 | 
					    i2c_ret = Wire.endTransmission();
 | 
				
			||||||
 | 
					    // check if device seen on i2c bus
 | 
				
			||||||
 | 
					    if (i2c_ret == 0) {
 | 
				
			||||||
 | 
					        char deveui[24];
 | 
				
			||||||
 | 
					        uint8_t data;
 | 
				
			||||||
 | 
					        Wire.beginTransmission(MCP_24AA02E64_I2C_ADDRESS);
 | 
				
			||||||
 | 
					        while (Wire.available()) {
 | 
				
			||||||
 | 
					            data = Wire.read();
 | 
				
			||||||
 | 
					            sprintf(deveui+strlen(deveui), "%02X ", data) ;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        i2c_ret = Wire.endTransmission();
 | 
				
			||||||
 | 
					        ESP_LOGI(TAG, "Serial EEPROM 24AA02E64 found, read DEVEUI %s", deveui);
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        ESP_LOGI(TAG, "Serial EEPROM 24AA02E64 not found ret=%d", i2c_ret);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					#endif // MCP 24AA02E64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // initialize display
 | 
					// initialize display  
 | 
				
			||||||
    init_display(PROGNAME, PROGVERSION);     
 | 
					    init_display(PROGNAME, PROGVERSION);     
 | 
				
			||||||
    u8x8.setPowerSave(!cfg.screenon); // set display off if disabled
 | 
					    u8x8.setPowerSave(!cfg.screenon); // set display off if disabled
 | 
				
			||||||
    u8x8.setCursor(0,5);
 | 
					    u8x8.setCursor(0,5);
 | 
				
			||||||
    u8x8.printf(!cfg.rssilimit ? "RLIM: off" : "RLIM: %4i", cfg.rssilimit);
 | 
					    u8x8.printf(!cfg.rssilimit ? "RLIM: off" : "RLIM: %4i", cfg.rssilimit);
 | 
				
			||||||
    u8x8.drawString(0,6,"Join Wait       ");
 | 
					    u8x8.drawString(0,6,"Join Wait       ");
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    // output LoRaWAN keys to console
 | 
					// output LoRaWAN keys to console
 | 
				
			||||||
#ifdef VERBOSE
 | 
					#ifdef VERBOSE
 | 
				
			||||||
    printKeys();
 | 
					    printKeys();
 | 
				
			||||||
#endif // VERBOSE
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    os_init(); // setup LMIC
 | 
					os_init(); // setup LMIC
 | 
				
			||||||
    os_setCallback(&initjob, lora_init); // setup initial job & join network 
 | 
					os_setCallback(&initjob, lora_init); // setup initial job & join network 
 | 
				
			||||||
    wifi_sniffer_init(); // setup wifi in monitor mode and start MAC counting
 | 
					wifi_sniffer_init(); // setup wifi in monitor mode and start MAC counting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Start FreeRTOS tasks
 | 
					// initialize salt value using esp_random() called by random() in arduino-esp32 core
 | 
				
			||||||
 | 
					// note: do this *after* wifi has started, since gets it's seed from RF noise
 | 
				
			||||||
 | 
					salt = random(65536); // get new 16bit random for salting hashes
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					// Start FreeRTOS tasks
 | 
				
			||||||
#if CONFIG_FREERTOS_UNICORE // run all tasks on core 0 and switch off core 1
 | 
					#if CONFIG_FREERTOS_UNICORE // run all tasks on core 0 and switch off core 1
 | 
				
			||||||
    ESP_LOGI(TAG, "Starting Lora task on core 0");
 | 
					    ESP_LOGI(TAG, "Starting Lora task on core 0");
 | 
				
			||||||
    xTaskCreatePinnedToCore(lorawan_loop, "loratask", 2048, ( void * ) 1,  ( 5 | portPRIVILEGE_BIT ), NULL, 0);  
 | 
					    xTaskCreatePinnedToCore(lorawan_loop, "loratask", 2048, ( void * ) 1,  ( 5 | portPRIVILEGE_BIT ), NULL, 0);  
 | 
				
			||||||
@ -487,9 +515,9 @@ void setup() {
 | 
				
			|||||||
    xTaskCreatePinnedToCore(wifi_sniffer_loop, "wifisniffer", 4096, ( void * ) 1, 1, NULL, 0);
 | 
					    xTaskCreatePinnedToCore(wifi_sniffer_loop, "wifisniffer", 4096, ( void * ) 1, 1, NULL, 0);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    // Kickoff first sendjob, use payload "0000"
 | 
					// Finally: kickoff first sendjob and join, then send initial payload "0000"
 | 
				
			||||||
    uint8_t mydata[] = "0000";
 | 
					uint8_t mydata[] = "0000";
 | 
				
			||||||
    do_send(&sendjob);
 | 
					do_send(&sendjob);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* end Aruino SETUP ------------------------------------------------------------ */
 | 
					/* end Aruino SETUP ------------------------------------------------------------ */
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
// program version - note: increment version after modifications to configData_t struct!!
 | 
					// program version - note: increment version after modifications to configData_t struct!!
 | 
				
			||||||
#define PROGVERSION                     "1.2.88"    // use max 10 chars here!
 | 
					#define PROGVERSION                     "1.2.9"    // use max 10 chars here!
 | 
				
			||||||
#define PROGNAME                        "PAXCNT"
 | 
					#define PROGNAME                        "PAXCNT"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Verbose enables serial output
 | 
					// Verbose enables serial output
 | 
				
			||||||
@ -10,7 +10,7 @@
 | 
				
			|||||||
#define BLECOUNTER                      1       // comment out if you don't want BLE count
 | 
					#define BLECOUNTER                      1       // comment out if you don't want BLE count
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// BLE scan time
 | 
					// BLE scan time
 | 
				
			||||||
#define BLESCANTIME                     15      // [seconds]
 | 
					#define BLESCANTIME                     10      // [seconds]
 | 
				
			||||||
#define BLESCANCYCLE                    2       // BLE scan once after each <BLECYCLE> wifi scans
 | 
					#define BLESCANCYCLE                    2       // BLE scan once after each <BLECYCLE> wifi scans
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// WiFi Sniffer cycle interval
 | 
					// WiFi Sniffer cycle interval
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user