This commit is contained in:
Max Hunt 2019-12-21 11:42:23 +00:00
parent 06b7e5d84a
commit 23bf8f240a

View File

@ -139,7 +139,7 @@ void setup() {
pinMode(CHGBTN, INPUT_PULLUP); pinMode(CHGBTN, INPUT_PULLUP);
digitalWrite(FETCTRL, LOW); digitalWrite(FETCTRL, LOW);
battVoltage = GetVoltage(); battVoltage = GetVoltage();
initScreen(); resetScreen();
delay(200); delay(200);
/* /*
FuelGauge.begin(); FuelGauge.begin();
@ -155,7 +155,13 @@ void loop() {
checkCharging(); checkCharging();
safetyCheck(); safetyCheck();
if (screenState != 0 && isSafe == true) {updateScreen();} if (screenState != 0 && isSafe == true) {updateScreen();}
if (powerState == false && screenState == 0) { if ((charging_1 == true || charging_2 == true) && screenState == 0) {updateDisplayChg();}
else{
if (screenOn == true && screenState == 0){
resetScreen();
}
}
if ((powerState == false && screenState == 0) && (charging_1 == false && charging_2 == false)) {
LowPower.powerDown(SLEEP_1S, ADC_OFF, BOD_OFF); LowPower.powerDown(SLEEP_1S, ADC_OFF, BOD_OFF);
} }
} }
@ -220,7 +226,7 @@ void checkPresses(){
screenState++; screenState++;
} }
else { else {
initScreen(); resetScreen();
screenState = 0; screenState = 0;
} }
} }
@ -270,7 +276,7 @@ void turnOff() {
} }
void initScreen() { void resetScreen() {
display.clearDisplay(); display.clearDisplay();
display.display(); display.display();
screenOn = false; screenOn = false;
@ -278,7 +284,6 @@ void initScreen() {
void updateScreen() { void updateScreen() {
getBatteryCharge(); getBatteryCharge();
updateDispayChg();
if (screenState == 1) { if (screenState == 1) {
updateDisplayPct(); updateDisplayPct();
} }
@ -295,6 +300,7 @@ void updateDisplayPct(){
display.setTextColor(0); display.setTextColor(0);
display.print(batteryPct); display.print(batteryPct);
display.println("%"); display.println("%");
updateDispayHelper();
display.display(); display.display();
screenOn = true; screenOn = true;
} }
@ -307,15 +313,23 @@ void updateDisplayVoltage(){
display.setTextColor(0); display.setTextColor(0);
display.print(GetVoltage()); display.print(GetVoltage());
display.println(" V"); display.println(" V");
updateDispayHelper();
display.display(); display.display();
screenOn = true; screenOn = true;
} }
void updateDispayChg(){ void updateDisplayChg(){
if (charging_1 == true && batteryPct != 100) {display.drawBitmap(118, 0, charge_logo, 16, 14, 1);} display.clearDisplay();
if (charging_2 == true && batteryPct != 100) {display.drawBitmap(118, 16, charge_logo, 16, 14, 1);} updateDispayHelper();
if (charging_1 == true && batteryPct == 100) {display.drawBitmap(118, 0, charged_logo, 16, 14, 1);} display.display();
if (charging_2 == true && batteryPct == 100) {display.drawBitmap(118, 16, charged_logo, 16, 14, 1);} screenOn = true;
}
void updateDispayHelper(){
if (charging_1 == true && batteryPct != 100) {display.drawBitmap(118, 0, charge_logo, 16, 14, 1); screenOn = true;}
else if (charging_2 == true && batteryPct != 100) {display.drawBitmap(118, 16, charge_logo, 16, 14, 1); screenOn = true;}
else if (charging_1 == true && batteryPct == 100) {display.drawBitmap(118, 0, charged_logo, 16, 14, 1); screenOn = true;}
else if (charging_2 == true && batteryPct == 100) {display.drawBitmap(118, 16, charged_logo, 16, 14, 1); screenOn = true;}
} }
double GetVoltage(){ double GetVoltage(){
@ -357,7 +371,7 @@ void safetyCheck(){
if(powerState == true){ if(powerState == true){
turnOff(); turnOff();
screenState = 0; screenState = 0;
initScreen(); resetScreen();
} }
} }
} }