From be7719aa158ccfa9a17fd860b3ab93ba3d701869 Mon Sep 17 00:00:00 2001 From: cyberman54 Date: Sun, 7 Aug 2022 12:44:25 +0200 Subject: [PATCH] initial commit --- include/globals.h | 2 +- include/i2c.h | 17 +++++++------ include/led.h | 4 +-- src/hal/ttgotdisplays3.h | 55 ++++++++++++++++++++++++++++++++++++++++ src/reset.cpp | 12 ++++----- 5 files changed, 73 insertions(+), 17 deletions(-) create mode 100644 src/hal/ttgotdisplays3.h diff --git a/include/globals.h b/include/globals.h index 9150be80..c4ed7ed8 100644 --- a/include/globals.h +++ b/include/globals.h @@ -12,7 +12,7 @@ #include #include #include -#include +//#include #define _bit(b) (1U << (b)) #define _bitl(b) (1UL << (b)) diff --git a/include/i2c.h b/include/i2c.h index ce64ff70..ec6709f9 100644 --- a/include/i2c.h +++ b/include/i2c.h @@ -3,6 +3,15 @@ #include #include +#include + +#ifndef MY_DISPLAY_SDA +#define MY_DISPLAY_SDA SDA +#endif + +#ifndef MY_DISPLAY_SCL +#define MY_DISPLAY_SCL SCL +#endif #define SSD1306_PRIMARY_ADDRESS (0x3D) #define SSD1306_SECONDARY_ADDRESS (0x3C) @@ -13,14 +22,6 @@ #define MCP_24AA02E64_PRIMARY_ADDRESS (0x50) #define QUECTEL_GPS_PRIMARY_ADDRESS (0x10) -#ifndef MY_DISPLAY_SDA -#define MY_DISPLAY_SDA SDA -#endif - -#ifndef MY_DISPLAY_SCL -#define MY_DISPLAY_SCL SCL -#endif - extern SemaphoreHandle_t I2Caccess; void i2c_init(void); diff --git a/include/led.h b/include/led.h index 6ee08289..d7e349ad 100644 --- a/include/led.h +++ b/include/led.h @@ -1,8 +1,8 @@ #ifndef _LED_H #define _LED_H -#include -#include "lorawan.h" +//#include +//#include "lorawan.h" #ifndef RGB_LED_COUNT #define RGB_LED_COUNT 1 diff --git a/src/hal/ttgotdisplays3.h b/src/hal/ttgotdisplays3.h new file mode 100644 index 00000000..3e6ee8a1 --- /dev/null +++ b/src/hal/ttgotdisplays3.h @@ -0,0 +1,55 @@ +// clang-format off +// upload_speed 1500000 +// board ESP32-S3-DevKitC-1 + +#ifndef _TTGOTDISPLAY_H +#define _TTGOTDISPLAY_H + +#include + +#define DISABLE_BROWNOUT 1 // comment out if you want to keep brownout feature + +//#define HAS_DISPLAY 2 // TFT-LCD, support work in progess, not ready yet +#define MY_DISPLAY_FLIP 1 // use if display is rotated + +#define HAS_LED NOT_A_PIN // no on board LED (?) +#define HAS_BUTTON (35) // on board button A + +// power management settings +//#define BAT_MEASURE_ADC ADC1_GPIO34_CHANNEL // battery probe GPIO pin -> ADC1_CHANNEL_6 +//#define BAT_VOLTAGE_DIVIDER 2.605f // voltage divider + +// Display Settings +#define MY_DISPLAY_WIDTH 135 +#define MY_DISPLAY_HEIGHT 240 +#define MY_DISPLAY_INVERT 1 + +// setting for TTGO T-display +#define USER_SETUP_LOADED 1 +#define ST7789_DRIVER 1 + +#define CGRAM_OFFSET + +#define TFT_CS GPIO_NUM_6 // Chip select control +#define TFT_DC GPIO_NUM_7 // Data Command control +#define TFT_RST GPIO_NUM_5 // Reset +#define TFT_BL GPIO_NUM_38 // LED back-light + +#define TOUCH_CS NOT_A_PIN + +#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red + +#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH +#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters +#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters +#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm +#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. +#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. +//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT +#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts +#define SMOOTH_FONT + +#define SPI_FREQUENCY 40000000 +#define SPI_READ_FREQUENCY 6000000 + +#endif diff --git a/src/reset.cpp b/src/reset.cpp index f62cb54b..53a270cc 100644 --- a/src/reset.cpp +++ b/src/reset.cpp @@ -61,7 +61,7 @@ void do_after_reset(void) { reset_rtc_vars(); break; - case SW_CPU_RESET: // 0x0c Software reset CPU + case RTC_SW_CPU_RESET: // 0x0c Software reset CPU // keep previous set runmode (update / normal / maintenance) RTC_restarts++; break; @@ -83,16 +83,16 @@ void do_after_reset(void) { RTC_runmode = RUNMODE_WAKEUP; break; - case SW_RESET: // 0x03 Software reset digital core - case OWDT_RESET: // 0x04 Legacy watch dog reset digital core - case SDIO_RESET: // 0x06 Reset by SLC module, reset digital core + //case SW_RESET: // 0x03 Software reset digital core + //case OWDT_RESET: // 0x04 Legacy watch dog reset digital core + //case SDIO_RESET: // 0x06 Reset by SLC module, reset digital core case TG0WDT_SYS_RESET: // 0x07 Timer Group0 Watch dog reset digital core case TG1WDT_SYS_RESET: // 0x08 Timer Group1 Watch dog reset digital core case RTCWDT_SYS_RESET: // 0x09 RTC Watch dog Reset digital core case INTRUSION_RESET: // 0x0a Instrusion tested to reset CPU - case TGWDT_CPU_RESET: // 0x0b Time Group reset CPU + //case TGWDT_CPU_RESET: // 0x0b Time Group reset CPU case RTCWDT_CPU_RESET: // 0x0d RTC Watch dog Reset CPU - case EXT_CPU_RESET: // 0x0e for APP CPU, reseted by PRO CPU + //case EXT_CPU_RESET: // 0x0e for APP CPU, reseted by PRO CPU case RTCWDT_RTC_RESET: // 0x10 RTC Watch dog reset digital core and rtc mode default: RTC_runmode = RUNMODE_POWERCYCLE;