From 318da97a7751b1447720d7d72fa5182cf87e3b46 Mon Sep 17 00:00:00 2001 From: cfif Date: Thu, 12 Dec 2024 17:53:06 +0300 Subject: [PATCH] Fix --- GsmWithGnss_GnssOps.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/GsmWithGnss_GnssOps.c b/GsmWithGnss_GnssOps.c index 85573bb..04d171d 100644 --- a/GsmWithGnss_GnssOps.c +++ b/GsmWithGnss_GnssOps.c @@ -112,7 +112,11 @@ void AtGsm_Gsnss_GetNMEA_Pack(tGsmWithGnss *env, uint32_t timeout) { if (bNmeaACPString(acpString, aspStringLen, &env->gnss.currentAcp)) { if (bNmeaACPParse(acpString, aspStringLen, &env->gnss.currentAcp) && aspStringLen > 24) { - memcpy(&env->gnssRmcGga.currentRmc, &env->gnss.currentAcp, sizeof(env->gnss.currentAcp)); +#ifdef USE_GSM_AND_GNSS_SIMCOM + if (osMutexAcquire(env->gnssRmcGga.rmcAccess, 2000) == osOK) { + memcpy(&env->gnssRmcGga.currentRmc, &env->gnss.currentAcp, sizeof(env->gnss.currentAcp)); + osMutexRelease(env->gnssRmcGga.rmcAccess); + } if (env->gnssRmcGga.currentRmc.time.second != 0) { if (env->isRtcACP == false) { @@ -126,7 +130,7 @@ void AtGsm_Gsnss_GetNMEA_Pack(tGsmWithGnss *env, uint32_t timeout) { } } } - +#endif env->gnss.success = true; } }