]> git.tnoah.ca Git - lora-radio.git/commitdiff
Added display support for T-Beam, Heltec and LoRa32 boards
authorMark Qvist <mark@unsigned.io>
Sun, 30 Oct 2022 20:15:43 +0000 (21:15 +0100)
committerMark Qvist <mark@unsigned.io>
Sun, 30 Oct 2022 20:15:43 +0000 (21:15 +0100)
Config.h
Display.h
Utilities.h

index e7aaae7573808c6b3899f5c1de3bf0827d0ca3a7..d7a7fd61104a61cbd7e601db6ad4bd4344f6fd75 100644 (file)
--- a/Config.h
+++ b/Config.h
                                const int pin_led_rx = 25;
                                const int pin_led_tx = 25;
                        #endif
-                       #define HAS_DISPLAY true
+            #define HAS_DISPLAY true
                        #define HAS_BLUETOOTH true
                #elif BOARD_MODEL == BOARD_RNODE_NG_20
                        const int pin_cs = 18;
index 2697180a7694f92442b9d5ba1ab3cc8fde0fa2d5..87e94840cdfde3204797405a159bb0e2d99bdcfe 100644 (file)
--- a/Display.h
+++ b/Display.h
@@ -4,8 +4,22 @@
 #include <Adafruit_SSD1306.h>
 #define DISP_W 128
 #define DISP_H 64
-#define DISP_RST -1
-#define DISP_ADDR 0x3c
+#if BOARD_MODEL == BOARD_RNODE_NG_20 || BOARD_MODEL == BOARD_LORA32_V2_0
+  #define DISP_RST -1
+  #define DISP_ADDR 0x3C
+#elif BOARD_MODEL == BOARD_TBEAM
+  #define DISP_RST 23
+  #define DISP_ADDR 0x3D
+#elif BOARD_MODEL == BOARD_HELTEC32_V2
+  #define DISP_RST 16
+  #define DISP_ADDR 0x3C
+  #define SCL_OLED 15
+  #define SDA_OLED 4
+#else
+  #define DISP_RST -1
+  #define DISP_ADDR 0x3C
+#endif
+
 Adafruit_SSD1306 display(DISP_W, DISP_H, &Wire, DISP_RST);
 
 #define DISP_MODE_UNKNOWN   0x00
@@ -54,6 +68,8 @@ bool display_init() {
       digitalWrite(pin_display_en, LOW);
       delay(50);
       digitalWrite(pin_display_en, HIGH);
+    #elif BOARD_MODEL == BOARD_HELTEC32_V2
+      Wire.begin(SDA_OLED, SCL_OLED);
     #endif
 
     if(!display.begin(SSD1306_SWITCHCAPVCC, DISP_ADDR)) {
@@ -65,9 +81,18 @@ bool display_init() {
       #elif BOARD_MODEL == BOARD_RNODE_NG_21
         disp_mode = DISP_MODE_PORTRAIT;
         display.setRotation(3);
+      #elif BOARD_MODEL == BOARD_LORA32_V2_0
+        disp_mode = DISP_MODE_PORTRAIT;
+        display.setRotation(3);
       #elif BOARD_MODEL == BOARD_LORA32_V2_1
         disp_mode = DISP_MODE_LANDSCAPE;
         display.setRotation(0);
+      #elif BOARD_MODEL == BOARD_TBEAM
+        disp_mode = DISP_MODE_LANDSCAPE;
+        display.setRotation(0);
+      #elif BOARD_MODEL == BOARD_HELTEC32_V2
+        disp_mode = DISP_MODE_PORTRAIT;
+        display.setRotation(1);
       #else
         disp_mode = DISP_MODE_PORTRAIT;
         display.setRotation(3);
index d5ed1e7d038b465d31830ad66c4004e420c81ea9..ad9f31f6292a1e97dc7849c1d67713d785f8781d 100644 (file)
@@ -461,7 +461,6 @@ void serial_write(uint8_t byte) {
                if (bt_state != BT_STATE_CONNECTED) {
                        Serial.write(byte);
                } else {
-                       Serial.printf("BT Echo: %02X\n", byte);
                        SerialBT.write(byte);
                }
        #else