Class DischargeMaxCurrentHandler.Builder
- java.lang.Object
-
- io.openems.edge.battery.protection.currenthandler.AbstractMaxCurrentHandler.Builder<DischargeMaxCurrentHandler.Builder>
-
- io.openems.edge.battery.protection.currenthandler.DischargeMaxCurrentHandler.Builder
-
- Enclosing class:
- DischargeMaxCurrentHandler
public static class DischargeMaxCurrentHandler.Builder extends AbstractMaxCurrentHandler.Builder<DischargeMaxCurrentHandler.Builder>
-
-
Field Summary
-
Fields inherited from class io.openems.edge.battery.protection.currenthandler.AbstractMaxCurrentHandler.Builder
clockProvider, initialBmsMaxEverCurrent, maxIncreasePerSecond, temperatureToPercent, voltageToPercent
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Builder(ClockProvider clockProvider, int initialBmsMaxEverDischargeCurrent)
Creates aDischargeMaxCurrentHandler.Builder
forDischargeMaxCurrentHandler
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DischargeMaxCurrentHandler
build()
Builds theDischargeMaxCurrentHandler
instance.protected DischargeMaxCurrentHandler.Builder
self()
DischargeMaxCurrentHandler.Builder
setForceCharge(int startChargeBelowCellVoltage, int chargeBelowCellVoltage, int blockDischargeBelowCellVoltage)
Configure 'Force Charge' parameters.DischargeMaxCurrentHandler.Builder
setForceCharge(ForceCharge.Params forceChargeParams)
Sets theForceCharge.Params
parameters.-
Methods inherited from class io.openems.edge.battery.protection.currenthandler.AbstractMaxCurrentHandler.Builder
setMaxIncreasePerSecond, setTemperatureToPercent, setVoltageToPercent
-
-
-
-
Constructor Detail
-
Builder
protected Builder(ClockProvider clockProvider, int initialBmsMaxEverDischargeCurrent)
Creates aDischargeMaxCurrentHandler.Builder
forDischargeMaxCurrentHandler
.- Parameters:
clockProvider
- aClockProvider
, mainly for JUnit testsinitialBmsMaxEverDischargeCurrent
- the (estimated) maximum allowed discharge current. This is used as a reference for percentage values. If during runtime a higher value is provided, that one is taken from then on.
-
-
Method Detail
-
setForceCharge
public DischargeMaxCurrentHandler.Builder setForceCharge(int startChargeBelowCellVoltage, int chargeBelowCellVoltage, int blockDischargeBelowCellVoltage)
Configure 'Force Charge' parameters.- Parameters:
startChargeBelowCellVoltage
- start force charge if minCellVoltage is below this value, e.g. 2850chargeBelowCellVoltage
- force charge as long as minCellVoltage is below this value, e.g. 2910blockDischargeBelowCellVoltage
- after 'force charge', block discharging as long as minCellVoltage is below this value, e.g. 3000- Returns:
DischargeMaxCurrentHandler.Builder
-
setForceCharge
public DischargeMaxCurrentHandler.Builder setForceCharge(ForceCharge.Params forceChargeParams)
Sets theForceCharge.Params
parameters.- Parameters:
forceChargeParams
- theForceCharge.Params
- Returns:
- a
DischargeMaxCurrentHandler.Builder
-
build
public DischargeMaxCurrentHandler build()
Builds theDischargeMaxCurrentHandler
instance.- Returns:
- a
DischargeMaxCurrentHandler
-
self
protected DischargeMaxCurrentHandler.Builder self()
- Specified by:
self
in classAbstractMaxCurrentHandler.Builder<DischargeMaxCurrentHandler.Builder>
-
-