Merge pull request #42 from cyberman54/development

cleanups
This commit is contained in:
Verkehrsrot 2018-04-16 21:29:51 +02:00 committed by GitHub
commit 5ba5983c15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 37 additions and 47 deletions

View File

@ -64,8 +64,8 @@ If your device has silicon **Unique ID** which is stored in serial EEPROM Microc
To upload the code to your ESP32 board this needs to be switched from run to bootloader mode. Boards with USB bridge like Heltec and TTGO usually have an onboard logic which allows soft switching by the upload tool. In PlatformIO this happenes automatically.<p> To upload the code to your ESP32 board this needs to be switched from run to bootloader mode. Boards with USB bridge like Heltec and TTGO usually have an onboard logic which allows soft switching by the upload tool. In PlatformIO this happenes automatically.<p>
The LoPy/LoPy4 board needs to be set manually. See these The LoPy/LoPy4 board needs to be set manually. See these
<A HREF="https://www.thethingsnetwork.org/labs/story/program-your-lopy-from-the-arduino-ide-using-lmic">instructions</A> how to do it.<p> <A HREF="https://www.thethingsnetwork.org/labs/story/program-your-lopy-from-the-arduino-ide-using-lmic">instructions</A> how to do it. Don't forget to press on board reset button after switching between run and bootloader mode.<p>
For the LoPy/LoPy4 the original Pycom firmware is not needed here, so there is no need to update it before flashing Paxcounter. Just flash the paxcounter code on your LoPy/LoPy4. If you want to go back to the Pycom firmware, no problem. Download the firmware from Pycom and flash it over. The original Pycom firmware is not needed, so there is no need to update it before flashing Paxcounter. Just flash the compiled paxcounter binary (.elf file) on your LoPy/LoPy4. If you later want to go back to the Pycom firmware, download the firmware from Pycom and flash it over.
# Legal note # Legal note

View File

@ -8,12 +8,13 @@
; Please visit documentation for the other options and examples ; Please visit documentation for the other options and examples
; http://docs.platformio.org/page/projectconf.html ; http://docs.platformio.org/page/projectconf.html
; ---> 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
@ -21,32 +22,32 @@ env_default = heltec_wifi_lora_32
description = Paxcounter is a proof-of-concept ESP32 device for metering passenger flows in realtime. It counts how many mobile devices are around. description = Paxcounter is a proof-of-concept ESP32 device for metering passenger flows in realtime. It counts how many mobile devices are around.
[common_env_data] [common_env_data]
monitor_baud = 115200
lib_deps_display =
U8g2@>=2.22.14
lib_deps_rgbled =
SmartLeds
build_flags = build_flags =
; we need build_flag for logging, otherwise we can't use ESP_LOGx in arduino framework ; we need build_flag for logging, otherwise we can't use ESP_LOGx in arduino framework
; ---> NOTE: For production run set DEBUG_LEVEL level to NONE! <--- ; ---> NOTE: For production run set DEBUG_LEVEL level to NONE! <---
; otherwise device may crash in dense environments due to serial buffer overflow ; 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_INFO
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE ; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG ; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
; ;
;override lora settings from LMiC library in lmic/config.h and use main.h instead ; override lora settings from LMiC library in lmic/config.h and use main.h instead
-D_lmic_config_h_ -D_lmic_config_h_
-include "src/main.h" -include "src/main.h"
;
lib_deps_builtin =
U8g2@2.22.10
[env:heltec_wifi_lora_32] [env:heltec_wifi_lora_32]
platform = espressif32 platform = espressif32
board = heltec_wifi_lora_32
framework = arduino framework = arduino
monitor_baud = 115200 board = heltec_wifi_lora_32
upload_speed = 115200 upload_speed = 115200
lib_deps = lib_deps =
${common_env_data.lib_deps_builtin} ${common_env_data.lib_deps_display}
build_flags = build_flags =
${common_env_data.build_flags} ${common_env_data.build_flags}
-Dheltec_wifi_lora_32 -Dheltec_wifi_lora_32
@ -54,12 +55,11 @@ build_flags =
[env:ttgov1] [env:ttgov1]
platform = espressif32 platform = espressif32
board = esp32dev
framework = arduino framework = arduino
monitor_baud = 115200 board = esp32dev
upload_speed = 115200 upload_speed = 115200
lib_deps = lib_deps =
${common_env_data.lib_deps_builtin} ${common_env_data.lib_deps_display}
build_flags = build_flags =
${common_env_data.build_flags} ${common_env_data.build_flags}
-Dttgov1 -Dttgov1
@ -67,12 +67,11 @@ build_flags =
[env:ttgov2] [env:ttgov2]
platform = espressif32 platform = espressif32
board = esp32dev
framework = arduino framework = arduino
monitor_baud = 115200 board = esp32dev
upload_speed = 921600 upload_speed = 921600
lib_deps = lib_deps =
${common_env_data.lib_deps_builtin} ${common_env_data.lib_deps_display}
build_flags = build_flags =
${common_env_data.build_flags} ${common_env_data.build_flags}
-Dttgov2 -Dttgov2
@ -80,13 +79,11 @@ build_flags =
[env:lopy] [env:lopy]
platform = espressif32 platform = espressif32
board = esp32dev
framework = arduino framework = arduino
monitor_baud = 115200 board = esp32dev
upload_speed = 921600 upload_speed = 921600
lib_deps = lib_deps =
${common_env_data.lib_deps_builtin} ${common_env_data.lib_deps_rgbled}
SmartLeds
build_flags = build_flags =
${common_env_data.build_flags} ${common_env_data.build_flags}
-Dlopy -Dlopy
@ -94,13 +91,11 @@ build_flags =
[env:lopy4] [env:lopy4]
platform = espressif32 platform = espressif32
board = esp32dev
framework = arduino framework = arduino
monitor_baud = 115200 board = esp32dev
upload_speed = 921600 upload_speed = 921600
lib_deps = lib_deps =
${common_env_data.lib_deps_builtin} ${common_env_data.lib_deps_rgbled}
SmartLeds
build_flags = build_flags =
${common_env_data.build_flags} ${common_env_data.build_flags}
-Dlopy4 -Dlopy4
@ -108,13 +103,11 @@ build_flags =
[env:lolin32lite_lora] [env:lolin32lite_lora]
platform = espressif32 platform = espressif32
board = lolin32
framework = arduino framework = arduino
monitor_baud = 115200 board = lolin32
upload_speed = 256000 upload_speed = 256000
lib_deps = lib_deps =
${common_env_data.lib_deps_builtin} ${common_env_data.lib_deps_rgbled}
SmartLeds
build_flags = build_flags =
${common_env_data.build_flags} ${common_env_data.build_flags}
-Dlolin32lite_lora -Dlolin32lite_lora
@ -122,13 +115,11 @@ build_flags =
[env:lolin32_lora] [env:lolin32_lora]
platform = espressif32 platform = espressif32
framework = arduino
board = lolin32 board = lolin32
framework = arduino
monitor_baud = 115200
upload_speed = 921600 upload_speed = 921600
lib_deps = lib_deps =
${common_env_data.lib_deps_builtin} ${common_env_data.lib_deps_rgbled}
SmartLeds
build_flags = build_flags =
${common_env_data.build_flags} ${common_env_data.build_flags}
-Dlolin32_lora -Dlolin32_lora

View File

@ -6,8 +6,10 @@
#include <array> #include <array>
#include <algorithm> #include <algorithm>
// OLED Display #ifdef HAS_DISPLAY
#include <U8x8lib.h> // OLED Display
#include <U8x8lib.h>
#endif
// LMIC-Arduino LoRaWAN Stack // LMIC-Arduino LoRaWAN Stack
#include <lmic.h> #include <lmic.h>
@ -52,8 +54,6 @@ extern std::set<uint16_t> macs;
#ifdef HAS_DISPLAY #ifdef HAS_DISPLAY
extern HAS_DISPLAY u8x8; extern HAS_DISPLAY u8x8;
#else
extern U8X8_NULL u8x8;
#endif #endif
#ifdef BLECOUNTER #ifdef BLECOUNTER

View File

@ -27,9 +27,8 @@ Refer to LICENSE.txt file in repository for more details.
// std::set for unified array functions // std::set for unified array functions
#include <set> #include <set>
// OLED driver // Does nothing and avoid any compilation error with I2C
#include <U8x8lib.h> #include <Wire.h>
#include <Wire.h> // Does nothing and avoid any compilation error with I2C
// LMIC-Arduino LoRaWAN Stack // LMIC-Arduino LoRaWAN Stack
#include "loraconf.h" #include "loraconf.h"
@ -207,8 +206,6 @@ void lorawan_loop(void * pvParameters) {
#ifdef HAS_DISPLAY #ifdef HAS_DISPLAY
HAS_DISPLAY u8x8(OLED_RST, OLED_SCL, OLED_SDA); HAS_DISPLAY u8x8(OLED_RST, OLED_SCL, OLED_SDA);
#else
U8X8_NULL u8x8;
#endif #endif
#ifdef HAS_ANTENNA_SWITCH #ifdef HAS_ANTENNA_SWITCH
@ -332,6 +329,7 @@ uint64_t uptime() {
return (uint64_t) high32 << 32 | low32; return (uint64_t) high32 << 32 | low32;
} }
#ifdef HAS_DISPLAY
// Print a key on display // Print a key on display
void DisplayKey(const uint8_t * key, uint8_t len, bool lsb) { void DisplayKey(const uint8_t * key, uint8_t len, bool lsb) {
uint8_t start=lsb?len:0; uint8_t start=lsb?len:0;
@ -345,10 +343,9 @@ void DisplayKey(const uint8_t * key, uint8_t len, bool lsb) {
} }
void init_display(const char *Productname, const char *Version) { void init_display(const char *Productname, const char *Version) {
uint8_t buf[32];
u8x8.begin(); u8x8.begin();
u8x8.setFont(u8x8_font_chroma48medium8_r); u8x8.setFont(u8x8_font_chroma48medium8_r);
#ifdef HAS_DISPLAY
uint8_t buf[32];
u8x8.clear(); u8x8.clear();
u8x8.setFlipMode(0); u8x8.setFlipMode(0);
u8x8.setInverseFont(1); u8x8.setInverseFont(1);
@ -392,8 +389,8 @@ void init_display(const char *Productname, const char *Version) {
DisplayKey(buf, 8, true); DisplayKey(buf, 8, true);
delay(5000); delay(5000);
u8x8.clear(); u8x8.clear();
#endif // HAS_DISPLAY
} }
#endif // HAS_DISPLAY
/* begin Aruino SETUP ------------------------------------------------------------ */ /* begin Aruino SETUP ------------------------------------------------------------ */
@ -461,6 +458,7 @@ void setup() {
antenna_init(); antenna_init();
#endif #endif
#ifdef HAS_DISPLAY
// 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
@ -474,6 +472,7 @@ void setup() {
u8x8.setCursor(0,5); u8x8.setCursor(0,5);
u8x8.printf(!cfg.rssilimit ? "RLIM: off" : "RLIM: %d", cfg.rssilimit); u8x8.printf(!cfg.rssilimit ? "RLIM: off" : "RLIM: %d", cfg.rssilimit);
sprintf(display_lora, "Join wait"); sprintf(display_lora, "Join wait");
#endif
// output LoRaWAN keys to console // output LoRaWAN keys to console
#ifdef VERBOSE #ifdef VERBOSE