initial commit

This commit is contained in:
cyberman54 2022-08-07 12:44:25 +02:00
parent 67350647c1
commit be7719aa15
5 changed files with 73 additions and 17 deletions

View File

@ -12,7 +12,7 @@
#include <set> #include <set>
#include <array> #include <array>
#include <algorithm> #include <algorithm>
#include <bsec.h> //#include <bsec.h>
#define _bit(b) (1U << (b)) #define _bit(b) (1U << (b))
#define _bitl(b) (1UL << (b)) #define _bitl(b) (1UL << (b))

View File

@ -3,6 +3,15 @@
#include <Arduino.h> #include <Arduino.h>
#include <BitBang_I2C.h> #include <BitBang_I2C.h>
#include <Wire.h>
#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_PRIMARY_ADDRESS (0x3D)
#define SSD1306_SECONDARY_ADDRESS (0x3C) #define SSD1306_SECONDARY_ADDRESS (0x3C)
@ -13,14 +22,6 @@
#define MCP_24AA02E64_PRIMARY_ADDRESS (0x50) #define MCP_24AA02E64_PRIMARY_ADDRESS (0x50)
#define QUECTEL_GPS_PRIMARY_ADDRESS (0x10) #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; extern SemaphoreHandle_t I2Caccess;
void i2c_init(void); void i2c_init(void);

View File

@ -1,8 +1,8 @@
#ifndef _LED_H #ifndef _LED_H
#define _LED_H #define _LED_H
#include <SmartLeds.h> //#include <SmartLeds.h>
#include "lorawan.h" //#include "lorawan.h"
#ifndef RGB_LED_COUNT #ifndef RGB_LED_COUNT
#define RGB_LED_COUNT 1 #define RGB_LED_COUNT 1

55
src/hal/ttgotdisplays3.h Normal file
View File

@ -0,0 +1,55 @@
// clang-format off
// upload_speed 1500000
// board ESP32-S3-DevKitC-1
#ifndef _TTGOTDISPLAY_H
#define _TTGOTDISPLAY_H
#include <stdint.h>
#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

View File

@ -61,7 +61,7 @@ void do_after_reset(void) {
reset_rtc_vars(); reset_rtc_vars();
break; 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) // keep previous set runmode (update / normal / maintenance)
RTC_restarts++; RTC_restarts++;
break; break;
@ -83,16 +83,16 @@ void do_after_reset(void) {
RTC_runmode = RUNMODE_WAKEUP; RTC_runmode = RUNMODE_WAKEUP;
break; break;
case SW_RESET: // 0x03 Software reset digital core //case SW_RESET: // 0x03 Software reset digital core
case OWDT_RESET: // 0x04 Legacy watch dog 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 SDIO_RESET: // 0x06 Reset by SLC module, reset digital core
case TG0WDT_SYS_RESET: // 0x07 Timer Group0 Watch dog 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 TG1WDT_SYS_RESET: // 0x08 Timer Group1 Watch dog reset digital core
case RTCWDT_SYS_RESET: // 0x09 RTC 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 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 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 case RTCWDT_RTC_RESET: // 0x10 RTC Watch dog reset digital core and rtc mode
default: default:
RTC_runmode = RUNMODE_POWERCYCLE; RTC_runmode = RUNMODE_POWERCYCLE;