Skip to content

Commit

Permalink
config touch pin added
Browse files Browse the repository at this point in the history
  • Loading branch information
CargoBikoMeter committed Jul 31, 2022
1 parent e59fd4e commit 0ffc628
Show file tree
Hide file tree
Showing 2 changed files with 150 additions and 25 deletions.
113 changes: 113 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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 [email protected]
.pio/build/az-delivery-devkit-v4/lib655/Adafruit GFX [email protected]/Adafruit_GFX.cpp.o
.pio/build/az-delivery-devkit-v4/lib655/Adafruit GFX [email protected]/Adafruit_GrayOLED.cpp.o
.pio/build/az-delivery-devkit-v4/lib655/Adafruit GFX [email protected]/Adafruit_SPITFT.cpp.o
.pio/build/az-delivery-devkit-v4/lib655/Adafruit GFX [email protected]/glcdfont.c.o
.pio/build/az-delivery-devkit-v4/libc70/libAdafruit [email protected]
.pio/build/az-delivery-devkit-v4/libc70/Adafruit [email protected]/Adafruit_BusIO_Register.cpp.o
.pio/build/az-delivery-devkit-v4/libc70/Adafruit [email protected]/Adafruit_I2CDevice.cpp.o
.pio/build/az-delivery-devkit-v4/libc70/Adafruit [email protected]/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 [email protected]/.piopm
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/Adafruit_BusIO_Register.cpp
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/Adafruit_BusIO_Register.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/Adafruit_I2CDevice.cpp
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/Adafruit_I2CDevice.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/Adafruit_I2CRegister.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/Adafruit_SPIDevice.cpp
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/Adafruit_SPIDevice.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/library.properties
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/LICENSE
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/README.md
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/.github/ISSUE_TEMPLATE.md
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/.github/PULL_REQUEST_TEMPLATE.md
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/.github/workflows/githubci.yml
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/examples/i2c_address_detect/i2c_address_detect.ino
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/examples/i2c_readwrite/i2c_readwrite.ino
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/examples/i2c_registers/i2c_registers.ino
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/examples/i2corspi_register/i2corspi_register.ino
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/examples/spi_modetest/spi_modetest.ino
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/examples/spi_readwrite/spi_readwrite.ino
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/examples/spi_register_bits/spi_register_bits.ino
.pio/libdeps/az-delivery-devkit-v4/Adafruit [email protected]/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 [email protected]/.gitignore
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/.piopm
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Adafruit_GFX.cpp
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Adafruit_GFX.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Adafruit_GrayOLED.cpp
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Adafruit_GrayOLED.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Adafruit_SPITFT_Macros.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Adafruit_SPITFT.cpp
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Adafruit_SPITFT.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/gfxfont.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/glcdfont.c
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/library.properties
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/license.txt
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/README.md
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/.github/ISSUE_TEMPLATE.md
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/.github/PULL_REQUEST_TEMPLATE.md
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/.github/workflows/githubci.yml
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMono9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMono12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMono18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMono24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoBold9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoBold12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoBold18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoBold24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoBoldOblique9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoBoldOblique12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoBoldOblique18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoBoldOblique24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoOblique9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoOblique12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoOblique18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeMonoOblique24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSans9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSans12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSans18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSans24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansBold9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansBold12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansBold18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansBold24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansBoldOblique9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansBoldOblique12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansBoldOblique18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansBoldOblique24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansOblique9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansOblique12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansOblique18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSansOblique24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerif9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerif12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerif18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerif24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifBold9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifBold12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifBold18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifBold24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifBoldItalic9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifBoldItalic12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifBoldItalic18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifBoldItalic24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifItalic9pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifItalic12pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifItalic18pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/FreeSerifItalic24pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/Org_01.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/Picopixel.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/Tiny3x3a2pt7b.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/Fonts/TomThumb.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/examples/GFXcanvas/GFXcanvas.ino
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/examples/GFXcanvas/GFXcanvasSerialDemo.cpp
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/examples/GFXcanvas/GFXcanvasSerialDemo.h
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/examples/mock_ili9341/mock_ili9341.ino
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/fontconvert/bdf2adafruit.py
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/fontconvert/fontconvert_win.md
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/fontconvert/fontconvert.c
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/fontconvert/Makefile
.pio/libdeps/az-delivery-devkit-v4/Adafruit GFX [email protected]/fontconvert/makefonts.sh
62 changes: 37 additions & 25 deletions src/WZePaperDisplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);

Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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 ) {
Expand Down

0 comments on commit 0ffc628

Please sign in to comment.