From 99be6b6d2a0f5a31b1d9ade85e2988ee357e4294 Mon Sep 17 00:00:00 2001 From: dakkar Date: Fri, 28 Jan 2022 16:42:14 +0000 Subject: show values on eink display --- .gitmodules | 9 +++++++++ Adafruit-GFX-Library | 1 + Adafruit_BusIO | 1 + GxEPD | 1 + Makefile | 4 ++-- main.ino | 49 ++++++++++++++++++++++++++++++++++++++----------- 6 files changed, 52 insertions(+), 13 deletions(-) create mode 160000 Adafruit-GFX-Library create mode 160000 Adafruit_BusIO create mode 160000 GxEPD diff --git a/.gitmodules b/.gitmodules index ad61b56..3b4bde0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,12 @@ [submodule "arduino-core"] path = arduino-core url = https://github.com/Sensirion/arduino-core +[submodule "Adafruit-GFX-Library"] + path = Adafruit-GFX-Library + url = https://github.com/adafruit/Adafruit-GFX-Library +[submodule "GxEPD"] + path = GxEPD + url = https://github.com/lewisxhe/GxEPD +[submodule "Adafruit_BusIO"] + path = Adafruit_BusIO + url = https://github.com/adafruit/Adafruit_BusIO diff --git a/Adafruit-GFX-Library b/Adafruit-GFX-Library new file mode 160000 index 0000000..4a33fcd --- /dev/null +++ b/Adafruit-GFX-Library @@ -0,0 +1 @@ +Subproject commit 4a33fcd467e373d1eedd3aef6f5f9be36f5c276b diff --git a/Adafruit_BusIO b/Adafruit_BusIO new file mode 160000 index 0000000..afbd408 --- /dev/null +++ b/Adafruit_BusIO @@ -0,0 +1 @@ +Subproject commit afbd408d17cf3ec6f2da5902b99cf5f169703de0 diff --git a/GxEPD b/GxEPD new file mode 160000 index 0000000..fe0bd75 --- /dev/null +++ b/GxEPD @@ -0,0 +1 @@ +Subproject commit fe0bd756a47e7cb482311b367a15d86f3d65d45e diff --git a/Makefile b/Makefile index 72d8f7e..297087f 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,11 @@ SKETCH = main.ino -CUSTOM_LIBS = arduino-core arduino-i2c-scd4x arduino-sps +LIBS = $(abspath arduino-core arduino-i2c-scd4x arduino-sps GxEPD Adafruit-GFX-Library Adafruit_BusIO) UPLOAD_PORT = /dev/ttyUSB0 # maybe board with eink? BOARD = ttgo-t1 -ESP_ROOT = $(HOME)/Arduino/hardware/espressif/esp32/ +ESP_ROOT = $(HOME)/HW/arduino-esp32 CHIP = esp32 include $(HOME)/src/makeEspArduino/makeEspArduino.mk diff --git a/main.ino b/main.ino index bc27deb..604bdef 100644 --- a/main.ino +++ b/main.ino @@ -2,6 +2,20 @@ #include #include +#define LILYGO_T5_V213 // needed for the display libraries + +#include +#include +#include // screen model, probably correct +#include +#include +#include + +GxIO_Class io(SPI, EPD_CS, EPD_DC, EPD_RSET); +GxEPD_Class display(io, EPD_RSET, EPD_BUSY); +SPIClass SDSPI(VSPI); // for sdcard? maybe? + + SensirionI2CScd4x scd4x; void printUint16Hex(uint16_t value) { @@ -28,6 +42,15 @@ void setup() { Wire.begin(21,22); + SPI.begin(EPD_SCLK, EPD_MISO, EPD_MOSI); + + display.init(); + display.setTextColor(GxEPD_BLACK); + display.setRotation(3); + display.setFont(&FreeMonoBold12pt7b); + display.fillScreen(GxEPD_WHITE); + display.update(); + uint16_t error; char errorMessage[256]; @@ -75,20 +98,24 @@ void loop() { float temperature = 0.0f; float humidity = 0.0f; error = scd4x.readMeasurement(co2, temperature, humidity); + + display.fillScreen(GxEPD_WHITE); + display.setCursor(0,20); + if (error) { - Serial.print("Error trying to execute readMeasurement(): "); + display.print("read error: "); errorToString(error, errorMessage, 256); - Serial.println(errorMessage); + display.println(errorMessage); } else if (co2 == 0) { - Serial.println("Invalid sample detected, skipping."); + display.println("Invalid sample detected, skipping."); } else { - Serial.print("Co2:"); - Serial.print(co2); - Serial.print("\t"); - Serial.print("Temperature:"); - Serial.print(temperature); - Serial.print("\t"); - Serial.print("Humidity:"); - Serial.println(humidity); + display.print("Co2:"); + display.println(co2); + display.print("Temperature:"); + display.println(temperature); + display.print("Humidity:"); + display.println(humidity); } + + display.update(); } -- cgit v1.2.3