]> git.tnoah.ca Git - lora-radio.git/commitdiff
Persist display intensity to EEPROM
authorMark Qvist <mark@unsigned.io>
Wed, 3 May 2023 12:05:49 +0000 (14:05 +0200)
committerMark Qvist <mark@unsigned.io>
Wed, 3 May 2023 12:05:49 +0000 (14:05 +0200)
Display.h
RNode_Firmware.ino
ROM.h
Utilities.h

index f0ba7de6c355c181b3227b158fa4d2209fb102b8..5b3e35688c1de6741be937d289cba3870d9f348e 100644 (file)
--- a/Display.h
+++ b/Display.h
@@ -134,6 +134,8 @@ bool display_init() {
       disp_area.cp437(true);
       display.cp437(true);
 
+      display_intensity = EEPROM.read(eeprom_addr(ADDR_CONF_DINT));
+
       return true;
     }
   #else
index b48e4c3be2a08ae8019de5a70672c99c16fd62fd..e12121ee222723aa181acbf49d7e78322ef77444 100644 (file)
@@ -117,6 +117,10 @@ void setup() {
   #endif
 
   #if HAS_DISPLAY
+    if (EEPROM.read(eeprom_addr(ADDR_CONF_DSET)) != CONF_OK_BYTE) {
+      eeprom_update(eeprom_addr(ADDR_CONF_DSET), CONF_OK_BYTE);
+      eeprom_update(eeprom_addr(ADDR_CONF_DINT), 0xFF);
+    }
     disp_ready = display_init();
     update_display();
   #endif
@@ -798,6 +802,7 @@ void serialCallback(uint8_t sbyte) {
                 ESCAPE = false;
             }
             display_intensity = sbyte;
+            di_conf_save(display_intensity);
         }
 
       #endif
diff --git a/ROM.h b/ROM.h
index 6ea56862825c24c2f525ce22ed8258c367688320..611c88b234bcaeb234026316ae89dd48cb40f666 100644 (file)
--- a/ROM.h
+++ b/ROM.h
@@ -58,6 +58,8 @@
        #define ADDR_CONF_OK   0xA7
        
        #define ADDR_CONF_BT   0xB0
+       #define ADDR_CONF_DSET 0xB1
+       #define ADDR_CONF_DINT 0xB2
 
        #define INFO_LOCK_BYTE 0x73
        #define CONF_OK_BYTE   0x73
index 56b870d6c18415e0069bcb1214afc5b6daab5103..fcef508ceab4f0cca1763ff4612bc733fcaea266 100644 (file)
@@ -1096,6 +1096,10 @@ void bt_conf_save(bool is_enabled) {
        }
 }
 
+void di_conf_save(uint8_t dint) {
+       eeprom_update(eeprom_addr(ADDR_CONF_DINT), dint);
+}
+
 bool eeprom_have_conf() {
        if (EEPROM.read(eeprom_addr(ADDR_CONF_OK)) == CONF_OK_BYTE) {
                return true;