le_ecall_interface.h
Go to the documentation of this file.
25 * The Mobile Network Operator handles the eCall like any other 112 call and routes the call to the28 * At the same time, a digital "minimum set of data" (MSD) message is sent over the voice call using54 * - le_ecall_ForceOnlyMode(): this function configures the eCall operation mode to eCall only, only60 * - le_ecall_ForcePersistentOnlyMode(): Same as le_ecall_ForceOnlyMode(), but the change persists69 * - le_ecall_GetConfiguredOperationMode(): this function allows the user to retrieve the configured83 * The type of eCall and the kind of activation are specified using different functions to start the91 * @warning An application must wait for @c LE_ECALL_STATE_DISCONNECTED event before calling again104 * le_ecall_GetPlatformSpecificTerminationCode() to get platform specific termination code (refer118 * @warning Those functions return a LE_DUPLICATE error when the MSD has been already imported with130 * The prepared MSD must answer the requirements described in the "EN 15722:2013" publication (this131 * publication has been prepared by Technical Committee CEN/TC 278 “Intelligent Transport Systems").134 * le_ecall_SetMsdXxx() functions and the configuration tree. It overwrites any previous imported137 * @warning The imported MSD overwrites the control flags (automaticActivation and testCall) set by145 * The MSD can be updated before calling le_ecall_SendMsd(), using the e_ecall_ImportMsd() function150 * If another application tries to use the eCall service while a session is already in progress, the151 * le_ecall_StartManual(), le_ecall_StartAutomatic(), le_ecall_StartTest() functions will return a152 * LE_BUSY error. The eCall session in progress won't be interrupted or disturbed. The application160 * To perform an emergency call following the ERA-GLONASS requirements, the 'systemStandard' entry173 * - le_ecall_SetEraGlonassAutoDialAttempts(): set the AUTO_DIAL_ATTEMPTS value. If a dial attempt179 * - le_ecall_SetEraGlonassDialDuration(): set the ECALL_DIAL_DURATION time. It is the maximum time266 * In the case of PAN-EUROPEAN, the redial can be performed as many times as desired but should be269 * In the case of ERA-GLONASS, the redial can be performed ECALL_MANUAL_DIAL_ATTEMPTS times within280 * A sample code that implements an eCall test session with a voice call connection can be found in300 * le_ecall_UseUSimNumbers() function can be recalled to indicate the modem to read the number to303 * The NAD (Network Access Device, i.e. the Modem) deregistration time value can be set or get with:314 * After termination of an emergency call the in-vehicle system remains registered on the network369 * The 'msdVersion' field is the MSD format version. If the field is not present, the default MSD433 //--------------------------------------------------------------------------------------------------436 * Connect the current client thread to the service providing this API. Block until the service is439 * For each thread that wants to use this API, either ConnectService or TryConnectService must be440 * called before any other functions in this API. Normally, ConnectService is automatically called445 //--------------------------------------------------------------------------------------------------451 //--------------------------------------------------------------------------------------------------454 * Try to connect the current client thread to the service providing this API. Return with an error457 * For each thread that wants to use this API, either ConnectService or TryConnectService must be458 * called before any other functions in this API. Normally, ConnectService is automatically called465 * - LE_UNAVAILABLE if the server is not currently offering the service to which the client is bound.466 * - LE_NOT_PERMITTED if the client interface is not bound to any service (doesn't have a binding).469 //--------------------------------------------------------------------------------------------------475 //--------------------------------------------------------------------------------------------------481 * longer a connection to the service, and the functions in this API can't be used. For details, see486 //--------------------------------------------------------------------------------------------------493 //--------------------------------------------------------------------------------------------------497 //--------------------------------------------------------------------------------------------------501 //--------------------------------------------------------------------------------------------------505 //--------------------------------------------------------------------------------------------------509 //--------------------------------------------------------------------------------------------------513 //--------------------------------------------------------------------------------------------------529 //--------------------------------------------------------------------------------------------------533 //--------------------------------------------------------------------------------------------------617 //--------------------------------------------------------------------------------------------------621 //--------------------------------------------------------------------------------------------------633 //--------------------------------------------------------------------------------------------------638 //--------------------------------------------------------------------------------------------------770 //--------------------------------------------------------------------------------------------------775 //--------------------------------------------------------------------------------------------------829 //--------------------------------------------------------------------------------------------------833 //--------------------------------------------------------------------------------------------------837 //--------------------------------------------------------------------------------------------------848 //--------------------------------------------------------------------------------------------------850 (856 //--------------------------------------------------------------------------------------------------868 //--------------------------------------------------------------------------------------------------874 //--------------------------------------------------------------------------------------------------882 //--------------------------------------------------------------------------------------------------888 //--------------------------------------------------------------------------------------------------890 * This function exits from eCall Only mode. It configures the eCall operation mode to Normal mode,891 * the modem uses the default operation mode at power up (or after U/SIM hotswap). The modem behaves892 * following the U/SIM eCall operation mode; for example the U/SIM can be configured only for eCall,899 //--------------------------------------------------------------------------------------------------905 //--------------------------------------------------------------------------------------------------913 //--------------------------------------------------------------------------------------------------920 //--------------------------------------------------------------------------------------------------926 //--------------------------------------------------------------------------------------------------936 //--------------------------------------------------------------------------------------------------940 //--------------------------------------------------------------------------------------------------947 //--------------------------------------------------------------------------------------------------960 //--------------------------------------------------------------------------------------------------966 //--------------------------------------------------------------------------------------------------973 //--------------------------------------------------------------------------------------------------980 //--------------------------------------------------------------------------------------------------988 //--------------------------------------------------------------------------------------------------995 //--------------------------------------------------------------------------------------------------1003 //--------------------------------------------------------------------------------------------------1010 //--------------------------------------------------------------------------------------------------1022 //--------------------------------------------------------------------------------------------------1047 //--------------------------------------------------------------------------------------------------1049 * Set the position Delta N-1 from position set in le_ecall_SetMsdPosition() transmitted by the MSD.1059 //--------------------------------------------------------------------------------------------------1078 //--------------------------------------------------------------------------------------------------1080 * Set the position Delta N-2 from position set in le_ecall_SetMsdPositionN1() transmitted by the MSD.1090 //--------------------------------------------------------------------------------------------------1109 //--------------------------------------------------------------------------------------------------1120 //--------------------------------------------------------------------------------------------------1130 //--------------------------------------------------------------------------------------------------1145 //--------------------------------------------------------------------------------------------------1158 //--------------------------------------------------------------------------------------------------1172 //--------------------------------------------------------------------------------------------------1185 //--------------------------------------------------------------------------------------------------1197 //--------------------------------------------------------------------------------------------------1204 //--------------------------------------------------------------------------------------------------1216 //--------------------------------------------------------------------------------------------------1223 //--------------------------------------------------------------------------------------------------1235 //--------------------------------------------------------------------------------------------------1242 //--------------------------------------------------------------------------------------------------1254 //--------------------------------------------------------------------------------------------------1261 //--------------------------------------------------------------------------------------------------1270 //--------------------------------------------------------------------------------------------------1277 //--------------------------------------------------------------------------------------------------1286 //--------------------------------------------------------------------------------------------------1293 //--------------------------------------------------------------------------------------------------1297 * @note That PSAP number is not applied to Manually or Automatically initiated eCall. For those1306 * @note If PSAP number is too long (max LE_MDMDEFS_PHONE_NUM_MAX_LEN digits), it is a fatal error,1309 //--------------------------------------------------------------------------------------------------1316 //--------------------------------------------------------------------------------------------------1321 * @note That PSAP number is not applied to Manually or Automatically initiated eCall. For those1330 //--------------------------------------------------------------------------------------------------1340 //--------------------------------------------------------------------------------------------------1342 * This function can be recalled to indicate the modem to read the number to dial from the FDN/SDN1349 //--------------------------------------------------------------------------------------------------1355 //--------------------------------------------------------------------------------------------------1365 //--------------------------------------------------------------------------------------------------1372 //--------------------------------------------------------------------------------------------------1380 //--------------------------------------------------------------------------------------------------1387 //--------------------------------------------------------------------------------------------------1395 //--------------------------------------------------------------------------------------------------1402 //--------------------------------------------------------------------------------------------------1410 //--------------------------------------------------------------------------------------------------1417 //--------------------------------------------------------------------------------------------------1420 * failed, it should be repeated maximally ECALL_MANUAL_DIAL_ATTEMPTS-1 times within the maximal1422 * Redial attempts stop once the call has been cleared down correctly, or if counter/timer reached1429 //--------------------------------------------------------------------------------------------------1436 //--------------------------------------------------------------------------------------------------1438 * Set tthe AUTO_DIAL_ATTEMPTS value. If a dial attempt under automatic emergency call initiation1439 * failed, it should be repeated maximally ECALL_AUTO_DIAL_ATTEMPTS-1 times within the maximal time1441 * Redial attempts stop once the call has been cleared down correctly, or if counter/timer reached1448 //--------------------------------------------------------------------------------------------------1455 //--------------------------------------------------------------------------------------------------1457 * Set the ECALL_DIAL_DURATION time. It's the maximum time the IVS have to connect the emergency1466 //--------------------------------------------------------------------------------------------------1473 //--------------------------------------------------------------------------------------------------1481 //--------------------------------------------------------------------------------------------------1488 //--------------------------------------------------------------------------------------------------1496 //--------------------------------------------------------------------------------------------------1503 //--------------------------------------------------------------------------------------------------1511 //--------------------------------------------------------------------------------------------------1518 //--------------------------------------------------------------------------------------------------1527 //--------------------------------------------------------------------------------------------------1537 //--------------------------------------------------------------------------------------------------1539 * Reset the ERA-GLONASS crash severity parameter. Therefore that optional parameter is not included1547 //--------------------------------------------------------------------------------------------------1554 //--------------------------------------------------------------------------------------------------1563 //--------------------------------------------------------------------------------------------------1573 //--------------------------------------------------------------------------------------------------1583 //--------------------------------------------------------------------------------------------------1590 //--------------------------------------------------------------------------------------------------1599 //--------------------------------------------------------------------------------------------------1609 //--------------------------------------------------------------------------------------------------1619 //--------------------------------------------------------------------------------------------------1626 //--------------------------------------------------------------------------------------------------1635 //--------------------------------------------------------------------------------------------------1642 //--------------------------------------------------------------------------------------------------1651 //--------------------------------------------------------------------------------------------------AL-ACK clear-down received.Definition: le_ecall_interface.h:572Present Left collision indicator.Definition: le_ecall_interface.h:784void le_ecall_RemoveStateChangeHandler(le_ecall_StateChangeHandlerRef_t addHandlerRef)int32_t le_ecall_GetPlatformSpecificTerminationCode(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_StartTest(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_SetMsdPositionN2(le_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN2, int32_t longitudeDeltaN2)Persistent eCall only mode.Definition: le_ecall_interface.h:523Timeout for Timer T5 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:599Present Battery failure.Definition: le_ecall_interface.h:689Definition: le_ecall_interface.h:582le_result_t le_ecall_ForceOnlyMode(void)Present Right speaker failure.Definition: le_ecall_interface.h:653le_result_t le_ecall_SendMsd(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_ResetMsdEraGlonassCrashSeverity(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_SetEraGlonassDialDuration(uint16_t duration)Present Comm module interface failure.Definition: le_ecall_interface.h:713Present Other critical failures.Definition: le_ecall_interface.h:755le_result_t le_ecall_SetMsdEraGlonassDiagnosticResult(le_ecall_CallRef_t ecallRef, le_ecall_DiagnosticResultBitMask_t diagnosticResultMask)Definition: le_ecall_interface.h:519Present Battery voltage low failure.Definition: le_ecall_interface.h:695le_result_t le_ecall_SetMsdEraGlonassCrashSeverity(le_ecall_CallRef_t ecallRef, uint32_t crashSeverity)le_result_t le_ecall_ForcePersistentOnlyMode(void)le_result_t le_ecall_ImportMsd(le_ecall_CallRef_t ecallRef, const uint8_t *msdPtr, size_t msdNumElements)Front or side collision indicator.Definition: le_ecall_interface.h:817le_result_t le_ecall_SetMsdTxMode(le_ecall_MsdTxMode_t mode)void le_ecall_ConnectService(void)Timeout for Timer T10 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:611Firmware image corruption failure status.Definition: le_ecall_interface.h:710Present Side collision indicator.Definition: le_ecall_interface.h:808Present Mic connection failure.Definition: le_ecall_interface.h:641Right speaker failure status.Definition: le_ecall_interface.h:656Present Right collision indicator.Definition: le_ecall_interface.h:790Other critical failures status.Definition: le_ecall_interface.h:758Crash profile memory overflow status.Definition: le_ecall_interface.h:752le_result_t le_ecall_GetMsdTxMode(le_ecall_MsdTxMode_t *modePtr)Present Crash profile memory overflow.Definition: le_ecall_interface.h:749Present Front or side collision indicator.Definition: le_ecall_interface.h:814le_result_t le_ecall_ResetMsdEraGlonassCrashInfo(le_ecall_CallRef_t ecallRef)Left speaker failure status.Definition: le_ecall_interface.h:662Present Other not critical failures.Definition: le_ecall_interface.h:761Ignition line failure status.Definition: le_ecall_interface.h:674void(* le_ecall_StateChangeHandlerFunc_t)(le_ecall_CallRef_t ecallRef, le_ecall_State_t state, void *contextPtr)Definition: le_ecall_interface.h:850Pull mode (modem/host waits for MSD request from PSAP to send MSD).Definition: le_ecall_interface.h:624struct le_ecall_StateChangeHandler * le_ecall_StateChangeHandlerRef_tDefinition: le_ecall_interface.h:834le_result_t le_ecall_GetConfiguredOperationMode(le_ecall_OpMode_t *opModePtr)le_result_t le_ecall_ExportMsd(le_ecall_CallRef_t ecallRef, uint8_t *msdPtr, size_t *msdNumElementsPtr)GNSS antenna failure status.Definition: le_ecall_interface.h:734le_result_t le_ecall_SetNadDeregistrationTime(uint16_t deregTime)Present GNSS receiver failure.Definition: le_ecall_interface.h:719le_result_t le_ecall_GetPsapNumber(char *psap, size_t psapNumElements)void le_ecall_DisconnectService(void)Push mode (modem/host sends MSD to PSAP right after eCall is connected).Definition: le_ecall_interface.h:627le_result_t le_ecall_SetEraGlonassAutoDialAttempts(uint16_t attempts)Other types of damage indicator.Definition: le_ecall_interface.h:823le_result_t le_ecall_SetEraGlonassManualDialAttempts(uint16_t attempts)Timeout for Timer T6 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:602PSAP start indication received.Definition: le_ecall_interface.h:551le_mcc_TerminationReason_t le_ecall_GetTerminationReason(le_ecall_CallRef_t ecallRef)le_ecall_DiagnosticResultBitMask_tDefinition: le_ecall_interface.h:639Present Front collision indicator.Definition: le_ecall_interface.h:778Other not critical failures status.Definition: le_ecall_interface.h:764le_result_t le_ecall_SetMsdPassengersCount(le_ecall_CallRef_t ecallRef, uint32_t paxCount)Timeout for Timer T3 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:596Present Other types of damage indicator.Definition: le_ecall_interface.h:820le_ecall_State_t le_ecall_GetState(le_ecall_CallRef_t ecallRef)Waiting for PSAP start indication.Definition: le_ecall_interface.h:548le_result_t le_ecall_End(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_StartManual(le_ecall_CallRef_t ecallRef)le_result_t le_ecall_ResetMsdEraGlonassDiagnosticResult(le_ecall_CallRef_t ecallRef)Timeout for Timer T7 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:605Comm module failure status.Definition: le_ecall_interface.h:740le_result_t le_ecall_SetMsdEraGlonassCrashInfo(le_ecall_CallRef_t ecallRef, le_ecall_CrashInfoBitMask_t crashInfoMask)Events memory overflow status.Definition: le_ecall_interface.h:746Timeout for Timer T2 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:593Present GNSS antenna failure.Definition: le_ecall_interface.h:731le_result_t le_ecall_SetMsdPosition(le_ecall_CallRef_t ecallRef, bool isTrusted, int32_t latitude, int32_t longitude, int32_t direction)Present Rollover indicator.Definition: le_ecall_interface.h:802le_ecall_CallRef_t le_ecall_Create(void)Status indicator failure status.Definition: le_ecall_interface.h:686Present Left speaker failure.Definition: le_ecall_interface.h:659le_result_t le_ecall_UseUSimNumbers(void)le_result_t le_ecall_SetPsapNumber(const char *psap)le_result_t le_ecall_GetEraGlonassManualDialAttempts(uint16_t *attemptsPtr)Present Status indicator failure.Definition: le_ecall_interface.h:683le_result_t le_ecall_GetNadDeregistrationTime(uint16_t *deregTimePtr)le_result_t le_ecall_GetEraGlonassAutoDialAttempts(uint16_t *attemptsPtr)le_result_t le_ecall_ExitOnlyMode(void)le_result_t le_ecall_SetMsdPositionN1(le_ecall_CallRef_t ecallRef, int32_t latitudeDeltaN1, int32_t longitudeDeltaN1)Present Crash sensor failure.Definition: le_ecall_interface.h:701le_result_t le_ecall_GetEraGlonassDialDuration(uint16_t *durationPtr)Present Speaker failure.Definition: le_ecall_interface.h:665Battery voltage low failure status.Definition: le_ecall_interface.h:698le_result_t le_ecall_SetIntervalBetweenDialAttempts(uint16_t pause)Definition: le_ecall_interface.h:575Present Events memory overflow.Definition: le_ecall_interface.h:743le_result_t le_ecall_StartAutomatic(le_ecall_CallRef_t ecallRef)Comm module interface failure status.Definition: le_ecall_interface.h:716GNSS receiver failure status.Definition: le_ecall_interface.h:722eCall session has lost synchronization and starts over.Definition: le_ecall_interface.h:579Present Comm module failure.Definition: le_ecall_interface.h:737Timeout for Timer T9 (see CEN-EN 16062, annex A)Definition: le_ecall_interface.h:608Mic connection failure status.Definition: le_ecall_interface.h:644le_result_t le_ecall_TryConnectService(void)le_ecall_StateChangeHandlerRef_t le_ecall_AddStateChangeHandler(le_ecall_StateChangeHandlerFunc_t handlerPtr, void *contextPtr)Present Firmware image corruption failure.Definition: le_ecall_interface.h:707void le_ecall_Delete(le_ecall_CallRef_t ecallRef)Present Ignition line failure.Definition: le_ecall_interface.h:671le_result_t le_ecall_GetIntervalBetweenDialAttempts(uint16_t *pausePtr)Crash sensor failure status.Definition: le_ecall_interface.h:704