public static float genBatteryLevelEnd()

in app/metrics/src/main/java/com/googlecodesamples/cloud/jss/metrics/util/ActionUtil.java [34:49]


  public static float genBatteryLevelEnd(
      float batteryChargeStart, float chargingSpeed, float batteryCapacity, float duration) {
    BigDecimal batteryLevelStart = BigDecimal.valueOf(batteryChargeStart);
    BigDecimal avgChargeRateKw = BigDecimal.valueOf(chargingSpeed);
    BigDecimal batteryCapacityKwh = BigDecimal.valueOf(batteryCapacity);
    BigDecimal sessionDurationHr = BigDecimal.valueOf(duration);

    BigDecimal result =
        batteryLevelStart.add(
            avgChargeRateKw
                .multiply(sessionDurationHr)
                .divide(batteryCapacityKwh, PubSubConst.SCALE, PubSubConst.ROUNDING_MODE));

    float batteryLevelEnd = PubSubUtil.formatFloat(result.floatValue());
    return Math.min(PubSubConst.BATTERY_LEVEL_END, batteryLevelEnd);
  }