M5stack Basic core support (experimental)
This commit is contained in:
parent
18eb82e96c
commit
edf038d6f2
@ -33,12 +33,15 @@ This can all be done with a single small and cheap ESP32 board for less than $20
|
|||||||
*LoRa & SPI*:
|
*LoRa & SPI*:
|
||||||
|
|
||||||
- Heltec: LoRa-32 v1 and v2
|
- Heltec: LoRa-32 v1 and v2
|
||||||
- TTGO: T1*, T2*, T3*, T-Beam, T-Fox (* supports microSD-card)
|
- TTGO: T1*, T2*, T3*, T-Beam, T-Fox
|
||||||
- Pycom: LoPy, LoPy4, FiPy
|
- Pycom: LoPy, LoPy4, FiPy
|
||||||
- Radioshuttle.de: [ECO Power Board](https://www.radioshuttle.de/esp32-eco-power/esp32-eco-power-board/)
|
- Radioshuttle.de: [ECO Power Board](https://www.radioshuttle.de/esp32-eco-power/esp32-eco-power-board/)
|
||||||
- WeMos: LoLin32 + [LoraNode32 shield](https://github.com/hallard/LoLin32-Lora),
|
- WeMos: LoLin32 + [LoraNode32 shield](https://github.com/hallard/LoLin32-Lora),
|
||||||
LoLin32lite + [LoraNode32-Lite shield](https://github.com/hallard/LoLin32-Lite-Lora)
|
LoLin32lite + [LoraNode32-Lite shield](https://github.com/hallard/LoLin32-Lite-Lora)
|
||||||
- Adafruit ESP32 Feather + LoRa Wing + OLED Wing, #IoT Octopus32 (Octopus + ESP32 Feather)
|
- Adafruit ESP32 Feather + LoRa Wing + OLED Wing, #IoT Octopus32 (Octopus + ESP32 Feather)
|
||||||
|
- M5Stack: [Basic Core*](https://m5stack.com/collections/m5-core/products/basic-core-iot-development-kit) + [Lora Module RA-01H](https://m5stack.com/collections/m5-module/products/lora-module-868mhz)
|
||||||
|
|
||||||
|
*) supports microSD-card
|
||||||
|
|
||||||
*SPI only*:
|
*SPI only*:
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ halfile = generic.h
|
|||||||
;halfile = octopus32.h
|
;halfile = octopus32.h
|
||||||
;halfile = tinypico.h
|
;halfile = tinypico.h
|
||||||
;halfile = tinypicomatrix.h
|
;halfile = tinypicomatrix.h
|
||||||
|
;halfile = m5stack.h
|
||||||
|
|
||||||
[platformio]
|
[platformio]
|
||||||
; upload firmware to board with usb cable
|
; upload firmware to board with usb cable
|
||||||
@ -43,10 +44,10 @@ description = Paxcounter is a device for metering passenger flows in realtime. I
|
|||||||
|
|
||||||
[common]
|
[common]
|
||||||
; for release_version use max. 10 chars total, use any decimal format like "a.b.c"
|
; for release_version use max. 10 chars total, use any decimal format like "a.b.c"
|
||||||
release_version = 1.9.85
|
release_version = 1.9.87
|
||||||
; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running!
|
; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running!
|
||||||
; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose
|
; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose
|
||||||
debug_level = 3
|
debug_level = 5
|
||||||
extra_scripts = pre:build.py
|
extra_scripts = pre:build.py
|
||||||
otakeyfile = ota.conf
|
otakeyfile = ota.conf
|
||||||
lorakeyfile = loraconf.h
|
lorakeyfile = loraconf.h
|
||||||
@ -94,6 +95,7 @@ build_flags_basic =
|
|||||||
'-DLOG_LOCAL_LEVEL=${common.debug_level}'
|
'-DLOG_LOCAL_LEVEL=${common.debug_level}'
|
||||||
'-DPROGVERSION="${common.release_version}"'
|
'-DPROGVERSION="${common.release_version}"'
|
||||||
build_flags_sensors =
|
build_flags_sensors =
|
||||||
|
;BSEC Software Library
|
||||||
-Llib/Bosch-BSEC/src/esp32/
|
-Llib/Bosch-BSEC/src/esp32/
|
||||||
-lalgobsec
|
-lalgobsec
|
||||||
build_flags_all =
|
build_flags_all =
|
||||||
@ -122,5 +124,5 @@ upload_protocol = esptool
|
|||||||
[env:dev]
|
[env:dev]
|
||||||
upload_protocol = esptool
|
upload_protocol = esptool
|
||||||
build_type = debug
|
build_type = debug
|
||||||
platform = https://github.com/platformio/platform-espressif32.git#develop
|
platform = https://github.com/platformio/platform-espressif32.git
|
||||||
platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git
|
platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git
|
62
src/hal/m5stack.h
Normal file
62
src/hal/m5stack.h
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
// clang-format off
|
||||||
|
// upload_speed 921600
|
||||||
|
// board M5Stack-Core-ESP32
|
||||||
|
|
||||||
|
// EXPERIMENTAL VERSION - NOT TESTED ON M5 HARDWARE YET
|
||||||
|
|
||||||
|
#ifndef _M5STACK_H
|
||||||
|
#define _M5STACK_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#define HAS_LORA 1 // comment out if device shall not send data via LoRa or has no M5 RA01 LoRa module
|
||||||
|
|
||||||
|
// Pins for LORA chip SPI interface, reset line and interrupt lines
|
||||||
|
#define LORA_SCK SCK
|
||||||
|
#define LORA_CS SS
|
||||||
|
#define LORA_MISO MISO
|
||||||
|
#define LORA_MOSI MOSI
|
||||||
|
#define LORA_RST GPIO_NUM_36
|
||||||
|
#define LORA_IRQ GPIO_NUM_26
|
||||||
|
#define LORA_IO1 GPIO_NUM_34 // must be externally wired on PCB!
|
||||||
|
#define LORA_IO2 LMIC_UNUSED_PIN
|
||||||
|
|
||||||
|
|
||||||
|
// enable only if you want to store a local paxcount table on the device
|
||||||
|
#define HAS_SDCARD 1 // this board has an SD-card-reader/writer
|
||||||
|
// Pins for SD-card
|
||||||
|
#define SDCARD_CS GPIO_NUM_4
|
||||||
|
#define SDCARD_MOSI MOSI
|
||||||
|
#define SDCARD_MISO MISO
|
||||||
|
#define SDCARD_SCLK SCK
|
||||||
|
|
||||||
|
// user defined sensors
|
||||||
|
//#define HAS_SENSORS 1 // comment out if device has user defined sensors
|
||||||
|
|
||||||
|
#define CFG_sx1276_radio 1 // select LoRa chip
|
||||||
|
#define BOARD_HAS_PSRAM // use if board has external PSRAM
|
||||||
|
#define DISABLE_BROWNOUT 1 // comment out if you want to keep brownout feature
|
||||||
|
|
||||||
|
//#define HAS_DISPLAY 1
|
||||||
|
//#define DISPLAY_FLIP 1 // use if display is rotated
|
||||||
|
//#define BAT_MEASURE_ADC ADC1_GPIO35_CHANNEL // battery probe GPIO pin -> ADC1_CHANNEL_7
|
||||||
|
//#define BAT_VOLTAGE_DIVIDER 2 // voltage divider 100k/100k on board
|
||||||
|
|
||||||
|
#define HAS_LED NOT_A_PIN // no on board LED (?)
|
||||||
|
#define HAS_BUTTON (39) // on board button A
|
||||||
|
|
||||||
|
// GPS settings
|
||||||
|
#define HAS_GPS 1 // use on board GPS
|
||||||
|
#define GPS_SERIAL 9600, SERIAL_8N1, RXD2, TXD2 // UBlox NEO 6M RX, TX
|
||||||
|
#define GPS_INT GPIO_NUM_35 // 30ns accurary timepulse, to be external wired on pcb: shorten R12!
|
||||||
|
|
||||||
|
// Pins for interface of LC Display
|
||||||
|
#define MY_OLED_CS GPIO_NUM_14
|
||||||
|
#define MY_OLED_DC GPIO_NUM_27
|
||||||
|
#define MY_OLED_CLK GPIO_NUM_18
|
||||||
|
#define MY_OLED_RST GPIO_NUM_33
|
||||||
|
#define MY_OLED_BL GPIO_NUM_32
|
||||||
|
#define MY_OLED_MOSI GPIO_NUM_23
|
||||||
|
#define MY_OLED_MISO GPIO_NUM_23
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user