From 5cde231e8cada4dcd7d007924ea11640cd5dc7aa Mon Sep 17 00:00:00 2001 From: Peter Kornherr Date: Mon, 9 May 2022 22:04:32 +0200 Subject: [PATCH 1/5] add monitor turn-on/off on doubleclick --- src/LoRa_APRS_Tracker.cpp | 16 +++++++++++++--- src/display.cpp | 10 ++++++++++ src/display.h | 1 + 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/LoRa_APRS_Tracker.cpp b/src/LoRa_APRS_Tracker.cpp index f8c3b13..b41acb1 100644 --- a/src/LoRa_APRS_Tracker.cpp +++ b/src/LoRa_APRS_Tracker.cpp @@ -22,9 +22,9 @@ OneButton userButton = OneButton(BUTTON_PIN, true, true); HardwareSerial ss(1); TinyGPSPlus gps; +void setup_gps(); void load_config(); void setup_lora(); -void setup_gps(); String create_lat_aprs(RawDegrees lat); String create_long_aprs(RawDegrees lng); @@ -37,6 +37,7 @@ String getSmartBeaconState(); String padding(unsigned int number, unsigned int width); static bool send_update = true; +static bool display_toggle_value = true; static void handle_tx_click() { send_update = true; @@ -47,6 +48,14 @@ static void handle_next_beacon() { show_display(BeaconMan.getCurrentBeaconConfig()->callsign, BeaconMan.getCurrentBeaconConfig()->message, 2000); } +static void toggle_display() { + display_toggle_value = !display_toggle_value; + display_toggle(display_toggle_value); + if (display_toggle_value == true) { + setup_display(); + } +} + // cppcheck-suppress unusedFunction void setup() { Serial.begin(115200); @@ -68,7 +77,7 @@ void setup() { logPrintlnI("LoRa APRS Tracker by OE5BPA (Peter Buchegger)"); setup_display(); - show_display("OE5BPA", "LoRa APRS Tracker", "by Peter Buchegger", 2000); + show_display("DK4KP-7", "LoRa APRS Tracker", "by Peter Buchegger", 2000); load_config(); setup_gps(); @@ -91,6 +100,7 @@ void setup() { if (Config.button.alt_message) { userButton.attachLongPressStart(handle_next_beacon); } + userButton.attachDoubleClick(toggle_display); logPrintlnI("Smart Beacon is " + getSmartBeaconState()); show_display("INFO", "Smart Beacon is " + getSmartBeaconState(), 1000); @@ -105,7 +115,7 @@ void loop() { if (Config.debug) { while (Serial.available() > 0) { char c = Serial.read(); - // Serial.print(c); + //Serial.print(c); gps.encode(c); } } else { diff --git a/src/display.cpp b/src/display.cpp index 32d2a8e..31ea7e9 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -9,6 +9,16 @@ Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST); +void display_toggle(bool toggle) { + logPrintlnI("Toggling display"); + logPrintlnI(toggle ? "On" : "Off"); + if (toggle == false) { + display.ssd1306_command(SSD1306_DISPLAYOFF); + } else { + display.ssd1306_command(SSD1306_DISPLAYON); + } +} + // cppcheck-suppress unusedFunction void setup_display() { pinMode(OLED_RST, OUTPUT); diff --git a/src/display.h b/src/display.h index 2aec8de..d7681ca 100644 --- a/src/display.h +++ b/src/display.h @@ -3,6 +3,7 @@ #define DISPLAY_H_ void setup_display(); +void display_toggle(bool toggle); void show_display(String header, int wait = 0); void show_display(String header, String line1, int wait = 0); From feaf0ebbad19341134344997d9899b60478f0138 Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Tue, 10 May 2022 22:44:13 +0200 Subject: [PATCH 2/5] Update LoRa_APRS_Tracker.cpp --- src/LoRa_APRS_Tracker.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/LoRa_APRS_Tracker.cpp b/src/LoRa_APRS_Tracker.cpp index b41acb1..212f6f1 100644 --- a/src/LoRa_APRS_Tracker.cpp +++ b/src/LoRa_APRS_Tracker.cpp @@ -51,7 +51,7 @@ static void handle_next_beacon() { static void toggle_display() { display_toggle_value = !display_toggle_value; display_toggle(display_toggle_value); - if (display_toggle_value == true) { + if (display_toggle_value) { setup_display(); } } @@ -77,7 +77,7 @@ void setup() { logPrintlnI("LoRa APRS Tracker by OE5BPA (Peter Buchegger)"); setup_display(); - show_display("DK4KP-7", "LoRa APRS Tracker", "by Peter Buchegger", 2000); + show_display("OE5BPA", "LoRa APRS Tracker", "by Peter Buchegger", 2000); load_config(); setup_gps(); From d523e01c922a5e9b71f3b2e85dcfa1922ca0401d Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Tue, 10 May 2022 22:46:17 +0200 Subject: [PATCH 3/5] Update display.cpp --- src/display.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/display.cpp b/src/display.cpp index 31ea7e9..a55ba4a 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -9,16 +9,6 @@ Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST); -void display_toggle(bool toggle) { - logPrintlnI("Toggling display"); - logPrintlnI(toggle ? "On" : "Off"); - if (toggle == false) { - display.ssd1306_command(SSD1306_DISPLAYOFF); - } else { - display.ssd1306_command(SSD1306_DISPLAYON); - } -} - // cppcheck-suppress unusedFunction void setup_display() { pinMode(OLED_RST, OUTPUT); @@ -43,6 +33,17 @@ void setup_display() { display.display(); } +void display_toggle(bool toggle) { + logPrintI("Toggling display: "); + if (toggle) { + logPrintlnI("On"); + display.ssd1306_command(SSD1306_DISPLAYON); + } else { + logPrintlnI("Off"); + display.ssd1306_command(SSD1306_DISPLAYOFF); + } +} + // cppcheck-suppress unusedFunction void show_display(String header, int wait) { display.clearDisplay(); From 296f89bd46d1968446e08c1ddaa0949975013f15 Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Tue, 10 May 2022 22:53:04 +0200 Subject: [PATCH 4/5] Update display.cpp --- src/display.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/display.cpp b/src/display.cpp index a55ba4a..e77c566 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -33,6 +33,7 @@ void setup_display() { display.display(); } +// cppcheck-suppress unusedFunction void display_toggle(bool toggle) { logPrintI("Toggling display: "); if (toggle) { From 2d04389266e7b634e4d268d83a30bbfd67f27288 Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Tue, 10 May 2022 22:55:09 +0200 Subject: [PATCH 5/5] Update LoRa_APRS_Tracker.cpp --- src/LoRa_APRS_Tracker.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/LoRa_APRS_Tracker.cpp b/src/LoRa_APRS_Tracker.cpp index 212f6f1..c272ad6 100644 --- a/src/LoRa_APRS_Tracker.cpp +++ b/src/LoRa_APRS_Tracker.cpp @@ -36,7 +36,7 @@ String createTimeString(time_t t); String getSmartBeaconState(); String padding(unsigned int number, unsigned int width); -static bool send_update = true; +static bool send_update = true; static bool display_toggle_value = true; static void handle_tx_click() { @@ -115,7 +115,7 @@ void loop() { if (Config.debug) { while (Serial.available() > 0) { char c = Serial.read(); - //Serial.print(c); + // Serial.print(c); gps.encode(c); } } else {