development branch created
This commit is contained in:
		
						commit
						156aba2709
					
				| @ -23,6 +23,7 @@ Currently supported IoT boards: | ||||
| - TTGOv2 | ||||
| - Pycom LoPy | ||||
| - Pycom LoPy4 | ||||
| - LoLin32 with [LoraNode32 shield](https://github.com/hallard/LoLin32-Lora) | ||||
| 
 | ||||
| Target platform must be selected in [platformio.ini](https://github.com/cyberman54/ESP32-Paxcounter/blob/master/platformio.ini).<br> | ||||
| Hardware dependent settings (pinout etc.) are stored in board files in /hal directory.<br> | ||||
| @ -37,6 +38,7 @@ Hardware dependent settings (pinout etc.) are stored in board files in /hal dire | ||||
| - TTGOv2 ~670mW | ||||
| - LoPy with expansion board: ~530mW | ||||
| - LoPy pure, without expansion board: ~460mW | ||||
| - LoLin32 with [LoraNode32 shield](https://github.com/hallard/LoLin32-Lora): TBD | ||||
| 
 | ||||
| These results where metered with software version 1.2.0 during active wifi scan, no LoRa TX’ing, OLED display off, 5V USB powered. | ||||
| 
 | ||||
|  | ||||
| @ -15,6 +15,7 @@ env_default = heltec_wifi_lora_32 | ||||
| ;env_default = ttgov2 | ||||
| ;env_default = lopy | ||||
| ;env_default = lopy4 | ||||
| ;env_default = lolin32_lora | ||||
| 
 | ||||
| [env:heltec_wifi_lora_32] | ||||
| platform = espressif32 | ||||
| @ -123,4 +124,28 @@ build_flags = | ||||
|     -include "src/main.h" | ||||
|     -include "src/hal/lopy4.h" | ||||
| ;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp) | ||||
| ;   -DCONFIG_FREERTOS_UNICORE | ||||
| ;   -DCONFIG_FREERTOS_UNICORE | ||||
| 
 | ||||
| [env:lolin32_lora] | ||||
| platform = espressif32 | ||||
| board = lolin32 | ||||
| framework = arduino | ||||
| monitor_baud = 115200 | ||||
| upload_speed = 921600 | ||||
| lib_deps =  | ||||
|     U8g2 | ||||
|     ESP32 BLE Arduino@>=0.4.9 | ||||
| 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/lolin32_lora.h" | ||||
| ;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp) | ||||
| ;   -DCONFIG_FREERTOS_UNICORE | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										32
									
								
								src/hal/lolin32_lora.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/hal/lolin32_lora.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | ||||
| // Hardware related definitions for lolin32 loraNode32 shield
 | ||||
| // See https://github.com/hallard/LoLin32-Lora
 | ||||
| 
 | ||||
| // disable brownout detection (avoid unexpected reset on some boards)
 | ||||
| #define DISABLE_BROWNOUT 1 // comment out if you want to keep brownout feature
 | ||||
| 
 | ||||
| #define HAS_DISPLAY U8X8_SSD1306_128X64_NONAME_HW_I2C // OLED-Display on board
 | ||||
| #define HAS_LED NOT_A_PIN // Led os on same pin than Lora SS pin, to avoid pb, we don't use it
 | ||||
|                           // Anyway shield is on over the LoLin32 board, so we won't be able to see this LED
 | ||||
| #define HAS_RGB_LED   13  // ESP32 GPIO13 (pin13) On Board Shield WS2812B RGB LED
 | ||||
| #define HAS_BUTTON    15  // ESP32 GPIO15 (pin15) Button is on the LoraNode32 shield
 | ||||
| #define BUTTON_PULLUP  1  // Button need pullup instead of default pulldown
 | ||||
| 
 | ||||
| #define CFG_sx1276_radio 1 // RFM95 module
 | ||||
| 
 | ||||
| // re-define pin definitions of pins_arduino.h
 | ||||
| #define PIN_SPI_SS     5 // ESP32  GPIO5 (Pin5)  -- SX1276 NSS  (Pin19) SPI Chip Select Input
 | ||||
| #define PIN_SPI_MOSI  23 // ESP32 GPIO23 (Pin23) -- SX1276 MOSI (Pin18) SPI Data Input
 | ||||
| #define PIN_SPI_MISO  19 // ESP32 GPIO19 (Pin19) -- SX1276 MISO (Pin17) SPI Data Output
 | ||||
| #define PIN_SPI_SCK   18 // ESP32 GPIO18 (Pin18  -- SX1276 SCK  (Pin16) SPI Clock Input
 | ||||
| 
 | ||||
| // non arduino pin definitions
 | ||||
| #define RST   25 // ESP32 GPIO25 (Pin25) -- SX1276 NRESET (Pin7)  Reset Trigger Input
 | ||||
| #define DIO0  27 // ESP32 GPIO27 (Pin27) -- SX1276 DIO0   (Pin8)  used by LMIC for detecting LoRa RX_Done & TX_Done
 | ||||
| #define DIO1  26 // ESP32 GPIO26 (Pin26) -- SX1276 DIO1   (Pin9)  used by LMIC for detecting LoRa RX_Timeout
 | ||||
| #define DIO2   4 // ESP32  GPIO4 (Pin4)  -- SX1276 DIO2   (Pin10) not used by LMIC for LoRa (Timeout for FSK only)
 | ||||
| 
 | ||||
| // Hardware pin definitions for LoRaNode32 Board with OLED I2C Display
 | ||||
| #define OLED_RST U8X8_PIN_NONE  // Not reset pin
 | ||||
| #define OLED_SDA 21             // ESP32 GPIO21 (Pin21) -- OLED SDA
 | ||||
| #define OLED_SCL 22             // ESP32 GPIO22 (Pin22) -- OLED SCL
 | ||||
| 
 | ||||
							
								
								
									
										18
									
								
								src/main.cpp
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								src/main.cpp
									
									
									
									
									
								
							| @ -323,6 +323,12 @@ void init_display(const char *Productname, const char *Version) { | ||||
| 
 | ||||
| void setup() { | ||||
| 
 | ||||
|   // disable brownout detection
 | ||||
| #ifdef DISABLE_BROWNOUT | ||||
|   // Register with brownout is at address DR_REG_RTCCNTL_BASE + 0xd4
 | ||||
|   (*((volatile uint32_t *)ETS_UNCACHED_ADDR((DR_REG_RTCCNTL_BASE+0xd4)))) = 0; | ||||
| #endif | ||||
| 
 | ||||
|     // setup debug output or silence device
 | ||||
| #ifdef VERBOSE | ||||
|     Serial.begin(115200); | ||||
| @ -361,10 +367,16 @@ void setup() { | ||||
|     digitalWrite(HAS_LED, LOW); | ||||
| #endif | ||||
| 
 | ||||
|     // install button interrupt
 | ||||
| #ifdef HAS_BUTTON | ||||
|     pinMode(HAS_BUTTON, INPUT_PULLDOWN); | ||||
|     attachInterrupt(digitalPinToInterrupt(HAS_BUTTON), isr_button_pressed, FALLING);  | ||||
|     #ifdef BUTTON_PULLUP | ||||
|         // install button interrupt (pullup mode)
 | ||||
|         pinMode(HAS_BUTTON, INPUT_PULLUP); | ||||
|         attachInterrupt(digitalPinToInterrupt(HAS_BUTTON), isr_button_pressed, RISING);  | ||||
|     #else | ||||
|         // install button interrupt (pulldown mode)
 | ||||
|         pinMode(HAS_BUTTON, INPUT_PULLDOWN); | ||||
|         attachInterrupt(digitalPinToInterrupt(HAS_BUTTON), isr_button_pressed, FALLING);  | ||||
|     #endif | ||||
| #endif | ||||
| 
 | ||||
|     // initialize wifi antenna
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user