v1.2.1: TTGOv1 support (experimental)

This commit is contained in:
Klaus K Wilting 2018-03-20 21:38:41 +01:00
parent 0415496b58
commit 548a1ce22d
7 changed files with 104 additions and 58 deletions

View File

@ -1,6 +1,6 @@
# Paxcounter # Paxcounter
Wifi & Bluetooth driven, LoRaWAN enabled, battery powered mini ESP32 Paxcounter **Wifi & Bluetooth driven, LoRaWAN enabled, battery powered mini ESP32 Paxcounter
built on cheap ESP32 boards built on cheap ESP32 boards**
<img src="img/foto_no_exif.jpg"> <img src="img/foto_no_exif.jpg">
@ -8,6 +8,7 @@ built on cheap ESP32 boards
Currently supported IoT boards: Currently supported IoT boards:
- Heltec LoRa-32 - Heltec LoRa-32
- TTGOv1
- TTGOv2 - TTGOv2
- Pycom LoPy - Pycom LoPy
- Pycom LoPy4 - Pycom LoPy4

View File

@ -9,8 +9,9 @@
; http://docs.platformio.org/page/projectconf.html ; http://docs.platformio.org/page/projectconf.html
[platformio] [platformio]
env_default = heltec_wifi_lora_32 ;env_default = heltec_wifi_lora_32
;env_default = ttgo ;env_default = ttgov2
env_default = ttgov1
;env_default = lopy ;env_default = lopy
;env_default = lopy4 ;env_default = lopy4
@ -34,7 +35,7 @@ build_flags =
;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp) ;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp)
; -DCONFIG_FREERTOS_UNICORE ; -DCONFIG_FREERTOS_UNICORE
[env:ttgo] [env:ttgov1]
platform = espressif32 platform = espressif32
board = esp32dev board = esp32dev
framework = arduino framework = arduino
@ -50,7 +51,28 @@ build_flags =
;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"
-include "src/hal/ttgo.h" -include "src/hal/ttgov1.h"
;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp)
; -DCONFIG_FREERTOS_UNICORE
[env:ttgov2]
platform = espressif32
board = esp32dev
framework = arduino
monitor_baud = 115200
lib_deps = U8g2
build_flags =
;set log level, we need build_flag for this, otherwise we can't use ESP_LOGx in arduino framework
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE
;needed for ESP32 BLE Ardunio v0.4.9
-fexceptions
-std=c++11
;override lora settings from LMiC library in lmic/config.h and use main.h instead
-D_lmic_config_h_
-include "src/main.h"
-include "src/hal/ttgov2.h"
;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp) ;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp)
; -DCONFIG_FREERTOS_UNICORE ; -DCONFIG_FREERTOS_UNICORE

View File

@ -2,8 +2,8 @@
#define HELTEC #define HELTEC
#define HAS_DISPLAY // has OLED-Display #define HAS_DISPLAY // has OLED-Display
#define HAS_LED // has on usable board LED #define HAS_LED // has usable on board LED
#define HAS_BUTTON // has onboard button #define HAS_BUTTON // has usable on board button
#define CFG_sx1276_radio 1 #define CFG_sx1276_radio 1
// re-define pin definitions of pins_arduino.h // re-define pin definitions of pins_arduino.h

22
src/hal/ttgov1.h Normal file
View File

@ -0,0 +1,22 @@
// Hardware related definitions for Heltec TTGOv1 board
#define TTGO
#define HAS_DISPLAY // has OLED-Display
#define CFG_sx1276_radio 1
// re-define pin definitions of pins_arduino.h
#define PIN_SPI_SS 18 // ESP32 GPIO18 (Pin18) -- SX1276 NSS (Pin19) SPI Chip Select Input
#define PIN_SPI_MOSI 27 // ESP32 GPIO27 (Pin27) -- SX1276 MOSI (Pin18) SPI Data Input
#define PIN_SPI_MISO 19 // ESP32 GPIO19 (Pin19) -- SX1276 MISO (Pin17) SPI Data Output
#define PIN_SPI_SCK 5 // ESP32 GPIO5 (Pin5) -- SX1276 SCK (Pin16) SPI Clock Input
// non arduino pin definitions
#define RST 14 // ESP32 GPIO14 (Pin14) -- SX1276 NRESET (Pin7) Reset Trigger Input
#define DIO0 26 // ESP32 GPIO26 (Pin15) -- SX1276 DIO0 (Pin8) used by LMIC for detecting LoRa RX_Done & TX_Done
#define DIO1 33 // ESP32 GPIO33 (Pin13) -- SX1276 DIO1 (Pin9) used by LMIC for detecting LoRa RX_Timeout
#define DIO2 32 // ESP32 GPIO32 (Pin12) -- SX1276 DIO2 (Pin10) not used by LMIC for LoRa (Timeout for FSK only)
// Hardware pin definitions for Heltec LoRa-32 Board with OLED SSD1306 I2C Display
#define OLED_RST 16 // ESP32 GPIO16 (Pin16) -- SD1306 Reset
#define OLED_SDA 4 // ESP32 GPIO4 (Pin4) -- SD1306 Data
#define OLED_SCL 15 // ESP32 GPIO15 (Pin15) -- SD1306 Clock

View File

@ -326,8 +326,9 @@ void setup() {
ESP_LOGI(TAG, "Starting %s %s", PROGNAME, PROGVERSION); ESP_LOGI(TAG, "Starting %s %s", PROGNAME, PROGVERSION);
tcpip_adapter_init(); // not sure if necessary, but seems needed for TTGOv1
// ESP Event Loop // ESP Event Loop
esp_event_loop_init(NULL, NULL); esp_event_loop_init(NULL, NULL); // not sure if necessary -> to be checked
// Print chip information on startup // Print chip information on startup
#ifdef VERBOSE #ifdef VERBOSE

View File

@ -1,5 +1,5 @@
// program version // program version
#define PROGVERSION "1.2.0" // use max 10 chars here! #define PROGVERSION "1.2.1" // use max 10 chars here!
#define PROGNAME "PAXCNT" #define PROGNAME "PAXCNT"
// Verbose enables serial output // Verbose enables serial output