Fix
This commit is contained in:
parent
b15c208097
commit
a551736333
|
|
@ -5,9 +5,9 @@
|
|||
#ifndef SMART_COMPONENTS_TELEMATICA_GSMSOCKETTIMEOUTS_H
|
||||
#define SMART_COMPONENTS_TELEMATICA_GSMSOCKETTIMEOUTS_H
|
||||
|
||||
#define defaultSocketTimeout 2000
|
||||
#define defaultSocketOpenTimeout 4000
|
||||
#define defaultSocketTransmiteTimeout 4000
|
||||
#define defaultSocketTimeout 5000
|
||||
#define defaultSocketOpenTimeout 5000
|
||||
#define defaultSocketTransmiteTimeout 5000
|
||||
|
||||
|
||||
#endif //SMART_COMPONENTS_TELEMATICA_GSMSOCKETTIMEOUTS_H
|
||||
|
|
|
|||
|
|
@ -61,7 +61,6 @@ void AtGsm_Gsnss_NavData_Processing(tGsmWithGnss *env) {
|
|||
if (bNmea0183IsRmcString(env->gsmAt.rxBuffer.data, env->gsmAt.rxBuffer.len)) {
|
||||
if (bNmea0183IsValidString(env->gsmAt.rxBuffer.data, env->gsmAt.rxBuffer.len)) {
|
||||
bNmea0183ParseRMC(env->gsmAt.rxBuffer.data + 7, env->gsmAt.rxBuffer.len - 7, &env->gnss.currentRmc);
|
||||
bNmea0183ParseRMC(env->gsmAt.rxBuffer.data + 7, env->gsmAt.rxBuffer.len - 7, &env->gnssRmcGga.currentRmc);
|
||||
|
||||
env->gnss.success = true;
|
||||
}
|
||||
|
|
@ -84,32 +83,23 @@ void Gnss_GetFullNavData(tGsmWithGnss *env, tNmeaRmc *nmeaRmc) {
|
|||
|
||||
|
||||
void GsmWithGnss_GetNevData(tGsmWithGnss *env, uint32_t timeout) {
|
||||
/*
|
||||
if (osMutexAcquire(env->gsmAt.access, 1000) == osOK) {
|
||||
|
||||
GsmWithGnss_StartRMCThread(&env->gsmAt);
|
||||
GsmWithGnss_StartRMCThread(&env->gsmAt);
|
||||
|
||||
uint32_t endTimeout = SystemGetMs() + timeout;
|
||||
env->gnss.currentRmc.time.second = 0;
|
||||
while (endTimeout > SystemGetMs()) {
|
||||
AtCmdProcessUnresolvedLines(&env->gsmAt);
|
||||
if (env->gnss.currentRmc.time.second != 0) {
|
||||
GsmWithGnss_StopRMCThread(&env->gsmAt);
|
||||
osMutexRelease(env->gsmAt.access);
|
||||
return;
|
||||
}
|
||||
SystemDelayMs(2);
|
||||
uint32_t endTimeout = SystemGetMs() + timeout;
|
||||
env->gnss.currentRmc.time.second = 0;
|
||||
while (endTimeout > SystemGetMs()) {
|
||||
AtCmdProcessUnresolvedLines(&env->gsmAt);
|
||||
if (env->gnss.currentRmc.time.second != 0) {
|
||||
GsmWithGnss_StopRMCThread(&env->gsmAt);
|
||||
osMutexRelease(env->gsmAt.access);
|
||||
return;
|
||||
}
|
||||
GsmWithGnss_StopRMCThread(&env->gsmAt);
|
||||
|
||||
|
||||
osMutexRelease(env->gsmAt.access);
|
||||
} else {
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Ошибка захвата доступа GsmWithGnss_GetNevData")
|
||||
SystemDelayMs(2);
|
||||
}
|
||||
*/
|
||||
}
|
||||
GsmWithGnss_StopRMCThread(&env->gsmAt);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void AtGsm_Gsnss_GetNMEA_Pack(tGsmWithGnss *env, uint32_t timeout) {
|
||||
|
|
@ -121,6 +111,9 @@ 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));
|
||||
|
||||
env->gnss.success = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -168,13 +161,13 @@ void GnssSetRTC(tGsmWithGnss *env) {
|
|||
}
|
||||
|
||||
void AtGsm_Gsnss_GetLastActualNavData(tGsmWithGnss *env, EraGlonassUveosNavData *location, bool locSourse) {
|
||||
if(locSourse == 1) {
|
||||
if (locSourse == 1) {
|
||||
if (env->gnss.currentRmc.status == 'A') {
|
||||
env->gnss.prevRmc = env->gnss.currentRmc;
|
||||
location->valid = 2;
|
||||
} else {
|
||||
if (env->gnss.prevRmc.status == 'A') {
|
||||
env->gnss.currentRmc = env->gnss.prevRmc;
|
||||
env->gnss.currentRmc = env->gnss.prevRmc;
|
||||
env->gnss.currentRmc.status = 'V';
|
||||
location->valid = 1;
|
||||
} else if (env->gnss.prevRmc.location.latitude < 1) {
|
||||
|
|
@ -197,7 +190,7 @@ void GnssGetNavData(tGsmWithGnss *env, EraGlonassUveosNavData *location, bool lo
|
|||
|
||||
AtGsm_Gsnss_GetLastActualNavData(env, location, locSourse);
|
||||
|
||||
if(locSourse == 1) {
|
||||
if (locSourse == 1) {
|
||||
NmeaRMCLocationToLocationRMC(&env->gnss.currentRmc.location, location);
|
||||
location->direction = (uint16_t) env->gnss.currentRmc.headingAngle;
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in New Issue