From b280eab026a2fb2566127e6d9d84686b3f4db5e6 Mon Sep 17 00:00:00 2001 From: vicentebearth Date: Wed, 22 Jul 2026 22:46:30 +0200 Subject: [PATCH] Update voltage-current-monitor-usb.ino --- voltage-current-monitor-usb.ino | 45 ++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/voltage-current-monitor-usb.ino b/voltage-current-monitor-usb.ino index 23dfa15..83a0a2f 100644 --- a/voltage-current-monitor-usb.ino +++ b/voltage-current-monitor-usb.ino @@ -4,9 +4,11 @@ #include #include #include "setup.h" -#include "dseg7_7seggchan_font_48p_regular.h" -#include "dseg7_classic_font_12p_regular.h" +#include "dseg7_7seggchan_mini_font_48p_regular.h" +#include "dseg7_classic_mini_font_11p_regular.h" #include "DialogInput_font_12p_regular.h" +#include +#include "images.h" #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 @@ -16,9 +18,12 @@ float voltage = 0; float current = 0; float wattage = 0; +int usb_score = -1; Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); void setup() { + adc_init(); + adc_set_temp_sensor_enabled(true); Serial.begin(115200); Wire.setSDA(I2C_SDA); Wire.setSCL(I2C_SCL); @@ -50,7 +55,15 @@ void drawDisplay() { if(use_7seggchan){ display.setFont(&DSEG7_7SEGGCHAN_MINI_Regular_48); display.setCursor(84, 66); - display.println("8"); + if(usb_score == -1){ + display.println("-"); + } + else if (usb_score == -2) { + display.println(" "); + } + else { + display.println(usb_score); + } display.drawFastVLine(80,16,48,WHITE); } display.drawFastHLine(0,16,128,WHITE); @@ -68,6 +81,17 @@ void drawDisplay() { display.print(current); display.setCursor(13,32); display.print(voltage); + if(use_bitmaps){ + display.setCursor(16,0); + display.drawBitmap(0,0,temperature_bitmap,16,16,WHITE); + display.setFont(&DSEG7_Classic_Mini_Regular_11); + display.setCursor(16,16); + } + else { + display.setCursor(0,16); + } + display.print(analogReadTemp(),1); + display.print(" C°"); display.display(); } else { @@ -89,6 +113,19 @@ void drawDisplay() { display.print(current); display.setCursor(13,32); display.print(voltage); + if(use_bitmaps){ + display.setCursor(16,0); + display.drawBitmap(0,0,temperature_bitmap,16,16,WHITE); + display.setFont(&DSEG7_Classic_Mini_Regular_11); + display.setCursor(16,16); + } + else { + display.setCursor(0,16); + } + display.print(analogReadTemp(),1); + display.print(" C°"); + display.display(); display.display(); } -} \ No newline at end of file +} +