gsm AT send procedure extended

This commit is contained in:
Bogdan Pilyugin 2023-03-10 14:23:43 +02:00
parent 4ee2c961ce
commit 89efb05154
5 changed files with 15 additions and 8 deletions

@ -1 +1 @@
Subproject commit 03ff681a61cb03a43c6f008601a6e6090e9df2bd
Subproject commit a646e3ee0594ec2301e9b3fe6373ea274eb39e39

View File

@ -71,7 +71,7 @@ void PPPModemStart(void);
void PPPModemGetRSSI(void);
void ModemSendSMS(void);
void ModemSendAT(char *cmd);
void ModemSendAT(char *cmd, char *resp, int timeout);
void MQTTRun(void);

View File

@ -298,10 +298,10 @@ void PPPModemGetRSSI(void)
ESP_LOGW(TAG, "Signal %d, ber %d", rssi, ber);
}
void ModemSendAT(char *cmd)
void ModemSendAT(char *cmd, char *resp, int timeout)
{
char resp[128] = {0};
esp_modem_at(dce, cmd, resp, 5000);
esp_modem_at(dce, cmd, resp, timeout);
ESP_LOGI(TAG, "Command:%s", cmd);
ESP_LOGW(TAG, "%s", resp);
}

View File

@ -516,22 +516,26 @@ static HTTP_IO_RESULT HTTPPostSystemSettings(httpd_req_t *req, char *PostData)
{
if (!strcmp(tmp, (const char*) "1"))
{
return HTTP_IO_DONE_NOREFRESH;
}
#if CONFIG_WEBGUIAPP_GPRS_ENABLE
else if (!strcmp(tmp, (const char*) "2"))
{
ModemSendAT("AT+CCLK?\r");
char resp[256] = {0};
ModemSendAT("AT+CCLK?\r", resp, 200);
return HTTP_IO_DONE_NOREFRESH;
}
else if (!strcmp(tmp, (const char*) "3"))
{
ModemSendAT("ATD+79022518532;\r");
char resp[256] = {0};
ModemSendAT("ATD+79022518532;\r", resp, 200);
return HTTP_IO_DONE_NOREFRESH;
}
else if (!strcmp(tmp, (const char*) "4"))
{
ModemSendAT("ATH\r");
char resp[256] = {0};
ModemSendAT("ATH\r", resp, 200);
return HTTP_IO_DONE_NOREFRESH;
}
#endif

View File

@ -67,6 +67,7 @@ esp_err_t LORASendData(LORA_DATA_SEND_STRUCT *pdss)
char *ptr = (char*) malloc(MESSAGE_LENGTH);
if (ptr)
{
ESP_LOGW(TAG, "memory allocate %d byte", MESSAGE_LENGTH);
memcpy(ptr, pdss->raw_data_ptr, MESSAGE_LENGTH);
LORA_DATA_SEND_STRUCT DSS;
DSS.raw_data_ptr = ptr;
@ -77,6 +78,7 @@ esp_err_t LORASendData(LORA_DATA_SEND_STRUCT *pdss)
else
{
free(ptr);
ESP_LOGW(TAG, "memory free (queue full) %d byte", MESSAGE_LENGTH);
return ESP_ERR_TIMEOUT;
}
}
@ -120,6 +122,7 @@ void LoRaWANTransportTask(void *pvParameter)
#endif
ttn_transmit_message((const uint8_t*) DSS.raw_data_ptr, MESSAGE_LENGTH, 1, true);
free(DSS.raw_data_ptr);
ESP_LOGW(TAG, "memory free (transmitted) %d byte", MESSAGE_LENGTH);
}
else
{