diff --git a/ModemGsm.c b/ModemGsm.c index 74926fe..94abb35 100644 --- a/ModemGsm.c +++ b/ModemGsm.c @@ -7,7 +7,9 @@ // начало-------------------------- Служебные ---------------------------------------------------------------------- // начало-------------------------- Служебные ---------------------------------------------------------------------- bool Gsm_GET_CGSN(tAtCmd *env, char *acpString, size_t *acpStringLen) { + AtCommandResult result = AtGsm_Simcom_A76xx_GET_CGSN(env, acpString, acpStringLen); + osMutexRelease(env->access); if (result != AT_OK) return false; @@ -16,6 +18,7 @@ bool Gsm_GET_CGSN(tAtCmd *env, char *acpString, size_t *acpStringLen) { } bool Gsm_CCID(tAtCmd *env, char *acpString, size_t *acpStringLen) { + AtCommandResult result = AtGsm_Simcom_A76xx_CCID(env, acpString, acpStringLen); if (result != AT_OK) diff --git a/ModemGsmFunc.c b/ModemGsmFunc.c index aaf1344..87146d5 100644 --- a/ModemGsmFunc.c +++ b/ModemGsmFunc.c @@ -21,7 +21,15 @@ // начало-------------------------- Служебные ---------------------------------------------------------------------- bool GsmGET_CGSN(tModemMain *env, char *acpString, size_t *acpStringLen) { - bool result = Gsm_GET_CGSN(&env->modemAtGsm, acpString, acpStringLen); + bool result = AT_ERROR; + + if (osMutexAcquire(env->modemAtGsm.access, 1000) == osOK) { + result = Gsm_GET_CGSN(&env->modemAtGsm, acpString, acpStringLen); + osMutexRelease(env->modemAtGsm.access); + } else { + LoggerInfoStatic(LOGGER, LOG_SIGN, + "Ошибка выполнения команды записи в модем (GSM): Получение IMEI (AT+CGSN) Ошибка захвата"); + } if (!result) { LoggerInfoStatic(LOGGER, LOG_SIGN, @@ -32,7 +40,16 @@ bool GsmGET_CGSN(tModemMain *env, char *acpString, size_t *acpStringLen) { } bool GsmCCID(tModemMain *env, char *acpString, size_t *acpStringLen) { - AtCommandResult result = Gsm_CCID(&env->modemAtGsm, acpString, acpStringLen); + + bool result = AT_ERROR; + + if (osMutexAcquire(env->modemAtGsm.access, 1000) == osOK) { + result = Gsm_CCID(&env->modemAtGsm, acpString, acpStringLen); + osMutexRelease(env->modemAtGsm.access); + } else { + LoggerInfoStatic(LOGGER, LOG_SIGN, + "Ошибка выполнения команды записи в модем (GSM): Получение Msisdn (AT+CCID) Ошибка захвата"); + } if (!result) { LoggerInfoStatic(LOGGER, LOG_SIGN,