BatterySpecifications
public struct BatterySpecifications : Hashable
Parameters related to the electric vehicle’s battery.
-
Total capacity of the vehicle’s battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned
ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.Declaration
Swift
public var totalCapacityInKilowattHours: Double -
Charge level of the vehicle’s battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of
BatterySpecifications.totalCapacityInKilowattHours, otherwise theBatterySpecificationsinstance is considered invalid. Defaults to 0. Note: For a user-plannedChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.Declaration
Swift
public var initialChargeInKilowattHours: Double -
Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of
BatterySpecifications.totalCapacityInKilowattHours, otherwise theBatterySpecificationsinstance is considered invalid. Defaults to 0.Declaration
Swift
public var targetChargeInKilowattHours: Double -
Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0,
BatterySpecifications.targetChargeInKilowattHours], otherwise theBatterySpecificationsinstance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-plannedChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.Declaration
Swift
public var chargingCurve: [Double : Double] -
List of available charging connector types. It must be at least one charging connector type added, otherwise the
BatterySpecificationsinstance is considered invalid. Defaults to an empty container.Declaration
Swift
public var connectorTypes: [ChargingConnectorType] -
Minimum charge when arriving at a charging station in kWh. It must be non-negative and less than the value of
BatterySpecifications.targetChargeInKilowattHours, otherwise theBatterySpecificationsinstance is considered invalid. Defaults to 0.Declaration
Swift
public var minChargeAtChargingStationInKilowattHours: Double -
Minimum charge when arriving at first charging station in kWh. This overrides
BatterySpecifications.minChargeAtChargingStationInKilowattHoursfor the first charging station. If not specified,BatterySpecifications.minChargeAtChargingStationInKilowattHourswill be used for all charging stations, including the first one. Defaults tonil. When initialized, it must be non-negative and less than the value ofBatterySpecifications.targetChargeInKilowattHours, otherwise theBatterySpecificationsinstance is considered invalid. This is usually used when the current charge is too low to reach a charging station withinminChargeAtChargingStationlimits.Declaration
Swift
public var minChargeAtFirstChargingStationInKilowattHours: Double? -
Minimum charge at the final route destination in kWh. It must be non-negative and less than the value of
BatterySpecifications.targetChargeInKilowattHours, otherwise theBatterySpecificationsinstance is considered invalid. Defaults to 0.Declaration
Swift
public var minChargeAtDestinationInKilowattHours: Double -
Maximum charging voltage supported by the vehicle’s battery in Volts. It must be positive. When omitted, the voltage is determined by the charging station attributes. Defaults to
nil.Declaration
Swift
public var maxChargingVoltageInVolts: Double? -
Maximum charging current supported by the vehicle’s battery in Amperes. It must be positive. When omitted, the charging current is determined by the charging station attributes. Defaults to
nil.Declaration
Swift
public var maxChargingCurrentInAmperes: Double? -
Time in seconds spent after arriving at a charging station, but before actually charging, e.g., time spent for payment processing. Defaults to 0 seconds.
Declaration
Swift
public var chargingSetupDuration: TimeInterval -
The maximum power in kilowatts at which a vehicle can charge under given these conditions:
- The charging station connector’s maximum supply voltage is less than 800 V.
BatterySpecifications.maxChargingVoltageInVoltsis greater than or equal to 800 V. The provided value must be greater than or equal to 0. By default, it is not set. Note: The feature is not supported by theOfflineRoutingEngine.
Declaration
Swift
public var maxPowerAtLowVoltageInKilowatts: Double? -
init(totalCapacityInKilowattHours:initialChargeInKilowattHours: targetChargeInKilowattHours: chargingCurve: connectorTypes: minChargeAtChargingStationInKilowattHours: minChargeAtFirstChargingStationInKilowattHours: minChargeAtDestinationInKilowattHours: maxChargingVoltageInVolts: maxChargingCurrentInAmperes: chargingSetupDuration: maxPowerAtLowVoltageInKilowatts: ) Creates a new instance.
Declaration
Swift
public init(totalCapacityInKilowattHours: Double = 0.0, initialChargeInKilowattHours: Double = 0.0, targetChargeInKilowattHours: Double = 0.0, chargingCurve: [Double : Double] = [:], connectorTypes: [ChargingConnectorType] = [], minChargeAtChargingStationInKilowattHours: Double = 0.0, minChargeAtFirstChargingStationInKilowattHours: Double? = nil, minChargeAtDestinationInKilowattHours: Double = 0.0, maxChargingVoltageInVolts: Double? = nil, maxChargingCurrentInAmperes: Double? = nil, chargingSetupDuration: TimeInterval = 0, maxPowerAtLowVoltageInKilowatts: Double? = nil)