diff --git a/.gitignore b/.gitignore index 500bb8a..2f329bf 100644 --- a/.gitignore +++ b/.gitignore @@ -799,3 +799,116 @@ bin-release/ .pio/build/az-delivery-devkit-v4/libfe0/WiFiClientSecure/WiFiClientSecure.cpp.o .pio/build/az-delivery-devkit-v4/src/configServer.cpp.o .pio/build/az-delivery-devkit-v4/src/WZePaperDisplay.cpp.o +.pio/build/az-delivery-devkit-v4/lib655/libAdafruit GFX Library@1.10.12.a +.pio/build/az-delivery-devkit-v4/lib655/Adafruit GFX Library@1.10.12/Adafruit_GFX.cpp.o +.pio/build/az-delivery-devkit-v4/lib655/Adafruit GFX Library@1.10.12/Adafruit_GrayOLED.cpp.o +.pio/build/az-delivery-devkit-v4/lib655/Adafruit GFX Library@1.10.12/Adafruit_SPITFT.cpp.o +.pio/build/az-delivery-devkit-v4/lib655/Adafruit GFX Library@1.10.12/glcdfont.c.o +.pio/build/az-delivery-devkit-v4/libc70/libAdafruit BusIO@1.9.8.a +.pio/build/az-delivery-devkit-v4/libc70/Adafruit BusIO@1.9.8/Adafruit_BusIO_Register.cpp.o +.pio/build/az-delivery-devkit-v4/libc70/Adafruit BusIO@1.9.8/Adafruit_I2CDevice.cpp.o +.pio/build/az-delivery-devkit-v4/libc70/Adafruit BusIO@1.9.8/Adafruit_SPIDevice.cpp.o +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO/CMakeLists.txt +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO/component.mk +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/.piopm +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/Adafruit_BusIO_Register.cpp +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/Adafruit_BusIO_Register.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/Adafruit_I2CDevice.cpp +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/Adafruit_I2CDevice.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/Adafruit_I2CRegister.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/Adafruit_SPIDevice.cpp +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/Adafruit_SPIDevice.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/library.properties +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/LICENSE +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/README.md +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/.github/ISSUE_TEMPLATE.md +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/.github/PULL_REQUEST_TEMPLATE.md +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/.github/workflows/githubci.yml +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/examples/i2c_address_detect/i2c_address_detect.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/examples/i2c_readwrite/i2c_readwrite.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/examples/i2c_registers/i2c_registers.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/examples/i2corspi_register/i2corspi_register.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/examples/spi_modetest/spi_modetest.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/examples/spi_readwrite/spi_readwrite.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/examples/spi_register_bits/spi_register_bits.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit BusIO@1.9.8/examples/spi_registers/spi_registers.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library/CMakeLists.txt +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library/component.mk +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/.gitignore +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/.piopm +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Adafruit_GFX.cpp +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Adafruit_GFX.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Adafruit_GrayOLED.cpp +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Adafruit_GrayOLED.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Adafruit_SPITFT_Macros.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Adafruit_SPITFT.cpp +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Adafruit_SPITFT.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/gfxfont.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/glcdfont.c +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/library.properties +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/license.txt +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/README.md +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/.github/ISSUE_TEMPLATE.md +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/.github/PULL_REQUEST_TEMPLATE.md +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/.github/workflows/githubci.yml +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMono9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMono12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMono18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMono24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoBold9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoBold12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoBold18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoBold24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoBoldOblique9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoBoldOblique12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoBoldOblique18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoBoldOblique24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoOblique9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoOblique12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoOblique18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeMonoOblique24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSans9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSans12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSans18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSans24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansBold9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansBold12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansBold18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansBold24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansBoldOblique9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansBoldOblique12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansBoldOblique18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansBoldOblique24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansOblique9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansOblique12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansOblique18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSansOblique24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerif9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerif12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerif18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerif24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifBold9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifBold12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifBold18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifBold24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifBoldItalic9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifBoldItalic12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifBoldItalic18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifBoldItalic24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifItalic9pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifItalic12pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifItalic18pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/FreeSerifItalic24pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/Org_01.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/Picopixel.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/Tiny3x3a2pt7b.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/Fonts/TomThumb.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/examples/GFXcanvas/GFXcanvas.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/examples/GFXcanvas/GFXcanvasSerialDemo.cpp +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/examples/GFXcanvas/GFXcanvasSerialDemo.h +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/examples/mock_ili9341/mock_ili9341.ino +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/fontconvert/bdf2adafruit.py +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/fontconvert/fontconvert_win.md +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/fontconvert/fontconvert.c +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/fontconvert/Makefile +.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX Library@1.10.12/fontconvert/makefonts.sh diff --git a/src/WZePaperDisplay.cpp b/src/WZePaperDisplay.cpp index 2d2ee82..22455bc 100644 --- a/src/WZePaperDisplay.cpp +++ b/src/WZePaperDisplay.cpp @@ -61,16 +61,17 @@ extern int configServerUptimeMax; extern void eraseConfigData(); extern WZConfig_s WZConfig; -const char *WZVersion = "1.0.2"; +const char *WZVersion = "1.1.0"; // pin for reading commands, commands depends from the time the button is pressed // calibration command: button more then 10 seconds pressed const uint8_t buttonPin = 0; // command button: USER (BOOT) button on device is GPIO0 +const int touchPin = T3; // touch button: touch button on device is GPIO15 (D15) uint16_t WAIT_TIME_FOR_BUTTON = 10000; // give user time to press USER button, in milliseconds -int buttonState = HIGH; // if USER (BOOT)_KEY not pressed: state is HIGH -uint8_t buttonread = 0; -uint8_t CMD_COUNTER = 0; // count the seconds the USER (BOOT)_KEY is pressed +bool ConfigPinsState = 0; // +bool ConfigPinsPressed = 0; +uint8_t CMD_COUNTER = 0; // count the seconds the USER (BOOT)_KEY is pressed const uint8_t START_CONFIG_SERVER_COUNTER = 15; // < 15s: start configuration server const uint8_t CONFIG_RESET_COUNTER = 20; // > 20s: reset config data in NVS flash area @@ -1020,28 +1021,38 @@ void displayTrafficData() while (display.nextPage()); } -// check if user has pressed button for configuration menue -void checkUserButton() { - Log.info(F("checkUserButton")); +// check if user has pressed button or touchPin for configuration menue +void checkConfigPinsPressed() { + Log.info(F("checkConfigPinsPressed")); CMD_COUNTER = 0; - // check if button is pressed, will change from HIGH to LOW - buttonread = digitalRead(buttonPin); - Log.verbose(F(" buttonread state (pressed=0): %i"), buttonread); - - if (buttonread == LOW) { //check if button was pressed before and being pressed now + // check if button or touchPin are pressed + // buttonPin pressed: HIGH -> LOW + if ( ! digitalRead(buttonPin) || (touchRead(touchPin) < 20) ) { + ConfigPinsPressed = 1; + } else { + ConfigPinsPressed = 0; + } + + Log.verbose(F(" ConfigPinsPressed state (pressed or touched = 1): %i"), ConfigPinsPressed); + + if ( ConfigPinsPressed == 1 ) { //check if button or touchPin was pressed before and being pressed now // show configuration screen messages displayConfigScreen(); - if (buttonState == HIGH) + if (ConfigPinsState == 0) { - buttonState = LOW; - Log.verbose(F(" button pressed")); - // now count the seconds the button is pressed - while ( buttonState != HIGH ) + ConfigPinsState = 1; + Log.verbose(F(" Config button or touchPin pressed")); + // now count the seconds the button ore touchPin is pressed + while ( ConfigPinsState != 0 ) { - buttonState = digitalRead(buttonPin); + if ( ! digitalRead(buttonPin) || (touchRead(touchPin) < 20) ) { + ConfigPinsState = 1; + } else { + ConfigPinsState = 0; + } CMD_COUNTER++; Log.verbose(F(" CMD_COUNTER: %i"), CMD_COUNTER); @@ -1050,7 +1061,8 @@ void checkUserButton() { displayMessage(display_message_buffer, 130, u8g2_font_lubB14_tf); // erase configuration data - eraseConfigData(); + Log.info(F("eraseConfigData")); + //eraseConfigData(); } // increment counter every second @@ -1067,19 +1079,19 @@ void checkUserButton() { startConfigServer(); CMD_COUNTER = 0; // reset counter - buttonState = HIGH; + ConfigPinsState = 0; } CMD_COUNTER = 0; // reset counter - buttonState = HIGH; + ConfigPinsState = 0; } } else { - if (buttonState == LOW) { - buttonState = HIGH; + if (ConfigPinsState == 1) { + ConfigPinsState = 0; } } - Log.verbose(F("checkUserButton - end")); + Log.verbose(F("checkConfigPinsPressed - end")); } // send heartbeat to external server @@ -1237,7 +1249,7 @@ void setup() { // read the state of the user button value now // config server only starts after pressing the user button for 1 second - checkUserButton(); + checkConfigPinsPressed(); // check important configuration data if ( strlen(WZConfig.Language) == 0 ) {