References (iOS)

StartMode

StartMode indicates how the trip is started. It is an enum with the following values:

Value

Description

gps

Automatic start when the SDK detects a change in user's position

beacon

Automatic start due to the presence of a beacon

manual

Trip started manually by calling the method startTrip

geozone

Automatic start when the SDK detects that you exit the zone where your vehicle may be parked

bluetooth

Automatic start by detecting a connection to a known vehicle's Bluetooth system

unknown_bluetooth

Automatic start by detecting a connection to an unknown vehicle's Bluetooth system

public enum StartMode: Int {
case gps = 1
case beacon = 2
case manual = 3
case geozone = 4
case bluetooth = 5
case unknown_bluetooth = 6
}

CancelTrip

CancelTrip indicates how the trip was cancelled. It is an enum with the following values:

Value

Description

user

Trip cancelled by calling the method cancelTrip

highspeed

Trip cancelled because speed was too high (train, airplane)

noSpeed

Trip cancelled because speed was too slow to be in a vehicle

noBeacon

Trip cancelled because the beacon was not detected while it was required

missingConfiguration

Trip cancelled because DriveKit was not configured

noGPSData

Trip cancelled because no GPS data was recorded

reset

Trip cancelled because SDK configuration has been reset

beaconNoSpeed

Trip cancelled because the beacon is near the smartphone but there is no movement (zero or low speed)

public enum CancelTrip {
case user, highspeed, noSpeed, noBeacon, missingConfiguration, noGPSData, reset, beaconNoSpeed
}

TripPoint

TripPoint is an object that contains data for each location registered by the SDK.

public struct TripPoint {
let latitude: Double
let longitude: Double
let speed: Double
let accuracy: Double
let elevation: Double
let distance: Double
let heading: Double
let duration: Double
}

Attribute

Type

Description

latitude

Double

Latitude

longitude

Double

Longitude

speed

Double

Speed in km/h

accuracy

Double

Accuracy of the GPS data in meter

elevation

Double

Elevation in meter

distance

Double

Distance since the beginning of the trip in meter

heading

Double

Heading

duration

Double

Duration since the beginning of the trip in second

TripVehicle

Vehicle is an object that contains vehicle detailed characteristics.

public class Vehicle{
public var carTypeIndex: Int = 1
public var carEngineIndex: Int = 1
public var carPower: Double = 150.0
public var carMass: Double = 1400.0
public var carGearboxIndex: Int = 2
public var carConsumption: Double = 4.5
public var carAutoGearboxNumber: Int = 0
}

Attribute

Type

Description

carTypeIndex

Int

Vehicle body type

carEngineIndex

Int

Engine type (1: gasoline, 2: Diesel, 3: electric vehicle)

carPower

Double

Vehicle power in hp. This value must be entered in horsepower. In case you only have the engine power in kW you can apply the following formula: P[hp]=P[kW]/0.7355P [hp] = P [kW] / 0.7355 (min: 40 hp, max 450 hp)

carMass

Double

Vehicle mass in kg (min: 700 kg, max: 3500 kg)

carGearboxIndex

Int

Gearbox type

carConsumption

Double

Combined fuel consumption [l/100km] measured during the New European Driving Cycle (NEDC). (min: 3 l/100km, max: 20 l/100km)

carAutoGearboxNumber

Int

Number of gear ratios for the automatic gearbox. This parameter is taken into account only if carGearboxIndex is set to 1.

Vehicle body type

Value

Description

1

Compact

2

Sedan

3

Luxury vehicle

4

Estate car

5

Minivan

6

4x4, SUV

7

Sports car

8

Convertible

9

Commercial vehicle

Gearbox type

Value

Description

1

Automatic

2

Manual-5-speed

3

Manual-6-speed

4

Manual-7-speed

5

Manual-8-speed

Beacon

Beacon is an object that contains beacon characteristics.

public struct Beacon{
public let proximityUuid: String
public let major: Int
public let minor: Int
}

Attribute

Type

Description

proximityUuid

String

Beacon proximity UUID

major

Int

Beacon major value (optional)

minor

Int

Beacon minor value (optional)

BluetoothData

BluetoothData is an object that contains the Bluetooth device characteristics.

@objc public class BluetoothData : NSObject {
public var name: String
public var macAddress : String
@objc public init(name: String, macAddress: String) {
self.name = name
self.macAddress = macAddress
}
}

Attribute

Type

Description

macAddress

String

Required MAC address of the device

name

String

Optional display name of the device