/* * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file MDev_Gps_Mtrx.cpp */ /*---------------------------------------------------------------------------*/ // Include files #include "MDev_Gps_Mtrx.h" #include "positioning_def.h" #include "MDev_Gps_Main.h" #include "MDev_Gps_API.h" #include "MDev_GpsRecv.h" #include "MDev_Gps_Common.h" #include "MDev_Gps_Nmea.h" #include "MDev_Gps_TimerCtrl.h" extern uint8_t g_gps_reset_cmd_sending; /*---------------------------------------------------------------------------*/ // Functions /******************************************************************************** * MODULE : DEV_Gps_Nop * ABSTRACT : No processing * FUNCTION : NOP processing of the matrix * ARGUMENT : None * NOTE : * RETURN : None ********************************************************************************/ void DevGpsNop(void) { return; } /******************************************************************************** * MODULE : DEV_Gps_InitStart_SendReq * ABSTRACT : Startup confirmation - Transmit request reception matrix function * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsInitStartSendReq(void) { /** Send Request Receive Common Processing Call */ SendReqGpsCommon(); /* -- #GPF_60_040 */ return; } /******************************************************************************** * MODULE : DEV_Gps_InitStart_GPSResetReq * ABSTRACT : Startup confirmation - GPS reset request reception matrix function * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsInitStartGPSResetReq(void) { /** Reset request reception common processing call */ GPSResetReqGpsCommon(); return; } /******************************************************************************** * MODULE : DEV_Gps_InitStart_RcvCyclCmd * ABSTRACT : Startup confirmation - Cyclic receive command receive matrix function * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsInitStartRcvCyclCmd(void) { BOOL* pb_rcverr = &(g_gps_mngr.rcv_err_flag); /* GSP receiver error detection status */ /* Stop start confirmation monitoring timer */ (void)DevGpsTimeStop(GPS_STARTUP_TIMER); /* Ignore -> MISRA-C:2004 Rule 16.10 */ /* QAC 3200 */ /* GPS receiver anomaly detection timer stopped */ (void)DevGpsTimeStop(GPS_RECEIVERERR_TIMER); /* State transition processing(in operation) */ ChangeStatusGpsCommon(GPS_STS_NORMAL); // Send NAV-TIMEUTC sentence addition requests DevGpsNavTimeUTCAddReq(); DevGpsWknRolloverGetReq(); /* Receive command analysis(u-blox) */ if (g_gps_reset_cmd_sending == FALSE) { DevGpsRcvCyclCmd(); } /* If a GPS receiver error is detected, the diagnosis code (current) is deleted. */ if (*pb_rcverr == TRUE) { *pb_rcverr = FALSE; DevSendGpsConnectError(FALSE); } // } /* Reset retry counter */ RtyResetGpsCommon(); /* Sending pending commands */ SendSaveCmdGpsCommon(); /* State transition if pending commands exist( -> Sending) */ /* Cyclic reception data monitoring timer setting */ (void)DevGpsTimeSet(GPS_CYCL_TIMER); /* Ignore -> MISRA-C:2004 Rule 16.10 */ /* QAC 3200 */ /* GPS receiver anomaly detection timer setting */ (void)DevGpsTimeSet(GPS_RECEIVERERR_TIMER); /* -- #GPF_60_024 */ return; } /******************************************************************************** * MODULE : DEV_Gps_InitStart_CyclDataTimeOut * ABSTRACT : Startup confirmation - Reception cycle data monitoring timeout matrix function * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsInitStartCyclDataTimeOut(void) { uint8_t ret = RETRY_OFF; POSITIONING_LOG("DEV_Gps_InitStart_CyclDataTimeOut"); g_wcnct_err++; /* Count number of connection errors */ /* Stop all timers */ DevGpsTimeStop(GPS_STARTUP_TIMER); DevGpsTimeStop(GPS_CYCL_TIMER); DevGpsTimeStop(GPS_RECV_ACK_TIMER); /* Hard reset judgment processing */ ret = HardResetChkGpsCommon(); if (RETRY_ON == ret) { DevGpsResetReq(PNO_NONE, 0); SendSaveCmdGpsCommon(); /* State transition if pending commands exist( -> Sending) */ } else if (RETRY_OFF == ret) { /* Fixed number of hard resets completed */ } else { /* Retrying(with hard reset) */ } /* Clear cyclic receive data up to now */ DevGpsCycleDataClear(); /* Start confirmation monitoring timer setting */ DevGpsTimeSet(GPS_STARTUP_TIMER); return; } /****************************************************************************** @brief DEV_Gps_InitStart_NaviDataTimeOut
Startup confirmation - Navigation providing data monitoring timeout matrix function @outline Navigation providing data monitoring timeout matrix processing during startup confirmation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsInitStartNaviDataTimeOut(void) { } /****************************************************************************** @brief DEV_Gps_InitStart_DiagClkGuardTimeOut
Startup confirmation - Time guard monitoring timeout matrix functions provided by diagnosis @outline Diagnosis provision time guard monitoring timeout matrix process during startup checking @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsInitStartDiagClkGuardTimeOut(void) { } /******************************************************************************** * MODULE : DEV_Gps_InitStart_AccOffStart * ABSTRACT : Startup confirmation - Feature ACC-OFF instruction matrix functions * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsInitStartAccOffStart(void) { } /****************************************************************************** @brief DEV_Gps_InitStart_NaviInfoDeliver
Startup confirmation - Navigation information provision matrix processing @outline Navigation information provision matrix processing during startup confirmation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsInitStartNaviInfoDeliver(void) { } /****************************************************************************** @brief DEV_Gps_InitStart_NaviSpeedDeliver
Startup confirmation - Navigation vehicle speed information provision matrix processing @outline Navigation speed information provision matrix processing during startup confirmation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsInitStartNaviSpeedDeliver(void) { } /****************************************************************************** @brief DEV_Gps_InitStart_SettingTime
Startup confirmation - GPS time setting matrix processing @outline GPS time setting matrix process during startup confirmation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsInitStartSettingTime(void) { POSITIONING_LOG("DEV_Gps_InitStart_SettingTime\n"); DevGpsCommSettingTime(); return; } /* start #GPF_60_109 */ /****************************************************************************** @brief DEV_Gps_InitStart_NmeaDataGuardTimeOut
Startup confirmation - NMEA monitoring timeout matrix processing @outline NMEA data-providing guard monitoring timeout process during startup checking @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsInitStartNmeaDataGuardTimeOut(void) { } /** * @brief * Startup confirmation - Backup memory read request matrix processing */ void DevGpsInitStartBackupDataLoadReq(void) { POS_DATETIME st_date_time; memset(&st_date_time, 0x00, sizeof(st_date_time)); /* Import GPS date and time settings */ DevGpsReadGpsTime(&st_date_time); // Todo For Test don't need gstGpsFixCnt?? // DEV_Gps_ReadGpsFixCnt(); /* Read GPS fix count */ if (g_is_gpstime_sts == TRUE) { DevGpsSettingTime(&st_date_time); /* Time setting */ } return; } /** * @brief * Startup confirmation - Thread stop request matrix processing */ void DevGpsInitStartStopReq(void) { /* Thread stop processing */ StopThreadGpsCommon(); return; } /** * @brief * Startup confirmation - GPS week adjustment counter notification process */ void DevGpsInitStartGpsweekcorcntNtf(void) { DevGpsSetGpsweekcorcnt(); return; } /** * @brief * Startup confirmation - GPS recovery timeout process */ void DevGpsInitStartRecoveryTimeOut(void) { return; } /** * @brief * Startup confirmation - GPS receiver anomaly detection timeout processing */ void DevGpsInitStartGpsReceiverErrTimeOut(void) { BOOL* pb_rcverr = &(g_gps_mngr.rcv_err_flag); /* GSP receiver error detection status */ *pb_rcverr = TRUE; DevSendGpsConnectError(TRUE); return; } /******************************************************************************** * MODULE : DEV_Gps_Normal_SendReq * ABSTRACT : In operation - Transmit request reception matrix function * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsNormalSendReq(void) { /** Store in a pending buffer #GPF_60_040 */ SendReqGpsCommon(); /** Send the command #GPF_60_040 */ SendSaveCmdGpsCommon(); return; } /******************************************************************************** * MODULE : DEV_Gps_Normal_GPSResetReq * ABSTRACT : In operation - GPS reset request reception matrix function * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsNormalGPSResetReq(void) { /** Store in a pending buffer #GPF_60_040 */ GPSResetReqGpsCommon(); /** Send the command #GPF_60_040 */ SendSaveCmdGpsCommon(); return; } /******************************************************************************** * MODULE : DEV_Gps_Normal_RcvCyclCmd_Nmea * ABSTRACT : In operation - Cyclic receive command receive matrix function * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsNormalRcvCyclCmd(void) { /* Cyclic reception data monitoring timer stopped */ (void)DevGpsTimeStop(GPS_CYCL_TIMER); /* GPS receiver anomaly detection timer stopped */ (void)DevGpsTimeStop(GPS_RECEIVERERR_TIMER); /* Notify Vehicle Sensor */ if (g_gps_reset_cmd_sending == FALSE) { DevGpsRcvCyclCmd(); } /* Reset retry counter */ RtyResetGpsCommon(); /* Cyclic reception data monitoring timer setting */ (void)DevGpsTimeSet(GPS_CYCL_TIMER); /* Ignore -> MISRA-C:2004 Rule 16.10 */ /* QAC 3200 */ /* GPS receiver anomaly detection timer setting */ (void)DevGpsTimeSet(GPS_RECEIVERERR_TIMER); return; } /******************************************************************************** * MODULE : DEV_Gps_Normal_CyclDataTimeOut * ABSTRACT : In operation - Reception cycle data monitoring timeout matrix function * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsNormalCyclDataTimeOut(void) { /* Cyclic reception timeout common processing call */ CyclDataTimeOutGpsCommon(); } /****************************************************************************** @brief DEV_Gps_Normal_NaviDataTimeOut
In operation - Navigation providing data monitoring timeout matrix function @outline Navigation providing data monitoring timeout matrix processing during operation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsNormalNaviDataTimeOut(void) { } /****************************************************************************** @brief DEV_Gps_Normal_DiagClkGuardTimeOut
In operation - Time guard monitoring timeout matrix functions provided by diagnosis @outline Diagnosis provision time guard monitoring timeout matrix process during operation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsNormalDiagClkGuardTimeOut(void) { } /******************************************************************************** * MODULE : DEV_Gps_Normal_AccOffStart * ABSTRACT : Startup confirmation - Feature ACC-OFF instruction matrix functions * FUNCTION : * ARGUMENT : * NOTE : * RETURN : ********************************************************************************/ void DevGpsNormalAccOffStart(void) { } /****************************************************************************** @brief DEV_Gps_Normal_NaviInfoDeliver
In operation - Navigation information provision matrix processing @outline Navigation information provision matrix processing during operation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsNormalNaviInfoDeliver(void) { } /****************************************************************************** @brief DEV_Gps_Normal_NaviSpeedDeliver
In operation - Navigation vehicle speed information provision matrix processing @outline Navigation vehicle speed information provision matrix processing during operation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsNormalNaviSpeedDeliver(void) { } /****************************************************************************** @brief DEV_Gps_Normal_SettingTime
In operation - GPS time setting matrix processing @outline GPS time setting matrix processing during operation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsNormalSettingTime(void) { POSITIONING_LOG("DEV_Gps_Normal_SettingTime"); DevGpsCommSettingTime(); /** Send the command */ SendSaveCmdGpsCommon(); return; } /* start #GPF_60_109 */ /****************************************************************************** @brief DEV_Gps_Normal_NmeaDataGuardTimeOut
In operation - NMEA monitoring timeout matrix processing @outline NMEA data-providing guard monitoring timeout process during operation @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsNormalNmeaDataGuardTimeOut(void) { } /** * @brief * In operation - Backup memory read request matrix processing */ void DevGpsNormalBackupDataLoadReq(void) { POS_DATETIME st_date_time; memset(&st_date_time, 0x00, sizeof(st_date_time)); /* Import GPS date and time settings */ DevGpsReadGpsTime(&st_date_time); // Todo For test don't need gstGpsFixCnt?? // DEV_Gps_ReadGpsFixCnt(); /* Read GPS fix count */ if (g_is_gpstime_sts == TRUE) { DevGpsSettingTime(&st_date_time); /* Time setting */ } return; } /** * @brief * In operation - Thread stop request matrix processing */ void DevGpsNormalStopReq(void) { /* Thread stop processing */ StopThreadGpsCommon(); return; } /** * @brief * In operation - GPS week adjustment counter notification process */ void DevGpsNormalGpsweekcorcntNtf(void) { DevGpsSetGpsweekcorcnt(); return; } /** * @brief * In operation - GPS recovery timeout processing */ void DevGpsNormalRecoveryTimeOut(void) { } /** * @brief * In operation - GPS receiver anomaly detection timeout processing */ void DevGpsNormalGpsReceiverErrTimeOut(void) { BOOL* pb_rcverr = &(g_gps_mngr.rcv_err_flag); /* GSP receiver error detection status */ *pb_rcverr = TRUE; DevSendGpsConnectError(TRUE); return; } /* ++ #GPF_60_040 */ /****************************************************************************** @brief DEV_Gps_Send_SendReq
Sending - Transmit request reception matrix function @outline Processing for receiving a transmission request during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendSendReq(void) { SendReqGpsCommon(); return; } /****************************************************************************** @brief DEV_Gps_Send_GPSResetReq
Sending - GPS reset request reception matrix function @outline Processing when receiving a GPS reset request during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendGPSResetReq(void) { GPSResetReqGpsCommon(); return; } /****************************************************************************** @brief DEV_Gps_Send_RcvCyclCmd
Sending - Cyclic receive command receive matrix function @outline Processing at the reception of cyclic reception command during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendRcvCyclCmd(void) { /* Cyclic reception data monitoring timer stopped */ DevGpsTimeStop(GPS_CYCL_TIMER); /* GPS receiver anomaly detection timer stopped */ DevGpsTimeStop(GPS_RECEIVERERR_TIMER); /* Notify Vehicle Sensor */ if (g_gps_reset_cmd_sending == FALSE) { DevGpsRcvCyclCmd(); } /* Reset retry counter */ RtyResetGpsCommon(); /* Cyclic reception data monitoring timer setting */ (void)DevGpsTimeSet(GPS_CYCL_TIMER); (void)DevGpsTimeSet(GPS_RECEIVERERR_TIMER); return; } /****************************************************************************** @brief DEV_Gps_Send_RcvRspCmd
Sending - Response command reception matrix function @outline Processing when receiving a response command during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendRcvRspCmd(void) { TG_GPS_OUTPUT_FORMAT rcv_cmd = g_gps_mngr.rcv_cmd; BOOL b_snd_flag = TRUE; /** Check whether the command matches the command being monitored. */ if (rcv_cmd == g_gps_mngr.resp_cmd) { /** When the command being monitored is a cold start request */ if (g_gps_mngr.resp_rst_flag == GPS_CMD_RESET) { POSITIONING_LOG("GPS_CMD_RESET\n"); b_snd_flag = DevGpsRcvProcGpsResetResp(reinterpret_cast (reinterpret_cast(g_gps_msg_rcvr.msgdat))); } else if (g_gps_mngr.resp_rst_flag == GPS_CMD_TIMESET) { POSITIONING_LOG("GPS_CMD_TIMESET\n"); DevGpsRcvProcTimeSetResp(reinterpret_cast (reinterpret_cast(g_gps_msg_rcvr.msgdat))); } else if (g_gps_mngr.resp_rst_flag == GPS_CMD_SENTENCEADD_NAVTIMEUTC) { POSITIONING_LOG("GPS_CMD_SENTENCEADD_NAVTIMEUTC\n"); DevGpsRcvProcNavSvinfoAddResp(reinterpret_cast (reinterpret_cast(g_gps_msg_rcvr.msgdat))); } else if ( g_gps_mngr.resp_rst_flag == GPS_CMD_WKNROLLOVER ) { POSITIONING_LOG("GPS_CMD_WKNROLLOVER\n"); DevGpsRcvProcWknRolloverGetResp(reinterpret_cast (reinterpret_cast(g_gps_msg_rcvr.msgdat))); } else { POSITIONING_LOG("g_gps_mngr.resp_rst_flag INVALID!! [resp_rst_flag = %d]", g_gps_mngr.resp_rst_flag); } if (b_snd_flag == TRUE) { /** Stop ACK monitoring timer */ DevGpsTimeStop(GPS_RECV_ACK_TIMER); /* State transition processing(in operation) */ ChangeStatusGpsCommon(GPS_STS_NORMAL); /** Reset retry counter */ SendRtyResetGpsCommon(); /** Delete command from pending buffer */ DeleteSaveCmdGpsCommon(); /* Sending pending commands */ SendSaveCmdGpsCommon(); } } else { } return; } /****************************************************************************** @brief DEV_Gps_Send_RspDataTimeOut
Sending - Response monitoring timeout reception matrix function @outline Processing at reception of response monitoring timeout during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendRspDataTimeOut(void) { DevGpsTimeStop(GPS_RECV_ACK_TIMER); /** Send retry count */ g_gps_mngr.sndcnt++; /** Retry judgment */ if (g_gps_mngr.sndcnt == SNDNG_MAX) { /** At the time of retry */ POSITIONING_LOG("GPS Hw Reset : sndcnt[%d]", g_gps_mngr.sndcnt); /** When the command being monitored is a cold start request */ if (g_gps_mngr.resp_rst_flag == GPS_CMD_RESET) { POSITIONING_LOG("g_gps_mngr.sndcnt == SNDNG_MAX (GPS_CMD_RESET)"); /** Send Reset ResponseCommunication error */ DevGpsRstAnsSend(g_gps_mngr.resp_pno, g_gps_mngr.resp_rid, GPS_SENDNG); g_gps_reset_cmd_sending = FALSE; } else if (g_gps_mngr.resp_rst_flag == GPS_CMD_TIMESET) { POSITIONING_LOG("g_gps_mngr.sndcnt == SNDNG_MAX (GPS_CMD_TIMESET)"); DevGpsTimesetAnsSend(g_gps_mngr.resp_pno, g_gps_mngr.resp_rid, GPS_SENDNG); } else if (g_gps_mngr.resp_rst_flag == GPS_CMD_SENTENCEADD_NAVTIMEUTC) { POSITIONING_LOG("g_gps_mngr.sndcnt == SNDNG_MAX (GPS_CMD_SENTENCEADD_NAVTIMEUTC)"); DevGpsNavTimeUTCAddReq(); /* Retransmission of requests to add NAV-SVINFO commands */ } else if (g_gps_mngr.resp_rst_flag == GPS_CMD_WKNROLLOVER) { /* GPS rollover reference date acquisition response */ POSITIONING_LOG("g_gps_mngr.sndcnt == SNDNG_MAX (GPS_CMD_WKNROLLOVER)"); DevGpsWknRolloverGetReq(); /* GPS rollover standard week number acquisition request retransmission */ } else { POSITIONING_LOG("g_gps_mngr.resp_rst_flag INVALID!! [resp_rst_flag = %d]", g_gps_mngr.resp_rst_flag); } DeleteSaveCmdGpsCommon(); ChangeStatusGpsCommon(GPS_STS_NORMAL); SendSaveCmdGpsCommon(); /** Reset retry counter */ SendRtyResetGpsCommon(); } else { POSITIONING_LOG("GPS Send Retry : sndcnt[%d]", g_gps_mngr.sndcnt); /** Retransmission of pending command */ SendSaveCmdGpsCommon(); } return; } /****************************************************************************** @brief DEV_Gps_Send_CyclDataTimeOut
Sending - Reception cycle data monitoring timeout matrix function @outline Processing when receiving periodic reception data monitoring timeout during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendCyclDataTimeOut(void) { CyclDataTimeOutGpsCommon(); } /****************************************************************************** @brief DEV_Gps_Send_NaviDataTimeOut
Sending - Navigation providing data monitoring timeout matrix function @outline Navigation providing data monitoring timeout matrix processing during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendNaviDataTimeOut(void) { } /****************************************************************************** @brief DEV_Gps_Send_DiagClkGuardTimeOut
Sending - Time guard monitoring timeout matrix functions provided by diagnosis @outline Diagnosis providing time guard monitoring timeout matrix process during sending @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendDiagClkGuardTimeOut(void) { } /****************************************************************************** @brief DEV_Gps_Send_AccOffStart
Sending - Feature ACC-OFF instruction reception matrix functions @outline Processing when receiving ACC-OFF instruction in function being transmitted @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendAccOffStart(void) { } /****************************************************************************** @brief DEV_Gps_Send_NaviInfoDeliver
Sending - Navigation information provision matrix processing @outline Navigation information provision matrix processing during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendNaviInfoDeliver(void) { } /****************************************************************************** @brief DEV_Gps_Send_NaviSpeedDeliver
Sending - Navigation vehicle speed information provision matrix processing @outline Navigation vehicle speed information provision matrix processing during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendNaviSpeedDeliver(void) { } /****************************************************************************** @brief DEV_Gps_Send_SettingTime
Sending - GPS time setting matrix processing @outline GPS time setting matrix processing during transmission @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendSettingTime(void) { DevGpsCommSettingTime(); return; } /* start #GPF_60_109 */ /****************************************************************************** @brief DEV_Gps_Send_NmeaDataGuardTimeOut
Sending - NMEA monitoring timeout matrix processing @outline Sending NMEA monitoring timeouts @param[in] none @param[out] none @return none @retval none *******************************************************************************/ void DevGpsSendNmeaDataGuardTimeOut(void) { } /** * @brief * Sending - Backup memory read request matrix processing */ void DevGpsSendBackupDataLoadReq(void) { POS_DATETIME st_date_time; memset(&st_date_time, 0x00, sizeof(st_date_time)); /* Import GPS date and time settings */ DevGpsReadGpsTime(&st_date_time); // Todo For test don't need gstGpsFixCnt?? // DEV_Gps_ReadGpsFixCnt(); /* Read GPS fix count */ if (g_is_gpstime_sts == TRUE) { DevGpsSettingTime(&st_date_time); /* Time setting */ } return; } /** * @brief * Sending - Thread stop request matrix processing */ void DevGpsSendStopReq(void) { /* Thread stop processing */ StopThreadGpsCommon(); return; } /** * @brief * Sending - GPS week adjustment counter notification process */ void DevGpsSendGpsweekcorcntNtf(void) { DevGpsSetGpsweekcorcnt(); return; } /** * @brief * Sending - GPS recovery timeout processing */ void DevGpsSendRecoveryTimeOut(void) { return; } /** * @brief * Sending - GPS receiver anomaly detection timeout processing */ void DevGpsSendGpsReceiverErrTimeOut(void) { BOOL* pb_rcverr = &(g_gps_mngr.rcv_err_flag); /* GSP receiver error detection status */ *pb_rcverr = TRUE; DevSendGpsConnectError(TRUE); return; } /*---------------------------------------------------------------------------*/ /*EOF*/