From 29e84064370f43512078e3ae8feae2fc3c75e7bd Mon Sep 17 00:00:00 2001 From: "jacob.eva" Date: Sun, 5 May 2024 17:15:55 +0100 Subject: [PATCH] Fix display on NRF52 --- Display.h | 10 +++++++++- RNode_Firmware.ino | 4 ++++ Utilities.h | 4 ++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Display.h b/Display.h index 1420167..a988f0e 100644 --- a/Display.h +++ b/Display.h @@ -134,7 +134,11 @@ bool display_init() { #endif #if DISP_CUSTOM_ADDR == true + #if HAS_EEPROM uint8_t display_address = EEPROM.read(eeprom_addr(ADDR_CONF_DADR)); + #elif MCU_VARIANT == MCU_NRF52 + uint8_t display_address = eeprom_read(eeprom_addr(ADDR_CONF_DADR)); + #endif if (display_address == 0xFF) display_address = DISP_ADDR; #else uint8_t display_address = DISP_ADDR; @@ -188,7 +192,11 @@ bool display_init() { disp_area.cp437(true); display.cp437(true); - display_intensity = EEPROM.read(eeprom_addr(ADDR_CONF_DINT)); + #if HAS_EEPROM + uint8_t display_intensity = EEPROM.read(eeprom_addr(ADDR_CONF_DINT)); + #elif MCU_VARIANT == MCU_NRF52 + uint8_t display_intensity = eeprom_read(eeprom_addr(ADDR_CONF_DINT)); + #endif return true; } diff --git a/RNode_Firmware.ino b/RNode_Firmware.ino index c0b0192..34d31e7 100644 --- a/RNode_Firmware.ino +++ b/RNode_Firmware.ino @@ -151,7 +151,11 @@ void setup() { #endif #if HAS_DISPLAY + #if HAS_EEPROM if (EEPROM.read(eeprom_addr(ADDR_CONF_DSET)) != CONF_OK_BYTE) { + #elif MCU_VARIANT == MCU_NRF52 + if (eeprom_read(eeprom_addr(ADDR_CONF_DSET)) != CONF_OK_BYTE) { + #endif eeprom_update(eeprom_addr(ADDR_CONF_DSET), CONF_OK_BYTE); eeprom_update(eeprom_addr(ADDR_CONF_DINT), 0xFF); } diff --git a/Utilities.h b/Utilities.h index b2f4f74..22080de 100644 --- a/Utilities.h +++ b/Utilities.h @@ -43,6 +43,10 @@ sx128x *LoRa = &sx128x_modem; #include "Framing.h" #include "MD5.h" +#if !HAS_EEPROM && MCU_VARIANT == MCU_NRF52 +uint8_t eeprom_read(uint32_t mapped_addr); +#endif + #if HAS_DISPLAY == true #include "Display.h" #endif