le_ecall_interface.h File Reference

#include "legato.h"
#include "le_mdmDefs_interface.h"
#include "le_mcc_interface.h"

Go to the source code of this file.

Macros

#define LE_ECALL_MSD_MAX_LEN   140
 
#define LE_ECALL_VIN_MAX_LEN   17
 
#define LE_ECALL_VIN_MAX_BYTES   18
 

Typedefs

typedef void(* le_ecall_DisconnectHandler_t) (void *)
 
typedef struct le_ecall_Call * le_ecall_CallRef_t
 
typedef struct le_ecall_StateChangeHandler * le_ecall_StateChangeHandlerRef_t
 
typedef void(* le_ecall_StateChangeHandlerFunc_t) (le_ecall_CallRef_t ecallRef, le_ecall_State_t state, void *contextPtr)
 

Enumerations

enum  le_ecall_OpMode_t { LE_ECALL_NORMAL_MODE = 0, LE_ECALL_ONLY_MODE = 1, LE_ECALL_FORCED_PERSISTENT_ONLY_MODE = 2 }
 
enum  le_ecall_SystemStandard_t { LE_ECALL_PAN_EUROPEAN = 0, LE_ECALL_ERA_GLONASS = 1 }
 
enum  le_ecall_State_t {
  LE_ECALL_STATE_UNKNOWN = 0, LE_ECALL_STATE_STARTED = 1, LE_ECALL_STATE_CONNECTED = 2, LE_ECALL_STATE_DISCONNECTED = 3,
  LE_ECALL_STATE_WAITING_PSAP_START_IND = 4, LE_ECALL_STATE_PSAP_START_IND_RECEIVED = 5, LE_ECALL_STATE_MSD_TX_STARTED = 6, LE_ECALL_STATE_LLNACK_RECEIVED = 7,
  LE_ECALL_STATE_LLACK_RECEIVED = 8, LE_ECALL_STATE_MSD_TX_COMPLETED = 9, LE_ECALL_STATE_MSD_TX_FAILED = 10, LE_ECALL_STATE_ALACK_RECEIVED_POSITIVE = 11,
  LE_ECALL_STATE_ALACK_RECEIVED_CLEAR_DOWN = 12, LE_ECALL_STATE_STOPPED = 13, LE_ECALL_STATE_RESET = 14, LE_ECALL_STATE_COMPLETED = 15,
  LE_ECALL_STATE_FAILED = 16, LE_ECALL_STATE_END_OF_REDIAL_PERIOD = 17, LE_ECALL_STATE_TIMEOUT_T2 = 18, LE_ECALL_STATE_TIMEOUT_T3 = 19,
  LE_ECALL_STATE_TIMEOUT_T5 = 20, LE_ECALL_STATE_TIMEOUT_T6 = 21, LE_ECALL_STATE_TIMEOUT_T7 = 22, LE_ECALL_STATE_TIMEOUT_T9 = 23,
  LE_ECALL_STATE_TIMEOUT_T10 = 24
}
 
enum  le_ecall_MsdTxMode_t { LE_ECALL_TX_MODE_PULL = 0, LE_ECALL_TX_MODE_PUSH = 1 }
 
enum  le_ecall_MsdVehicleType_t {
  LE_ECALL_MSD_VEHICLE_PASSENGER_M1 = 0, LE_ECALL_MSD_VEHICLE_BUS_M2 = 1, LE_ECALL_MSD_VEHICLE_BUS_M3 = 2, LE_ECALL_MSD_VEHICLE_COMMERCIAL_N1 = 3,
  LE_ECALL_MSD_VEHICLE_HEAVY_N2 = 4, LE_ECALL_MSD_VEHICLE_HEAVY_N3 = 5, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L1E = 6, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L2E = 7,
  LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L3E = 8, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L4E = 9, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L5E = 10, LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L6E = 11,
  LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L7E = 12
}
 
enum  le_ecall_PropulsionTypeBitMask_t {
  LE_ECALL_PROPULSION_TYPE_GASOLINE = 0x1, LE_ECALL_PROPULSION_TYPE_DIESEL = 0x2, LE_ECALL_PROPULSION_TYPE_NATURALGAS = 0x4, LE_ECALL_PROPULSION_TYPE_PROPANE = 0x8,
  LE_ECALL_PROPULSION_TYPE_ELECTRIC = 0x10, LE_ECALL_PROPULSION_TYPE_HYDROGEN = 0x20, LE_ECALL_PROPULSION_TYPE_OTHER = 0x40
}
 
enum  le_ecall_DiagnosticResultBitMask_t {
  LE_ECALL_DIAG_RESULT_PRESENT_MIC_CONNECTION_FAILURE = 0x1, LE_ECALL_DIAG_RESULT_MIC_CONNECTION_FAILURE = 0x2, LE_ECALL_DIAG_RESULT_PRESENT_MIC_FAILURE = 0x4, LE_ECALL_DIAG_RESULT_MIC_FAILURE = 0x8,
  LE_ECALL_DIAG_RESULT_PRESENT_RIGHT_SPEAKER_FAILURE = 0x10, LE_ECALL_DIAG_RESULT_RIGHT_SPEAKER_FAILURE = 0x20, LE_ECALL_DIAG_RESULT_PRESENT_LEFT_SPEAKER_FAILURE = 0x40, LE_ECALL_DIAG_RESULT_LEFT_SPEAKER_FAILURE = 0x80,
  LE_ECALL_DIAG_RESULT_PRESENT_SPEAKERS_FAILURE = 0x100, LE_ECALL_DIAG_RESULT_SPEAKERS_FAILURE = 0x200, LE_ECALL_DIAG_RESULT_PRESENT_IGNITION_LINE_FAILURE = 0x400, LE_ECALL_DIAG_RESULT_IGNITION_LINE_FAILURE = 0x800,
  LE_ECALL_DIAG_RESULT_PRESENT_UIM_FAILURE = 0x1000, LE_ECALL_DIAG_RESULT_UIM_FAILURE = 0x2000, LE_ECALL_DIAG_RESULT_PRESENT_STATUS_INDICATOR_FAILURE = 0x4000, LE_ECALL_DIAG_RESULT_STATUS_INDICATOR_FAILURE = 0x8000,
  LE_ECALL_DIAG_RESULT_PRESENT_BATTERY_FAILURE = 0x10000, LE_ECALL_DIAG_RESULT_BATTERY_FAILURE = 0x20000, LE_ECALL_DIAG_RESULT_PRESENT_BATTERY_VOLTAGE_LOW = 0x40000, LE_ECALL_DIAG_RESULT_BATTERY_VOLTAGE_LOW = 0x80000,
  LE_ECALL_DIAG_RESULT_PRESENT_CRASH_SENSOR_FAILURE = 0x100000, LE_ECALL_DIAG_RESULT_CRASH_SENSOR_FAILURE = 0x200000, LE_ECALL_DIAG_RESULT_PRESENT_FIRMWARE_IMAGE_CORRUPTION = 0x400000, LE_ECALL_DIAG_RESULT_FIRMWARE_IMAGE_CORRUPTION = 0x800000,
  LE_ECALL_DIAG_RESULT_PRESENT_COMM_MODULE_INTERFACE_FAILURE = 0x1000000, LE_ECALL_DIAG_RESULT_COMM_MODULE_INTERFACE_FAILURE = 0x2000000, LE_ECALL_DIAG_RESULT_PRESENT_GNSS_RECEIVER_FAILURE = 0x4000000, LE_ECALL_DIAG_RESULT_GNSS_RECEIVER_FAILURE = 0x8000000,
  LE_ECALL_DIAG_RESULT_PRESENT_RAIM_PROBLEM = 0x10000000, LE_ECALL_DIAG_RESULT_RAIM_PROBLEM = 0x20000000, LE_ECALL_DIAG_RESULT_PRESENT_GNSS_ANTENNA_FAILURE = 0x40000000, LE_ECALL_DIAG_RESULT_GNSS_ANTENNA_FAILURE = 0x80000000,
  LE_ECALL_DIAG_RESULT_PRESENT_COMM_MODULE_FAILURE = 0x100000000, LE_ECALL_DIAG_RESULT_COMM_MODULE_FAILURE = 0x200000000, LE_ECALL_DIAG_RESULT_PRESENT_EVENTS_MEMORY_OVERFLOW = 0x400000000, LE_ECALL_DIAG_RESULT_EVENTS_MEMORY_OVERFLOW = 0x800000000,
  LE_ECALL_DIAG_RESULT_PRESENT_CRASH_PROFILE_MEMORY_OVERFLOW = 0x1000000000, LE_ECALL_DIAG_RESULT_CRASH_PROFILE_MEMORY_OVERFLOW = 0x2000000000, LE_ECALL_DIAG_RESULT_PRESENT_OTHER_CRITICAL_FAILURES = 0x4000000000, LE_ECALL_DIAG_RESULT_OTHER_CRITICAL_FAILURES = 0x8000000000,
  LE_ECALL_DIAG_RESULT_PRESENT_OTHER_NOT_CRITICAL_FAILURES = 0x10000000000, LE_ECALL_DIAG_RESULT_OTHER_NOT_CRITICAL_FAILURES = 0x20000000000
}
 
enum  le_ecall_CrashInfoBitMask_t {
  LE_ECALL_CRASH_INFO_PRESENT_CRASH_FRONT = 0x1, LE_ECALL_CRASH_INFO_CRASH_FRONT = 0x2, LE_ECALL_CRASH_INFO_PRESENT_CRASH_LEFT = 0x4, LE_ECALL_CRASH_INFO_CRASH_LEFT = 0x8,
  LE_ECALL_CRASH_INFO_PRESENT_CRASH_RIGHT = 0x10, LE_ECALL_CRASH_INFO_CRASH_RIGHT = 0x20, LE_ECALL_CRASH_INFO_PRESENT_CRASH_REAR = 0x40, LE_ECALL_CRASH_INFO_CRASH_REAR = 0x80,
  LE_ECALL_CRASH_INFO_PRESENT_CRASH_ROLLOVER = 0x100, LE_ECALL_CRASH_INFO_CRASH_ROLLOVER = 0x200, LE_ECALL_CRASH_INFO_PRESENT_CRASH_SIDE = 0x400, LE_ECALL_CRASH_INFO_CRASH_SIDE = 0x800,
  LE_ECALL_CRASH_INFO_PRESENT_CRASH_FRONT_OR_SIDE = 0x1000, LE_ECALL_CRASH_INFO_CRASH_FRONT_OR_SIDE = 0x2000, LE_ECALL_CRASH_INFO_PRESENT_CRASH_ANOTHER_TYPE = 0x4000, LE_ECALL_CRASH_INFO_CRASH_ANOTHER_TYPE = 0x8000
}
 
enum  le_ecall_MsdCoordinateType_t { LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_ABSENT = 0, LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_WGS84 = 1, LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_PZ90 = 2 }
 

Functions

void le_ecall_ConnectService (void)
 
le_result_t le_ecall_TryConnectService (void)
 
void le_ecall_SetServerDisconnectHandler (le_ecall_DisconnectHandler_t disconnectHandler, void *contextPtr)
 
void le_ecall_DisconnectService (void)
 
le_result_t le_ecall_ForceOnlyMode (void)
 
le_result_t le_ecall_ForcePersistentOnlyMode (void)
 
le_result_t le_ecall_ExitOnlyMode (void)
 
le_result_t le_ecall_GetConfiguredOperationMode (le_ecall_OpMode_t *opModePtr)
 
le_ecall_StateChangeHandlerRef_t le_ecall_AddStateChangeHandler (le_ecall_StateChangeHandlerFunc_t handlerPtr, void *contextPtr)
 
void le_ecall_RemoveStateChangeHandler (le_ecall_StateChangeHandlerRef_t handlerRef)
 
le_ecall_CallRef_t le_ecall_Create (void)
 
void le_ecall_Delete (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetSystemStandard (le_ecall_SystemStandard_t systemStandard)
 
le_result_t le_ecall_GetSystemStandard (le_ecall_SystemStandard_t *systemStandardPtr)
 
le_result_t le_ecall_SetMsdVersion (uint32_t msdVersion)
 
le_result_t le_ecall_GetMsdVersion (uint32_t *msdVersionPtr)
 
le_result_t le_ecall_SetVehicleType (le_ecall_MsdVehicleType_t vehicleType)
 
le_result_t le_ecall_GetVehicleType (le_ecall_MsdVehicleType_t *vehicleTypePtr)
 
le_result_t le_ecall_SetVIN (const char *LE_NONNULL vin)
 
le_result_t le_ecall_GetVIN (char *vin, size_t vinSize)
 
le_result_t le_ecall_SetPropulsionType (le_ecall_PropulsionTypeBitMask_t propulsionType)
 
le_result_t le_ecall_GetPropulsionType (le_ecall_PropulsionTypeBitMask_t *propulsionTypePtr)
 
le_result_t le_ecall_SetMsdTxMode (le_ecall_MsdTxMode_t mode)
 
le_result_t le_ecall_GetMsdTxMode (le_ecall_MsdTxMode_t *modePtr)
 
le_result_t le_ecall_SetMsdPosition (le_ecall_CallRef_t ecallRef, bool isTrusted, int32_t latitude, int32_t longitude, int32_t direction)
 
le_result_t le_ecall_SetMsdPositionN1 (le_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN1, int32_t longitudeDeltaN1)
 
le_result_t le_ecall_SetMsdPositionN2 (le_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN2, int32_t longitudeDeltaN2)
 
le_result_t le_ecall_SetMsdPassengersCount (le_ecall_CallRef_t ecallRef, uint32_t paxCount)
 
le_result_t le_ecall_ImportMsd (le_ecall_CallRef_t ecallRef, const uint8_t *msdPtr, size_t msdSize)
 
le_result_t le_ecall_ExportMsd (le_ecall_CallRef_t ecallRef, uint8_t *msdPtr, size_t *msdSizePtr)
 
le_result_t le_ecall_SendMsd (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_StartAutomatic (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_StartManual (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_StartTest (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_End (le_ecall_CallRef_t ecallRef)
 
le_ecall_State_t le_ecall_GetState (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetPsapNumber (const char *LE_NONNULL psap)
 
le_result_t le_ecall_GetPsapNumber (char *psap, size_t psapSize)
 
le_result_t le_ecall_UseUSimNumbers (void)
 
le_result_t le_ecall_SetNadDeregistrationTime (uint16_t deregTime)
 
le_result_t le_ecall_GetNadDeregistrationTime (uint16_t *deregTimePtr)
 
le_result_t le_ecall_SetIntervalBetweenDialAttempts (uint16_t pause)
 
le_result_t le_ecall_GetIntervalBetweenDialAttempts (uint16_t *pausePtr)
 
le_result_t le_ecall_SetEraGlonassManualDialAttempts (uint16_t attempts)
 
le_result_t le_ecall_SetEraGlonassAutoDialAttempts (uint16_t attempts)
 
le_result_t le_ecall_SetEraGlonassDialDuration (uint16_t duration)
 
le_result_t le_ecall_SetEraGlonassFallbackTime (uint16_t duration)
 
le_result_t le_ecall_SetEraGlonassAutoAnswerTime (uint16_t autoAnswerTime)
 
le_result_t le_ecall_SetEraGlonassMSDMaxTransmissionTime (uint16_t msdMaxTransTime)
 
le_result_t le_ecall_GetEraGlonassManualDialAttempts (uint16_t *attemptsPtr)
 
le_result_t le_ecall_GetEraGlonassAutoDialAttempts (uint16_t *attemptsPtr)
 
le_result_t le_ecall_GetEraGlonassDialDuration (uint16_t *durationPtr)
 
le_result_t le_ecall_GetEraGlonassFallbackTime (uint16_t *durationPtr)
 
le_result_t le_ecall_GetEraGlonassAutoAnswerTime (uint16_t *autoAnswerTimePtr)
 
le_result_t le_ecall_GetEraGlonassMSDMaxTransmissionTime (uint16_t *msdMaxTransTimePtr)
 
le_result_t le_ecall_SetMsdEraGlonassCrashSeverity (le_ecall_CallRef_t ecallRef, uint32_t crashSeverity)
 
le_result_t le_ecall_ResetMsdEraGlonassCrashSeverity (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetMsdEraGlonassDiagnosticResult (le_ecall_CallRef_t ecallRef, le_ecall_DiagnosticResultBitMask_t diagnosticResultMask)
 
le_result_t le_ecall_ResetMsdEraGlonassDiagnosticResult (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetMsdEraGlonassCrashInfo (le_ecall_CallRef_t ecallRef, le_ecall_CrashInfoBitMask_t crashInfoMask)
 
le_result_t le_ecall_ResetMsdEraGlonassCrashInfo (le_ecall_CallRef_t ecallRef)
 
le_result_t le_ecall_SetMsdEraGlonassCoordinateSystemType (le_ecall_CallRef_t ecallRef, le_ecall_MsdCoordinateType_t coordinateSystemType)
 
le_result_t le_ecall_ResetMsdEraGlonassCoordinateSystemType (le_ecall_CallRef_t ecallRef)
 
le_mcc_TerminationReason_t le_ecall_GetTerminationReason (le_ecall_CallRef_t ecallRef)
 
int32_t le_ecall_GetPlatformSpecificTerminationCode (le_ecall_CallRef_t ecallRef)
 

Detailed Description

Legato eCall include file.

Macro Definition Documentation

#define LE_ECALL_MSD_MAX_LEN   140

MSD message length in bytes.

#define LE_ECALL_VIN_MAX_BYTES   18

Vehicle Identification Number (VIN) string BYTES. One extra byte is added for the null character.

#define LE_ECALL_VIN_MAX_LEN   17

Vehicle Identification Number (VIN) string LENGTH. (without nulltermination)

Typedef Documentation

typedef struct le_ecall_Call* le_ecall_CallRef_t

Reference returned by Create function and used by other functions

typedef void(* le_ecall_DisconnectHandler_t) (void *)

Type for handler called when a server disconnects.

typedef void(* le_ecall_StateChangeHandlerFunc_t) (le_ecall_CallRef_t ecallRef,le_ecall_State_t state,void *contextPtr)

Handler for eCall state changes.

typedef struct le_ecall_StateChangeHandler* le_ecall_StateChangeHandlerRef_t

Reference type used by Add/Remove functions for EVENT 'le_ecall_StateChange'

Enumeration Type Documentation

Crash information Bit Mask (16 bits) indicating the type of road accident.

Enumerator
LE_ECALL_CRASH_INFO_PRESENT_CRASH_FRONT 

Present Front collision indicator.

LE_ECALL_CRASH_INFO_CRASH_FRONT 

Front collision indicator.

LE_ECALL_CRASH_INFO_PRESENT_CRASH_LEFT 

Present Left collision indicator.

LE_ECALL_CRASH_INFO_CRASH_LEFT 

Left collision indicator.

LE_ECALL_CRASH_INFO_PRESENT_CRASH_RIGHT 

Present Right collision indicator.

LE_ECALL_CRASH_INFO_CRASH_RIGHT 

Right collision indicator.

LE_ECALL_CRASH_INFO_PRESENT_CRASH_REAR 

Present indicator.

LE_ECALL_CRASH_INFO_CRASH_REAR 

Rear impact indicator.

LE_ECALL_CRASH_INFO_PRESENT_CRASH_ROLLOVER 

Present Rollover indicator.

LE_ECALL_CRASH_INFO_CRASH_ROLLOVER 

Rollover indicator.

LE_ECALL_CRASH_INFO_PRESENT_CRASH_SIDE 

Present Side collision indicator.

LE_ECALL_CRASH_INFO_CRASH_SIDE 

Side collision indicator.

LE_ECALL_CRASH_INFO_PRESENT_CRASH_FRONT_OR_SIDE 

Present Front or side collision indicator.

LE_ECALL_CRASH_INFO_CRASH_FRONT_OR_SIDE 

Front or side collision indicator.

LE_ECALL_CRASH_INFO_PRESENT_CRASH_ANOTHER_TYPE 

Present Other types of damage indicator.

LE_ECALL_CRASH_INFO_CRASH_ANOTHER_TYPE 

Other types of damage indicator.

Diagnostic result Bit Mask (64 bits)

Enumerator
LE_ECALL_DIAG_RESULT_PRESENT_MIC_CONNECTION_FAILURE 

Present Mic connection failure.

LE_ECALL_DIAG_RESULT_MIC_CONNECTION_FAILURE 

Mic connection failure status.

LE_ECALL_DIAG_RESULT_PRESENT_MIC_FAILURE 

Present Mic failure.

LE_ECALL_DIAG_RESULT_MIC_FAILURE 

Mic failure status.

LE_ECALL_DIAG_RESULT_PRESENT_RIGHT_SPEAKER_FAILURE 

Present Right speaker failure.

LE_ECALL_DIAG_RESULT_RIGHT_SPEAKER_FAILURE 

Right speaker failure status.

LE_ECALL_DIAG_RESULT_PRESENT_LEFT_SPEAKER_FAILURE 

Present Left speaker failure.

LE_ECALL_DIAG_RESULT_LEFT_SPEAKER_FAILURE 

Left speaker failure status.

LE_ECALL_DIAG_RESULT_PRESENT_SPEAKERS_FAILURE 

Present Speaker failure.

LE_ECALL_DIAG_RESULT_SPEAKERS_FAILURE 

Speaker failure status.

LE_ECALL_DIAG_RESULT_PRESENT_IGNITION_LINE_FAILURE 

Present Ignition line failure.

LE_ECALL_DIAG_RESULT_IGNITION_LINE_FAILURE 

Ignition line failure status.

LE_ECALL_DIAG_RESULT_PRESENT_UIM_FAILURE 

Present UIM failure.

LE_ECALL_DIAG_RESULT_UIM_FAILURE 

UIM failure status.

LE_ECALL_DIAG_RESULT_PRESENT_STATUS_INDICATOR_FAILURE 

Present Status indicator failure.

LE_ECALL_DIAG_RESULT_STATUS_INDICATOR_FAILURE 

Status indicator failure status.

LE_ECALL_DIAG_RESULT_PRESENT_BATTERY_FAILURE 

Present Battery failure.

LE_ECALL_DIAG_RESULT_BATTERY_FAILURE 

Battery failure status.

LE_ECALL_DIAG_RESULT_PRESENT_BATTERY_VOLTAGE_LOW 

Present Battery voltage low failure.

LE_ECALL_DIAG_RESULT_BATTERY_VOLTAGE_LOW 

Battery voltage low failure status.

LE_ECALL_DIAG_RESULT_PRESENT_CRASH_SENSOR_FAILURE 

Present Crash sensor failure.

LE_ECALL_DIAG_RESULT_CRASH_SENSOR_FAILURE 

Crash sensor failure status.

LE_ECALL_DIAG_RESULT_PRESENT_FIRMWARE_IMAGE_CORRUPTION 

Present Firmware image corruption failure.

LE_ECALL_DIAG_RESULT_FIRMWARE_IMAGE_CORRUPTION 

Firmware image corruption failure status.

LE_ECALL_DIAG_RESULT_PRESENT_COMM_MODULE_INTERFACE_FAILURE 

Present Comm module interface failure.

LE_ECALL_DIAG_RESULT_COMM_MODULE_INTERFACE_FAILURE 

Comm module interface failure status.

LE_ECALL_DIAG_RESULT_PRESENT_GNSS_RECEIVER_FAILURE 

Present GNSS receiver failure.

LE_ECALL_DIAG_RESULT_GNSS_RECEIVER_FAILURE 

GNSS receiver failure status.

LE_ECALL_DIAG_RESULT_PRESENT_RAIM_PROBLEM 

Present RAIM problem.

LE_ECALL_DIAG_RESULT_RAIM_PROBLEM 

RAIM problem status.

LE_ECALL_DIAG_RESULT_PRESENT_GNSS_ANTENNA_FAILURE 

Present GNSS antenna failure.

LE_ECALL_DIAG_RESULT_GNSS_ANTENNA_FAILURE 

GNSS antenna failure status.

LE_ECALL_DIAG_RESULT_PRESENT_COMM_MODULE_FAILURE 

Present Comm module failure.

LE_ECALL_DIAG_RESULT_COMM_MODULE_FAILURE 

Comm module failure status.

LE_ECALL_DIAG_RESULT_PRESENT_EVENTS_MEMORY_OVERFLOW 

Present Events memory overflow.

LE_ECALL_DIAG_RESULT_EVENTS_MEMORY_OVERFLOW 

Events memory overflow status.

LE_ECALL_DIAG_RESULT_PRESENT_CRASH_PROFILE_MEMORY_OVERFLOW 

Present Crash profile memory overflow.

LE_ECALL_DIAG_RESULT_CRASH_PROFILE_MEMORY_OVERFLOW 

Crash profile memory overflow status.

LE_ECALL_DIAG_RESULT_PRESENT_OTHER_CRITICAL_FAILURES 

Present Other critical failures.

LE_ECALL_DIAG_RESULT_OTHER_CRITICAL_FAILURES 

Other critical failures status.

LE_ECALL_DIAG_RESULT_PRESENT_OTHER_NOT_CRITICAL_FAILURES 

Present Other not critical failures.

LE_ECALL_DIAG_RESULT_OTHER_NOT_CRITICAL_FAILURES 

Other not critical failures status.

eCall MSD coordinate system type

Enumerator
LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_ABSENT 

Coordinate system type is absent.

LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_WGS84 

Coordinate system type WGS-84.

LE_ECALL_MSD_COORDINATE_SYSTEM_TYPE_PZ90 

Coordinate system type PZ-90.

eCall MSD transmission mode.

Enumerator
LE_ECALL_TX_MODE_PULL 

Pull mode (modem/host waits for MSD request from PSAP to send MSD).

LE_ECALL_TX_MODE_PUSH 

Push mode (modem/host sends MSD to PSAP right after eCall is connected).

eCall MSD vehicle type

Enumerator
LE_ECALL_MSD_VEHICLE_PASSENGER_M1 

Passenger vehicle (Class M1)

LE_ECALL_MSD_VEHICLE_BUS_M2 

Buses and coaches (Class M2)

LE_ECALL_MSD_VEHICLE_BUS_M3 

Buses and coaches (Class M3)

LE_ECALL_MSD_VEHICLE_COMMERCIAL_N1 

Light commercial vehicles (Class N1)

LE_ECALL_MSD_VEHICLE_HEAVY_N2 

Heavy duty vehicles (Class N2)

LE_ECALL_MSD_VEHICLE_HEAVY_N3 

Heavy duty vehicles (Class N3)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L1E 

Motorcycles (Class L1e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L2E 

Motorcycles (Class L2e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L3E 

Motorcycles (Class L3e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L4E 

Motorcycles (Class L4e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L5E 

Motorcycles (Class L5e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L6E 

Motorcycles (Class L6e)

LE_ECALL_MSD_VEHICLE_MOTORCYCLE_L7E 

Motorcycles (Class L7e)

Configured operation modes.

Enumerator
LE_ECALL_NORMAL_MODE 

Normal mode.

LE_ECALL_ONLY_MODE 

eCall only mode according to U/SIM operation mode or forced by application through the le_ecall_ForceOnlyMode() function.

LE_ECALL_FORCED_PERSISTENT_ONLY_MODE 

Persistent eCall only mode.

Propulsion type Bit Mask

Enumerator
LE_ECALL_PROPULSION_TYPE_GASOLINE 

Gasoline propulsion)

LE_ECALL_PROPULSION_TYPE_DIESEL 

Diesel propulsion.

LE_ECALL_PROPULSION_TYPE_NATURALGAS 

Compressed natural gas propulsion.

LE_ECALL_PROPULSION_TYPE_PROPANE 

Liquid propane gas propulsion.

LE_ECALL_PROPULSION_TYPE_ELECTRIC 

Electric propulsion.

LE_ECALL_PROPULSION_TYPE_HYDROGEN 

Hydrogen propulsion.

LE_ECALL_PROPULSION_TYPE_OTHER 

Other type of propulsions.

eCall session states.

Enumerator
LE_ECALL_STATE_UNKNOWN 

Unknown state.

LE_ECALL_STATE_STARTED 

eCall session started.

LE_ECALL_STATE_CONNECTED 

Emergency call is established.

LE_ECALL_STATE_DISCONNECTED 

Emergency call is disconnected.

LE_ECALL_STATE_WAITING_PSAP_START_IND 

Waiting for PSAP start indication.

LE_ECALL_STATE_PSAP_START_IND_RECEIVED 

PSAP start indication received.

LE_ECALL_STATE_MSD_TX_STARTED 

MSD transmission is started.

LE_ECALL_STATE_LLNACK_RECEIVED 

LL-NACK received.

LE_ECALL_STATE_LLACK_RECEIVED 

LL-ACK received.

LE_ECALL_STATE_MSD_TX_COMPLETED 

MSD transmission is complete.

LE_ECALL_STATE_MSD_TX_FAILED 

MSD transmission has failed.

LE_ECALL_STATE_ALACK_RECEIVED_POSITIVE 

AL-ACK received.

LE_ECALL_STATE_ALACK_RECEIVED_CLEAR_DOWN 

AL-ACK clear-down received.

LE_ECALL_STATE_STOPPED 

eCall session has been stopped by PSAP or IVS le_ecall_End().

LE_ECALL_STATE_RESET 

eCall session has lost synchronization and starts over.

LE_ECALL_STATE_COMPLETED 

eCall session completed. The modem successfully completed the MSD transmission and received two AL-ACKs (positive). Can now switch to voice path.

LE_ECALL_STATE_FAILED 

Unsuccessful eCall session.

LE_ECALL_STATE_END_OF_REDIAL_PERIOD 

End of the redial period.

LE_ECALL_STATE_TIMEOUT_T2 

Timeout for Timer T2 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T3 

Timeout for Timer T3 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T5 

Timeout for Timer T5 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T6 

Timeout for Timer T6 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T7 

Timeout for Timer T7 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T9 

Timeout for Timer T9 (see CEN-EN 16062, annex A)

LE_ECALL_STATE_TIMEOUT_T10 

Timeout for Timer T10 (see CEN-EN 16062, annex A)

Configure which standard to follow for the eCall, either PAN European eCall or ERA GLONASS.

Enumerator
LE_ECALL_PAN_EUROPEAN 

PAN-EUROPEAN standard.

LE_ECALL_ERA_GLONASS 

ERA GLONASS standard.

Function Documentation

le_ecall_StateChangeHandlerRef_t le_ecall_AddStateChangeHandler ( le_ecall_StateChangeHandlerFunc_t  handlerPtr,
void *  contextPtr 
)

Add handler function for EVENT 'le_ecall_StateChange'

This event provides information on eCall state changes.

Parameters
[in]handlerPtr
[in]contextPtr
void le_ecall_ConnectService ( void  )

Connect the current client thread to the service providing this API. Block until the service is available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

le_ecall_CallRef_t le_ecall_Create ( void  )

Create a new eCall object

The eCall is not actually established at this point. It's still up to the caller to call le_ecall_Start() when ready.

Returns
  • A reference to the new Call object.
Note
On failure, the process exits; you don't have to worry about checking the returned reference for validity.
void le_ecall_Delete ( le_ecall_CallRef_t  ecallRef)

Call to free up a call reference.

Note
This will free the reference, but not necessarily stop an active eCall. If there are other holders of this reference the eCall will remain active.
Parameters
[in]ecallRefeCall reference
void le_ecall_DisconnectService ( void  )

Disconnect the current client thread from the service providing this API.

Normally, this function doesn't need to be called. After this function is called, there's no longer a connection to the service, and the functions in this API can't be used. For details, see Client-specific Functions.

This function is created automatically.

le_result_t le_ecall_End ( le_ecall_CallRef_t  ecallRef)

End the current eCall session

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_ExitOnlyMode ( void  )

This function exits from eCall Only mode. It configures the eCall operation mode to Normal mode, the modem uses the default operation mode at power up (or after U/SIM hotswap). The modem behaves following the U/SIM eCall operation mode; for example the U/SIM can be configured only for eCall, or a combination of eCall and commercial service provision.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
le_result_t le_ecall_ExportMsd ( le_ecall_CallRef_t  ecallRef,
uint8_t *  msdPtr,
size_t *  msdSizePtr 
)

Export the encoded MSD.

Returns
  • LE_OK on success
  • LE_OVERFLOW The encoded MSD length exceeds the user's buffer length.
  • LE_NOT_FOUND No encoded MSD is available.
  • LE_BAD_PARAMETER bad eCall reference.
  • LE_FAULT for other failures.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ecallRefeCall reference
[out]msdPtrthe encoded MSD
[in,out]msdSizePtr
le_result_t le_ecall_ForceOnlyMode ( void  )

This function configures the eCall operation mode to eCall only, only emergency number can be used to start an eCall session. The modem doesn't try to register on the Cellular network. This function forces the modem to behave as eCall only mode whatever U/SIM operation mode. The change doesn't persist over power cycles. This function can be called before making an eCall.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
le_result_t le_ecall_ForcePersistentOnlyMode ( void  )

Same as le_ecall_ForceOnlyMode(), but the change persists over power cycles.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
le_result_t le_ecall_GetConfiguredOperationMode ( le_ecall_OpMode_t opModePtr)

Get the configured Operation mode.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]opModePtrOperation mode
le_result_t le_ecall_GetEraGlonassAutoAnswerTime ( uint16_t *  autoAnswerTimePtr)

Get the ECALL_AUTO_ANSWER_TIME time.

Returns
  • LE_OK on success
  • LE_FAULT on execution failure
Parameters
[out]autoAnswerTimePtrThe ECALL_AUTO_ANSWER_TIME time value (in minutes)
le_result_t le_ecall_GetEraGlonassAutoDialAttempts ( uint16_t *  attemptsPtr)

Get the ECALL_AUTO_DIAL_ATTEMPTS value.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]attemptsPtrthe ECALL_AUTO_DIAL_ATTEMPTS value
le_result_t le_ecall_GetEraGlonassDialDuration ( uint16_t *  durationPtr)

Get the ECALL_DIAL_DURATION time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]durationPtrthe ECALL_DIAL_DURATION time value (in seconds)
le_result_t le_ecall_GetEraGlonassFallbackTime ( uint16_t *  durationPtr)

Get the ECALL_CCFT time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]durationPtrthe ECALL_CCFT time value (in minutes)
le_result_t le_ecall_GetEraGlonassManualDialAttempts ( uint16_t *  attemptsPtr)

Get the ECALL_MANUAL_DIAL_ATTEMPTS value.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]attemptsPtrthe ECALL_MANUAL_DIAL_ATTEMPTS value
le_result_t le_ecall_GetEraGlonassMSDMaxTransmissionTime ( uint16_t *  msdMaxTransTimePtr)

Get the ECALL_MSD_MAX_TRANSMISSION_TIME time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[out]msdMaxTransTimePtrThe ECALL_MSD_MAX_TRANSMISSION_TIME time value (in seconds)
le_result_t le_ecall_GetIntervalBetweenDialAttempts ( uint16_t *  pausePtr)

Get the minimum interval value between dial attempts.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[out]pausePtrthe minimum interval value in seconds
le_result_t le_ecall_GetMsdTxMode ( le_ecall_MsdTxMode_t modePtr)

Get the push/pull transmission mode.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[out]modePtrTransmission mode
le_result_t le_ecall_GetMsdVersion ( uint32_t *  msdVersionPtr)

Get the MSD version.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_BAD_PARAMETER parameter is NULL
Parameters
[out]msdVersionPtrMsd version
le_result_t le_ecall_GetNadDeregistrationTime ( uint16_t *  deregTimePtr)

Get the NAD (network access device) deregistration time value.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[out]deregTimePtrthe NAD (network access device) deregistration time value
int32_t le_ecall_GetPlatformSpecificTerminationCode ( le_ecall_CallRef_t  ecallRef)

Called to get the platform specific termination code.

Returns
The platform specific termination code.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ecallRefeCall reference.
le_result_t le_ecall_GetPropulsionType ( le_ecall_PropulsionTypeBitMask_t propulsionTypePtr)

Get the propulsion stored. Note that a vehicle may have more than one propulsion type.

Returns
  • LE_OK on success
  • LE_NOT_FOUND if the value is not set.
  • LE_FAULT for other failures
  • LE_BAD_PARAMETER parameter is NULL
Parameters
[out]propulsionTypePtrbitmask
le_result_t le_ecall_GetPsapNumber ( char *  psap,
size_t  psapSize 
)

Get the Public Safely Answering Point telephone number set with le_ecall_SetPsapNumber() function.

Note
That PSAP number is not applied to Manually or Automatically initiated eCall. For those modes, an emergency call is launched.
Warning
This function doesn't read the U/SIM content.
Returns
Parameters
[out]psapPublic Safely Answering Point telephone number
[in]psapSize
le_ecall_State_t le_ecall_GetState ( le_ecall_CallRef_t  ecallRef)

Get the current state for the given eCall

Returns
  • The current state for the given eCall
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_GetSystemStandard ( le_ecall_SystemStandard_t systemStandardPtr)

Get the system standard.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_BAD_PARAMETER parameter is NULL
Parameters
[out]systemStandardPtrSystem Standard
le_mcc_TerminationReason_t le_ecall_GetTerminationReason ( le_ecall_CallRef_t  ecallRef)

Called to get the termination reason.

Returns
The termination reason.
Note
If the caller is passing a bad pointer into this function, it is a fatal error, the function will not return.
Parameters
[in]ecallRefeCall reference.
le_result_t le_ecall_GetVehicleType ( le_ecall_MsdVehicleType_t vehicleTypePtr)

Get the Vehicled Type.

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER parameter is NULL
  • LE_FAULT for other failures
Parameters
[out]vehicleTypePtrVehicle type
le_result_t le_ecall_GetVIN ( char *  vin,
size_t  vinSize 
)

Get the VIN (Vehicle Identification Number).

Returns
  • LE_OK on success
  • LE_NOT_FOUND if the value is not set.
  • LE_BAD_PARAMETER parameter is NULL or to small
  • LE_FAULT for other failures
Parameters
[out]vinVIN is gotten with a null termination.
[in]vinSize
le_result_t le_ecall_ImportMsd ( le_ecall_CallRef_t  ecallRef,
const uint8_t *  msdPtr,
size_t  msdSize 
)

Import an already prepared MSD.

MSD is transmitted only after an emergency call has been established.

Returns
  • LE_OK on success
  • LE_OVERFLOW The imported MSD length exceeds the MSD_MAX_LEN maximum length.
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
Note
On failure, the process exits; you don't have to worry about checking the returned reference for validity.
Parameters
[in]ecallRefeCall reference
[in]msdPtrthe prepared MSD
[in]msdSize
void le_ecall_RemoveStateChangeHandler ( le_ecall_StateChangeHandlerRef_t  handlerRef)

Remove handler function for EVENT 'le_ecall_StateChange'

Parameters
[in]handlerRef
le_result_t le_ecall_ResetMsdEraGlonassCoordinateSystemType ( le_ecall_CallRef_t  ecallRef)

Reset the ERA-GLONASS coordinate system type. Therefore that optional parameter is not included in the MSD message.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_ResetMsdEraGlonassCrashInfo ( le_ecall_CallRef_t  ecallRef)

Reset the ERA-GLONASS crash type bit mask. Optional parameter is not included in the MSD message.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_ResetMsdEraGlonassCrashSeverity ( le_ecall_CallRef_t  ecallRef)

Reset the ERA-GLONASS crash severity parameter. Therefore that optional parameter is not included in the MSD message.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_ResetMsdEraGlonassDiagnosticResult ( le_ecall_CallRef_t  ecallRef)

Reset the ERA-GLONASS diagnostic result bit mask. Optional parameter is not included in the MSD message.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_SendMsd ( le_ecall_CallRef_t  ecallRef)

Send the MSD.

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
On failure, the process exits, so you don't have to worry about checking the returned reference for validity.
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_SetEraGlonassAutoAnswerTime ( uint16_t  autoAnswerTime)

Set the ECALL_AUTO_ANSWER_TIME time, the time interval wherein IVDS responds to incoming calls automatically after emergency call completion.

Note
Default value of auto answer time is 20 minutes.
Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[in]autoAnswerTimeThe ECALL_AUTO_ANSWER_TIME time value (in minutes)
le_result_t le_ecall_SetEraGlonassAutoDialAttempts ( uint16_t  attempts)

Set the ECALL_AUTO_DIAL_ATTEMPTS value. If a dial attempt under automatic emergency call initiation failed, it should be repeated maximally ECALL_AUTO_DIAL_ATTEMPTS-1 times within the maximal time limit of ECALL_DIAL_DURATION. The default value is 10. Redial attempts stop once the call has been cleared down correctly, or if counter/timer reached their limits.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[in]attemptsthe ECALL_AUTO_DIAL_ATTEMPTS value
le_result_t le_ecall_SetEraGlonassDialDuration ( uint16_t  duration)

Set the ECALL_DIAL_DURATION time. It's the maximum time the IVS have to connect the emergency call to the PSAP, including all redial attempts. If the call is not connected within this time (or ManualDialAttempts/AutoDialAttempts dial attempts), it will stop.

Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[in]durationthe ECALL_DIAL_DURATION time value (in seconds)
le_result_t le_ecall_SetEraGlonassFallbackTime ( uint16_t  duration)

Set the ECALL_CCFT time. It's the maximum delay before initiating an an automatic call termination. When the delay is reached and IVS NAD didn't receive a call clear-down indication then the call is immediatly terminated.

Note
Default value of the ECALL_CCFT time is 60 minutes. When changing the ECALL_CCFT, a value greater than 60 minutes must be provided.
Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[in]durationthe ECALL_CCFT time value (in minutes)
le_result_t le_ecall_SetEraGlonassManualDialAttempts ( uint16_t  attempts)

Set the ECALL_MANUAL_DIAL_ATTEMPTS value. If a dial attempt under manual emergency call initiation failed, it should be repeated maximally ECALL_MANUAL_DIAL_ATTEMPTS-1 times within the maximal time limit of ECALL_DIAL_DURATION. The default value is 10. Redial attempts stop once the call has been cleared down correctly, or if counter/timer reached their limits.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Parameters
[in]attemptsthe ECALL_MANUAL_DIAL_ATTEMPTS value
le_result_t le_ecall_SetEraGlonassMSDMaxTransmissionTime ( uint16_t  msdMaxTransTime)

Set the ECALL_MSD_MAX_TRANSMISSION_TIME time, the time period for MSD transmission.

Note
Default value of MSD transmission time is 20 seconds.
Returns
  • LE_OK on success
  • LE_FAULT on failure
  • LE_UNSUPPORTED if the function is not supported by the target
Parameters
[in]msdMaxTransTimeThe ECALL_MSD_MAX_TRANSMISSION_TIME time value (in seconds)
le_result_t le_ecall_SetIntervalBetweenDialAttempts ( uint16_t  pause)

Set the minimum interval value between dial attempts.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]pausethe minimum interval value in seconds
le_result_t le_ecall_SetMsdEraGlonassCoordinateSystemType ( le_ecall_CallRef_t  ecallRef,
le_ecall_MsdCoordinateType_t  coordinateSystemType 
)

Set the ERA-GLONASS coordinate system type.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
[in]coordinateSystemTypethe ERA-GLONASS coordinate system type
le_result_t le_ecall_SetMsdEraGlonassCrashInfo ( le_ecall_CallRef_t  ecallRef,
le_ecall_CrashInfoBitMask_t  crashInfoMask 
)

Set the ERA-GLONASS crash type bit mask

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
[in]crashInfoMaskERA-GLONASS crash type bit mask.
le_result_t le_ecall_SetMsdEraGlonassCrashSeverity ( le_ecall_CallRef_t  ecallRef,
uint32_t  crashSeverity 
)

Set the ERA-GLONASS crash severity parameter.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
[in]crashSeveritythe ERA-GLONASS crash severity parameter
le_result_t le_ecall_SetMsdEraGlonassDiagnosticResult ( le_ecall_CallRef_t  ecallRef,
le_ecall_DiagnosticResultBitMask_t  diagnosticResultMask 
)

Set the ERA-GLONASS diagnostic result using a bit mask.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT on other failures
Parameters
[in]ecallRefeCall reference
[in]diagnosticResultMaskERA-GLONASS diagnostic result bit mask.
le_result_t le_ecall_SetMsdPassengersCount ( le_ecall_CallRef_t  ecallRef,
uint32_t  paxCount 
)

Set the number of passengers transmitted by the MSD.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad eCall reference
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
[in]paxCountnumber of passengers
le_result_t le_ecall_SetMsdPosition ( le_ecall_CallRef_t  ecallRef,
bool  isTrusted,
int32_t  latitude,
int32_t  longitude,
int32_t  direction 
)

Set the position transmitted by the MSD.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad input parameter
  • LE_FAULT on other failures
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
[in]isTrustedtrue if the position is accurate, false otherwise
[in]latitudelatitude in degrees with 6 decimal places, positive North. Maximum value is +90 degrees (+90000000), minimum value is -90 degrees (-90000000).
[in]longitudelongitude in degrees with 6 decimal places, positive East. Maximum value is +180 degrees (+180000000), minimum value is -180 degrees (-180000000).
[in]directiondirection of the vehicle from magnetic north (0 to 358, clockwise) in 2-degrees unit. Valid range is 0 to 179. If direction of travel is invalid or unknown, the value 0xFF shall be used.
le_result_t le_ecall_SetMsdPositionN1 ( le_ecall_CallRef_t  ecallRef,
int32_t  latitudeDeltaN1,
int32_t  longitudeDeltaN1 
)

Set the position Delta N-1 from position set in le_ecall_SetMsdPosition() transmitted by the MSD.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad input parameter
  • LE_FAULT on other failures
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
[in]latitudeDeltaN1longitude delta from position set in SetMsdPosition 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+- 1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m)
[in]longitudeDeltaN1longitude delta from position set in SetMsdPosition 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+-1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m) )
le_result_t le_ecall_SetMsdPositionN2 ( le_ecall_CallRef_t  ecallRef,
int32_t  latitudeDeltaN2,
int32_t  longitudeDeltaN2 
)

Set the position Delta N-2 from position set in le_ecall_SetMsdPositionN1() transmitted by the MSD.

Returns
  • LE_OK on success
  • LE_DUPLICATE an MSD has been already imported
  • LE_BAD_PARAMETER bad input parameter
  • LE_FAULT on other failures
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
[in]latitudeDeltaN2longitude delta from position set in SetMsdPositionN1 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+-1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m)
[in]longitudeDeltaN2longitude delta from position set in SetMsdPositionN1 1 Unit = 100 miliarcseconds, which is approximately 3m maximum value: 511 = 0 0'51.100'' (+-1580m) minimum value: -512 = -0 0'51.200'' (+- -1583m) )
le_result_t le_ecall_SetMsdTxMode ( le_ecall_MsdTxMode_t  mode)

Set the push/pull transmission mode.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Parameters
[in]modeTransmission mode
le_result_t le_ecall_SetMsdVersion ( uint32_t  msdVersion)

Set the MSDs version. Default value is 1

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]msdVersionMsd version
le_result_t le_ecall_SetNadDeregistrationTime ( uint16_t  deregTime)

Set the NAD (network access device) deregistration time value. After termination of an emergency call the in-vehicle system remains registered on the network for the period of time, defined by the installation parameter NAD (network access device) deregistration time.

Returns
  • LE_OK on success
  • LE_FAULT on failure
Note
The formula to calculate NAD deregistration time for PAN_EUROPEAN is as below: ECallConfiguration.nad_deregistration_time = (deregTime+59)/60;
Parameters
[in]deregTimethe NAD (network access device) deregistration time value (in minutes).
le_result_t le_ecall_SetPropulsionType ( le_ecall_PropulsionTypeBitMask_t  propulsionType)

Set the propulsion type. Note that a vehicle may have more than one propulsion type.

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]propulsionTypebitmask
le_result_t le_ecall_SetPsapNumber ( const char *LE_NONNULL  psap)

Set the Public Safely Answering Point telephone number.

Note
That PSAP number is not applied to Manually or Automatically initiated eCall. For those modes, an emergency call is launched.
Warning
This function doesn't modified the U/SIM content.
Returns
  • LE_OK on success
  • LE_FAULT for other failures
Note
If PSAP number is too long (max LE_MDMDEFS_PHONE_NUM_MAX_LEN digits), it is a fatal error, the function will not return.
Parameters
[in]psapPublic Safely Answering Point number
void le_ecall_SetServerDisconnectHandler ( le_ecall_DisconnectHandler_t  disconnectHandler,
void *  contextPtr 
)

Set handler called when server disconnection is detected.

When a server connection is lost, call this handler then exit with LE_FATAL. If a program wants to continue without exiting, it should call longjmp() from inside the handler.

le_result_t le_ecall_SetSystemStandard ( le_ecall_SystemStandard_t  systemStandard)

Set the system standard. Default is PAN EUROPEAN

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]systemStandardSystem standard
le_result_t le_ecall_SetVehicleType ( le_ecall_MsdVehicleType_t  vehicleType)

Set the Vehicled Type Default value is 0

Returns
  • LE_OK on success
  • LE_FAULT for other failures
Parameters
[in]vehicleTypeVehicle type
le_result_t le_ecall_SetVIN ( const char *LE_NONNULL  vin)

Set the VIN (Vehicle Identification Number).

Returns
  • LE_OK on success
  • LE_BAD_PARAMETER parameter is NULL.
  • LE_FAULT for other failures
Parameters
[in]vinVIN (Vehicle Identification Number)
le_result_t le_ecall_StartAutomatic ( le_ecall_CallRef_t  ecallRef)

Start an automatic eCall session

Returns
  • LE_OK on success
  • LE_BUSY an eCall session is already in progress
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_StartManual ( le_ecall_CallRef_t  ecallRef)

Start a manual eCall session

Returns
  • LE_OK on success
  • LE_BUSY an eCall session is already in progress
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_StartTest ( le_ecall_CallRef_t  ecallRef)

Start a test eCall session

Returns
  • LE_OK on success
  • LE_BUSY an eCall session is already in progress
  • LE_BAD_PARAMETER bad eCall reference
  • LE_FAULT for other failures
  • LE_UNSUPPORTED Not supported on this platform
Note
The process exits, if an invalid eCall reference is given
Parameters
[in]ecallRefeCall reference
le_result_t le_ecall_TryConnectService ( void  )

Try to connect the current client thread to the service providing this API. Return with an error if the service is not available.

For each thread that wants to use this API, either ConnectService or TryConnectService must be called before any other functions in this API. Normally, ConnectService is automatically called for the main thread, but not for any other thread. For details, see Client-specific Functions.

This function is created automatically.

Returns
  • LE_OK if the client connected successfully to the service.
  • LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.
  • LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).
  • LE_COMM_ERROR if the Service Directory cannot be reached.
le_result_t le_ecall_UseUSimNumbers ( void  )

When modem is in ECALL_FORCED_PERSISTENT_ONLY_MODE or ECALL_ONLY_MODE, this function can be called to request the modem to read the number to dial from the FDN/SDN of the U/SIM.

Note
If FDN directory is updated with new dial numbers, be sure that the SIM card is refreshed.
Returns
  • LE_OK on success
  • LE_FAULT for other failures