From bfcc5fa70bc173cbc12d98aa4e9ca6d1a2b902ac Mon Sep 17 00:00:00 2001 From: Max P51 Date: Tue, 17 Dec 2019 22:41:40 +0000 Subject: [PATCH] u --- UPGRADE/Code/v2/v2.ino | 114 +++++++++++++++++++++++++++++++---------- 1 file changed, 87 insertions(+), 27 deletions(-) diff --git a/UPGRADE/Code/v2/v2.ino b/UPGRADE/Code/v2/v2.ino index 0a31829..0689fe5 100644 --- a/UPGRADE/Code/v2/v2.ino +++ b/UPGRADE/Code/v2/v2.ino @@ -1,27 +1,87 @@ - -#include -#include -#include - -#define SCREEN_WIDTH 128 -#define SCREEN_HEIGHT 32 -#define OLED_RESET -1 - -Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); - -int batteryPct; - -void setup() { - delay(100); - display.begin(SSD1306_SWITCHCAPVCC, 0x3C); - display.clearDisplay(); - display.setTextColor(WHITE); -} - -void loop() { - display.drawRect(5, 5, 123, 27, SSD1306_WHITE); - display.display(); // Update screen with each newly-drawn rectangle - delay(500); - // put your main code here, to run repeatedly: - -} + +#include +#include +#include + +#define SCREEN_WIDTH 128 +#define SCREEN_HEIGHT 32 +#define OLED_RESET -1 + +#define PWRBTN 3 +#define CHGBTN 4 +#define PWRLED 5 +#define CHGLED 6 +#define VBAT A0 +#define FETCTRL 2 +#define CSTAT1 A1 +#define CSTAT2 A2 + +Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); + +int batteryPct; +int var; +int var2; +int var3; + +void setup() { + delay(100); + display.begin(SSD1306_SWITCHCAPVCC, 0x3C); + display.clearDisplay(); + display.setTextColor(WHITE); + Serial.begin(9600); + pinMode(VBAT, INPUT_PULLUP); + pinMode(CSTAT1, INPUT_PULLUP); + pinMode(CSTAT2, INPUT_PULLUP); + pinMode(FETCTRL, OUTPUT); + pinMode(PWRLED, OUTPUT); + pinMode(CHGLED, OUTPUT); + pinMode(PWRBTN, INPUT_PULLUP); + pinMode(CHGBTN, INPUT_PULLUP); + digitalWrite(FETCTRL, LOW); + draw(); +} + +void loop() { + delay(50); + var = analogRead(VBAT); + var2 = digitalRead(PWRBTN); + var3 = digitalRead(CHGBTN); + Serial.print(var); + Serial.print(" "); + Serial.print(var2); + Serial.print(" "); + Serial.println(var3); + checkPresses(); +} + +void checkPresses(){ + if (digitalRead(PWRBTN) == 0) { + delay(100); + if (digitalRead(PWRBTN) == 0) { + pwrLed(); + } + } + if (digitalRead(CHGBTN) == 0) { + delay(100); + if (digitalRead(CHGBTN) == 0) { + chgLed(); + } + } +} + +void chgLed(){ + digitalWrite(CHGLED, HIGH); + delay(100); + digitalWrite(CHGLED, LOW); +} + +void pwrLed(){ + digitalWrite(PWRLED, HIGH); + delay(100); + digitalWrite(PWRLED, LOW); +} + +void draw() { +display.drawRect(5, 5, 123, 27, SSD1306_WHITE); + display.display(); +}