#include <Arduino.h>
//#include <AUnit.h>
#include <EasyNextionLibrary.h>
#include "switchesGlobal.h"
#include "assistConfig.h"
#include "assist.h"
#include "handlebarSwitch.h"
EasyNex myNex(Serial2);
#define sportMode 0
#define ecoMode 1
xlAssist assistLogic(EEPROMSportAssistPower, EEPROMEcoAssistPower, EEPROMSportAssistLevelMax, EEPROMEcoAssistLevelMax, EEPROMSportCurrentAssistLevel, EEPROMEcoCurrentAssistLevel);
void readAssistLevel(byte powerMode) {
byte currentAssistLevel = 0;
byte assistLevelMax = 0;
int assistPower = assistLogic.getAssistPower(powerMode);
String powerModeString;
switch (powerMode) {
case sportMode:
currentAssistLevel = assistLogic.getCurrentAssistLevel(sportMode);
assistLevelMax = assistLogic.getMaxAssistLevel(sportMode);
powerModeString = "SPORT";
break;
case ecoMode:
currentAssistLevel = assistLogic.getCurrentAssistLevel(ecoMode);
assistLevelMax = assistLogic.getMaxAssistLevel(ecoMode);
powerModeString = "ECO";
break;
}
Serial.print(powerModeString);
Serial.print(F(" Assist Level: "));
Serial.print(currentAssistLevel);
Serial.print(" / ");
Serial.print(assistLevelMax);
Serial.print(F(" Assist Power: "));
Serial.print(assistPower);
Serial.print(F("W"));
Serial.println(F(""));
}
void assistUpBtn() {
// Serial.println(F("Assist Up Pressed"));
assistLogic.assistUp(eepromPowerMode);
readAssistLevel(eepromPowerMode);
myNex.writeStr("click BTNAssistUp,0");
}
void assistDownBtn() {
assistLogic.assistDown(eepromPowerMode);
readAssistLevel(eepromPowerMode);
myNex.writeStr("click BTNAssistDown,0");
}
void powerModeSwitching(byte &powerMode) {
switch (powerMode) {
case sportMode:
powerMode = ecoMode;
break;
case ecoMode:
powerMode = sportMode;
break;
}
}
void powerModeBtn() {
Serial.println(F("Power Mode Pressed"));
// myNex.writeStr("page MainMenu");
powerModeSwitching(eepromPowerMode);
readAssistLevel(eepromPowerMode);
}
void setup() {
setupHandleBarSwitches();
// Serial.begin(115200);
Serial.begin(115200);
myNex.begin(115200);
delay(500);
//yNex.writeStr("page MainMenu");
Serial.println(F("Assist Test"));
readAssistLevel(sportMode);
readAssistLevel(ecoMode);
}
void loop() {
//Handlebar Switches
readSwitch();
buttonStateMachine();
// myNex.writeStr("page page");
}