Merge remote-tracking branch 'upstream/master' into av/ttgo-t-wristband

This commit is contained in:
Antonio Vanegas committed 2020-12-01 01:09:42 +01:00
commit f794edaa0d
8 files changed
+95 -48

No files matched your search

+1 -1
View File
@@ -53,7 +53,7 @@ QRCode qrcode;
#if (HAS_DISPLAY) == 1
OBDISP ssoled;
#elif (HAS_DISPLAY) == 2
TFT_eSPI tft = TFT_eSPI();
TFT_eSPI tft = TFT_eSPI(MY_DISPLAY_WIDTH, MY_DISPLAY_HEIGHT);
#else
#error Unknown display type specified in hal file
#endif
+55
View File
@@ -0,0 +1,55 @@
// clang-format off
// upload_speed 1500000
// board esp32dev
#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_MOSI GPIO_NUM_19 // SPI
#define TFT_SCLK GPIO_NUM_18 // SPI
#define TFT_CS GPIO_NUM_5 // Chip select control
#define TFT_DC GPIO_NUM_16 // Data Command control
#define TFT_RST GPIO_NUM_23 // Reset
#define TFT_BL GPIO_NUM_4 // LED back-light
#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
+2 -2
View File
@@ -134,7 +134,7 @@ uint16_t mac_analyze(MacBuffer_t MacBuffer) {
uint32_t *oui; // temporary buffer for vendor OUI
oui = (uint32_t *)MacBuffer.mac;
// if we find OUI on vendor filter list we don't analyze and return early
if (std::find(vendors.begin(), vendors.end(), __builtin_bswap32(*oui) >> 8) !=
if (std::find(vendors.begin(), vendors.end(), __builtin_bswap32(*oui) >> 8) ==
vendors.end())
return 0;
#endif
@@ -212,4 +212,4 @@ uint16_t mac_analyze(MacBuffer_t MacBuffer) {
// if an unknown Wifi or BLE mac was counted, return hash of this mac, else 0
return (added ? hashedmac : 0);
}
}
+11 -8
View File
@@ -47,12 +47,10 @@ void AXP192_powerevent_IRQ(void) {
if (pmu.isBattTempHighIRQ())
ESP_LOGI(TAG, "Battery low temperature.");
// short press -> esp32 deep sleep mode, can be exited by pressing user button
#ifdef HAS_BUTTON
// short press -> esp32 deep sleep mode, can be exited by pressing user button
if (pmu.isPEKShortPressIRQ() && (RTC_runmode == RUNMODE_NORMAL)) {
enter_deepsleep(0, HAS_BUTTON);
}
#endif
// long press -> shutdown power, can be exited by another longpress
if (pmu.isPEKLongtPressIRQ()) {
@@ -85,10 +83,12 @@ void AXP192_power(pmu_power_t powerlevel) {
pmu.setPowerOutPut(AXP192_LDO2, AXP202_OFF); // lora off
break;
default: // all rails power on
pmu.setPowerOutPut(AXP192_LDO2, AXP202_ON); // Lora on T-Beam V1.0
pmu.setPowerOutPut(AXP192_LDO3, AXP202_ON); // Gps on T-Beam V1.0
pmu.setPowerOutPut(AXP192_DCDC1, AXP202_ON); // OLED on T-Beam v1.0
default: // all rails power on
pmu.setPowerOutPut(AXP192_LDO2, AXP202_ON); // Lora on T-Beam V1.0
pmu.setPowerOutPut(AXP192_LDO3, AXP202_ON); // Gps on T-Beam V1.0
pmu.setPowerOutPut(AXP192_DCDC1, AXP202_ON); // OLED on T-Beam v1.0
pmu.setPowerOutPut(AXP192_DCDC2, AXP202_OFF); // unused on T-Beam v1.0
pmu.setPowerOutPut(AXP192_EXTEN, AXP202_OFF); // unused on T-Beam v1.0
pmu.setChgLEDMode(AXP20X_LED_LOW_LEVEL);
break;
}
@@ -121,6 +121,8 @@ void AXP192_init(void) {
// configure AXP192
pmu.setDCDC1Voltage(3300); // for external OLED display
pmu.setLDO2Voltage(3300); // LORA VDD 3v3
pmu.setLDO3Voltage(3300); // GPS VDD 3v3
pmu.setTimeOutShutdown(false); // no automatic shutdown
pmu.setTSmode(AXP_TS_PIN_MODE_DISABLE); // TS pin mode off to save power
@@ -138,7 +140,8 @@ void AXP192_init(void) {
attachInterrupt(digitalPinToInterrupt(PMU_INT), PMUIRQ, FALLING);
pmu.enableIRQ(AXP202_VBUS_REMOVED_IRQ | AXP202_VBUS_CONNECT_IRQ |
AXP202_BATT_REMOVED_IRQ | AXP202_BATT_CONNECT_IRQ |
AXP202_CHARGING_FINISHED_IRQ,
AXP202_CHARGING_FINISHED_IRQ | AXP202_PEK_SHORTPRESS_IRQ |
AXP202_PEK_LONGPRESS_IRQ,
1);
pmu.clearIRQ();
#endif // PMU_INT