void screenEnd(const char * firstLine) { lcdSetCursor0_0(); lcdPrint_P(firstLine); lcdPrintTime(Monitor::getTimeSec()); lcdSetCursor0_1(); lcdPrint_P(Program::stopReason); lcdPrintSpaces(); }
void Screen::displayDeltaFirst() { lcdSetCursor0_0(); printCharge(); deltaT(); lcdSetCursor0_1(); printChar_Time(); deltaV(); }
void Screen::displayScreenTime() { lcdSetCursor0_0(); lcdPrint_P(PSTR("time: ")); lcdPrintTime(getTimeSec()); lcdSetCursor0_1(); lcdPrint_P(PSTR("b ")); lcdPrintTime(totalBalanceTime_/1000); lcdPrint_P(PSTR(" ")); lcdPrintTime(totalChargDischargeTime_/1000); }
void Screen::runAskResetEeprom(uint8_t what) { lcdClear(); lcdSetCursor0_0(); lcdPrint_P(PSTR("eeprom reset:")); lcdPrintUInt(what); lcdSetCursor0_1(); lcdPrint_P(PSTR(" yes")); while (waitButtonPressed() != BUTTON_START); }
void Screen::displayScreenReversedPolarity() { lcdSetCursor0_0(); lcdPrint_P(PSTR("REVERSE POLARITY")); if(settings.isDebug()) { lcdSetCursor0_1(); lcdPrint_P(PSTR("Vrev:")); lcdPrintUnsigned(analogInputs.getRealValue(AnalogInputs::VreversePolarity), 8); } }
void Screen::displayScreenVout() { lcdSetCursor0_0(); lcdPrint_P(PSTR("Vout =")); analogInputs.printRealValue(AnalogInputs::Vout, 7); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrint_P(PSTR("Vbal.=")); analogInputs.printRealValue(AnalogInputs::Vbalancer, 7); lcdPrintSpaces(); }
void Screen::displayScreenVinput() { lcdSetCursor0_0(); lcdPrint_P(PSTR("Vinput=")); analogInputs.printRealValue(AnalogInputs::Vin, 7); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrint_P(PSTR(" limit=")); lcdPrintAnalog(settings.inputVoltageLow_, AnalogInputs::Voltage, 7); lcdPrintSpaces(); }
void Screen::displayDeltaVout() { lcdSetCursor0_0(); lcdPrint_P(PSTR("maxVout=")); analogInputs.printRealValue(AnalogInputs::deltaVoutMax, 7); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrint_P(PSTR("delta V= ")); deltaV(); }
void Screen::displayScreenFirst() { lcdSetCursor0_0(); printCharge(); lcdPrintCurrent(getI(), 7); lcdPrintSpaces(); lcdSetCursor0_1(); printChar_Time(); analogInputs.printRealValue(AnalogInputs::VoutBalancer, 7); lcdPrintSpaces(); }
void ProgramDataMenu::createName() { p_.createName(programIndex_+1); lcdClear(); lcdSetCursor0_0(); lcdPrint_P(PSTR("Name:")); lcdSetCursor0_1(); lcdPrint(p_.name, PROGRAM_DATA_MAX_NAME); waitButtonPressed(); Buzzer::soundSelect(); }
void Screen::displayScreenCIVlimits() { lcdSetCursor0_0(); lcdPrintCharge(ProgramData::currentProgramData.getCapacityLimit(), 8); lcdPrintChar(' '); lcdPrintCurrent(ProgramData::currentProgramData.battery.Ic, 7); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrint_P(PSTR("Limits: ")); lcdPrintVoltage(ProgramData::currentProgramData.getVoltage(ProgramData::VCharge), 7); lcdPrintSpaces(); }
void Screen::displayDeltaTextern() { lcdSetCursor0_0(); lcdPrint_P(PSTR("Text=")); if(settings.externT_ || settings.isDebug()) { lcdPrintTemperature(analogInputs.deltaLastT_, 9); } else { lcdPrint_P(PSTR("not used")); } lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrint_P(PSTR("delta T= ")); deltaT(); }
void Screen::displayDebugBalancerReal0_2() { lcdSetCursor0_0(); lcdPrint_P(PSTR("0:")); analogInputs.printRealValue(AnalogInputs::Vb0_real, 6); lcdPrint_P(PSTR("1:")); analogInputs.printRealValue(AnalogInputs::Vb1_real, 6); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrint_P(PSTR("2:")); analogInputs.printRealValue(AnalogInputs::Vb2_real, 6); lcdPrint_P(PSTR(" real")); lcdPrintSpaces(); }
void Screen::displayScreenR() { lcdSetCursor0_0(); lcdPrint_P(PSTR("batt. R=")); lcdPrintResistance(calculateRth_calibrated(theveninMethod.tVout_.Rth_V_, theveninMethod.tVout_.Rth_I_),8); lcdPrintSpaces(); lcdSetCursor0_1(); if(analogInputs.isConnected(AnalogInputs::Vbalancer)) { lcdPrint_P(PSTR("wires R=")); int16_t Vwires = analogInputs.getRealValue(AnalogInputs::Vout); Vwires -= analogInputs.getRealValue(AnalogInputs::Vbalancer); lcdPrintResistance(calculateRth2(Vwires, getI()+1),8); } lcdPrintSpaces(); }
void Screen::displayScreenTemperature() { lcdSetCursor0_0(); lcdPrint_P(PSTR("Text=")); if(settings.externT_ || settings.isDebug()) analogInputs.printRealValue(AnalogInputs::Textern, 5); else lcdPrint_P(PSTR("not used")); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrint_P(PSTR("Tint=")); analogInputs.printRealValue(AnalogInputs::Tintern, 5); lcdPrintSpaces(); }
void Screen::displayScreenTemperature() { lcdSetCursor0_0(); lcdPrint_P(PSTR("Text=")); if(settings.externT_ || settings.isDebug()) analogInputs.printRealValue(AnalogInputs::Textern, 5); else lcdPrint_P(PSTR("-")); lcdPrintSpaces(); lcdSetCursor0_1(); #ifdef ENABLE_T_INTERNAL lcdPrint_P(PSTR("Tint=")); analogInputs.printRealValue(AnalogInputs::Tintern, 5); #endif lcdPrintSpaces(); }
void Screen::Cycle::displayCycles() { uint8_t c, time = Blink::blinkTime_/8; uint8_t all_scr = ProgramDCcycle::currentCycle/2 + 1; c = time % all_scr; lcdSetCursor0_0(); lcdPrintUnsigned(c+1, 1); lcdPrintChar(SCREEN_EMPTY_CELL_CHAR); lcdPrintTime(cyclesHistoryTime[c*2], 6); lcdPrintSpace1(); lcdPrintChar(SCREEN_FULL_CELL_CHAR); lcdPrintTime(cyclesHistoryTime[c*2+1], 6); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrintCharge(cyclesHistoryCapacity[c*2],8); lcdPrintCharge(cyclesHistoryCapacity[c*2+1],8); lcdPrintSpaces(); }
void Screen::displayDebugDelta() { lcdSetCursor0_0(); lcdPrint_P(PSTR("C=")); lcdPrintUnsigned(analogInputs.getRealValue(AnalogInputs::deltaLastCount),5); lcdPrint_P(PSTR(" L=")); int x = analogInputs.deltaLastT_; lcdPrintSigned(x, 6); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrint_P(PSTR("N=")); lcdPrintUnsigned(analogInputs.deltaCount_,5); lcdPrint_P(PSTR(" L=")); x = ProgramData::currentProgramData.getDeltaVLimit(); lcdPrintSigned(x, 6); lcdPrintSpaces(); }
void Screen::displayDebugI() { AnalogInputs::Name Iset; AnalogInputs::Name Iget; if(smps.isPowerOn()) { Iset = AnalogInputs::IsmpsValue; Iget = AnalogInputs::Ismps; } else { Iset = AnalogInputs::IdischargeValue; Iget = AnalogInputs::Idischarge; } lcdSetCursor0_0(); lcdPrint_P(PSTR("Iset=")); analogInputs.printRealValue(Iset, 7); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrint_P(PSTR("Iget=")); analogInputs.printRealValue(Iget, 7); lcdPrintSpaces(); }
void Screen::displayStartInfo() { lcdSetCursor0_0(); ProgramData::currentProgramData.printBatteryString(4); lcdPrintChar(' '); ProgramData::currentProgramData.printVoltageString(); lcdPrintChar(' '); printProgram2chars(Program::programType_); lcdSetCursor0_1(); uint16_t procent = getChargeProcent(); if(procent == 100) { if(getBlinkOff()) lcdPrintSpaces(4); else lcdPrint_P(PSTR("FUL ")); } else { lcdPrintUnsigned(procent, 2); lcdPrint_P(PSTR("% ")); } int bindex = getBlinkIndex(); if(bindex & 1) analogInputs.printRealValue(AnalogInputs::Vout, 5); else lcdPrintSpaces(5); lcdPrintChar(' '); if(ProgramData::currentProgramData.isLiXX()) { //display balance port if(bindex & 2) analogInputs.printRealValue(AnalogInputs::Vbalancer, 5); else lcdPrintSpaces(5); if(bindex & 4) lcdPrintDigit(analogInputs.getConnectedBalancePorts()); else lcdPrintChar(' '); } else { lcdPrintCharge(ProgramData::currentProgramData.battery.C, 6); lcdPrintSpaces(); } }
void Screen::displayDebugRthVth() { lcdSetCursor0_0(); lcdPrint_P(PSTR("V=")); //lcdPrintResistance(Rth_, 8); lcdPrintSigned(theveninMethod.tVout_.Rth_V_); lcdPrint_P(PSTR(" I=")); //lcdPrintResistance(Rth_, 8); lcdPrintSigned(theveninMethod.tVout_.Rth_I_); lcdPrintSpaces(); lcdSetCursor0_1(); lcdPrintSigned(theveninMethod.tVout_.Vth_); lcdPrintChar(' '); lcdPrintSigned(theveninMethod.valueTh_, 4); lcdPrintChar(' '); uint16_t v; if(smps.isPowerOn()) v = smps.getValue(); else v = discharger.getValue(); lcdPrintSigned(v,4); lcdPrintSpaces(); }
void Screen::displayStrings(const char *s) { lcdClear(); lcdSetCursor0_0(); lcdPrint_P(s); }
void displayBalanceInfo(uint8_t from, AnalogInputs::Type type) { lcdSetCursor0_0(); #ifdef ENABLE_SCREEN_KNIGHTRIDEREFFECT knightRiderCounter += knightRiderDir; if (knightRiderCounter==0 || knightRiderCounter>4) knightRiderDir=-knightRiderDir; #endif char c = ' '; if(!::Balancer::isWorking()) { if(!::Balancer::isStable()) c = 'm'; } else { if(::Balancer::savedVon) c = 'B'; else c = 'b'; } if (::Balancer::balance == 0) { lcdPrintChar(c); #ifdef ENABLE_SCREEN_KNIGHTRIDEREFFECT char knightRiderArrow; if (knightRiderDir > 0) knightRiderArrow='>'; else knightRiderArrow='<'; if ((c == 'm') || (c == ' ')) { for (uint8_t i=0; i<6; i++ ) { if (knightRiderCounter==i) lcdPrintChar(knightRiderArrow); else lcdPrintChar(' '); } lcdPrintChar(' '); } else { lcdPrintSpaces(7); } #else lcdPrintSpaces(7); #endif } else { uint16_t cell = 1; for(uint8_t i = 0; i < MAX_BALANCE_CELLS; i++) { if(AnalogInputs::connectedBalancePortCells & cell) { if(i == ::Balancer::minCell) { c = SCREEN_EMPTY_CELL_CHAR; //lowest cell } else { if(::Balancer::balance & cell) { if (Blink::blinkTime_ & 1) { c = SCREEN_FULL_CELL_CHAR; //flash full/empty cells } else { c = SCREEN_EMPTY_CELL_CHAR; //flash full/empty cells } } else { c = SCREEN_AVR_CELL_CHAR; //average cells } } } else { c = ' '; } lcdPrintChar(c); cell <<= 1; } lcdPrintSpaces(8 - MAX_BALANCE_CELLS); } printBalancer(from++, type); lcdPrintSpaces(); lcdSetCursor0_1(); printBalancer(from++, type); printBalancer(from++, type); lcdPrintSpaces(); }
void Screen::displayStrings(const char *s1, const char *s2) { lcdSetCursor0_0(); lcdPrint_P(s1); lcdSetCursor0_1(); lcdPrint_P(s2); }