Exemple #1
0
    void setVI(ProgramData::VoltageType vt, bool charge) {
        endV = ProgramData::currentProgramData.getVoltage(vt);

        if(charge) {
            maxI = ProgramData::currentProgramData.battery.Ic;
        } else {
            maxI = ProgramData::currentProgramData.battery.Id;
        }

        setMinI(maxI/minIdiv);
    }
Exemple #2
0
    void setVI(ProgramData::VoltageType vt, bool charge) {
        endV = ProgramData::currentProgramData.getVoltage(vt);

        if(charge) {
            maxI = ProgramData::currentProgramData.battery.Ic;
            if(vt == ProgramData::VCharge && ProgramData::currentProgramData.isLiXX()) {
                endV += settings.overCharge_LiXX * ProgramData::currentProgramData.battery.cells;
            }
        } else {
            maxI = ProgramData::currentProgramData.battery.Id;
            if(vt == ProgramData::VDischarge && ProgramData::currentProgramData.isLiXX()) {
                endV += settings.overDischarge_LiXX * ProgramData::currentProgramData.battery.cells;
            }
        }

        setMinI(maxI/minIdiv);
    }
void TheveninDischargeStrategy::setVI(AnalogInputs::ValueType v, AnalogInputs::ValueType i)
{
    SimpleDischargeStrategy::setVI(v,i);
    TheveninMethod::setVIB(v, AnalogInputs::reverseCalibrateValue(AnalogInputs::IdischargeValue, i), false);
    setMinI(i/10);
}