Init
This commit is contained in:
commit
91867345b6
|
|
@ -0,0 +1,240 @@
|
||||||
|
//
|
||||||
|
// Created by cfif on 26.04.23.
|
||||||
|
//
|
||||||
|
#include "ModemGsm.h"
|
||||||
|
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
bool Gsm_GET_CGSN(tAtCmd *env, char *acpString, size_t *acpStringLen) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_GET_CGSN(env, acpString, acpStringLen);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Gsm_CCID(tAtCmd *env, char *acpString, size_t *acpStringLen) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_CCID(env, acpString, acpStringLen);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Проверка готовности SIM-карты
|
||||||
|
bool Gsm_PINStatus(tAtCmd *env, tAtGsm_PINStatus *state) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_PINStatus(env, state);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Уровень сигнала
|
||||||
|
bool Gsm_SignalQualityReport(tAtCmd *env, uint32_t *rssi, int *error) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_SignalQualityReport(env, rssi, error);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Проверка наличия регистрации в сети GSM.
|
||||||
|
bool Gsm_NetworkRegistrationStatusGSM(tAtCmd *env,
|
||||||
|
tAtGsm_NetworkRegistrationReportMode *mode,
|
||||||
|
tAtGsm_NetworkRegistrationState *state,
|
||||||
|
int *error) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_NetworkRegistrationStatusGSM(env, mode, state, error);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Проверка получения доступа к услугам пакетной передачи данных.
|
||||||
|
bool Gsm_AttachOrDetachFromGPRSService(
|
||||||
|
tAtCmd *env,
|
||||||
|
tAtGsm_AttachOrDetachFromGPRSService *state,
|
||||||
|
int *error
|
||||||
|
) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_AttachOrDetachFromGPRSService(env, state, error);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Установка количества соединений с сокетом - 0
|
||||||
|
bool Gsm_StartUpMultiIPConnection(tAtCmd *env, uint8_t count) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_StartUpMultiIPConnection(env, count);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Режим передачи данных 0 - Ручной
|
||||||
|
bool Gsm_SelectTCPIPApplicationMode(tAtCmd *env, uint8_t mode) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_SelectTCPIPApplicationMode(env, mode);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Режим передачи данных 0 - Ручной
|
||||||
|
bool Gsm_SelectDataTransmittingMode(tAtCmd *env, uint8_t mode) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_SelectDataTransmittingMode(env, mode);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Режим приема данных 1 - Ручной
|
||||||
|
bool Gsm_GetDataFromNetworkManuallySet(tAtCmd *env, uint8_t mode) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_GetDataFromNetworkManuallySet(env, mode);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
|
||||||
|
// Деактивация контекста
|
||||||
|
bool Gsm_DeactivateGPRSPDPContext(tAtCmd *env) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_DeactivateGPRSPDPContext(env);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Настройка точки доступа APN
|
||||||
|
bool Gsm_StartTaskAndSetAPN(tAtCmd *env, char *apn, int apnLen) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_StartTaskAndSetAPN(env, apn, apnLen);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Запрос текущего статуса соединения
|
||||||
|
bool Gsm_QueryCurrentConnectionStatus(tAtCmd *env, tAtGsm_QueryCurrentConnectionStatus *state) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_QueryCurrentConnectionStatus(env, state);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Активация контекста
|
||||||
|
bool Gsm_BringUpWirelessConnectionWithGPRS(tAtCmd *env) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_BringUpWirelessConnectionWithGPRS(env);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Установление TCP соединения
|
||||||
|
bool Gsm_StartUpTCPOrUDPConnection(tAtCmd *env, char *url, int urlLen, uint16_t port) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_StartUpTCPOrUDPConnection(env, url, urlLen, port);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Закрытие соединения
|
||||||
|
bool Gsm_CloseTCPorUDPConnection(tAtCmd *env) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_CloseTCPorUDPConnection(env);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
|
||||||
|
// Начать отправку данных на сервер
|
||||||
|
bool Gsm_SendDataThroughTCPOrUDPConnection(tAtCmd *env, uint8_t *pBuf, uint16_t size) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_SendDataThroughTCPOrUDPConnection(env, pBuf, size);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
|
||||||
|
// Получить количества данных готовых для чтения
|
||||||
|
bool Gsm_GetDataFromNetworkManuallyGetSize(tAtCmd *env, uint16_t *size) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_GetDataFromNetworkManuallyGetSize(env, size);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Получить данные готовые для чтения из сокета
|
||||||
|
bool Gsm_GetDataFromNetworkManuallyGet(tAtCmd *env, uint8_t *pBuf, uint16_t sizeRead, uint16_t *sizeRealRead) {
|
||||||
|
AtCommandResult result = AtGsm_Simcom800f_GetDataFromNetworkManuallyGet(env, pBuf, sizeRead, sizeRealRead);
|
||||||
|
|
||||||
|
if (result != AT_OK)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
|
@ -0,0 +1,121 @@
|
||||||
|
//
|
||||||
|
// Created by cfif on 26.04.23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef GONEC_FULL_MODEMGSM_H
|
||||||
|
#define GONEC_FULL_MODEMGSM_H
|
||||||
|
|
||||||
|
#include "SerialPortIO.h"
|
||||||
|
#include "LoggerInterface.h"
|
||||||
|
#include "BaseTypes.h"
|
||||||
|
#include "AtCmdCommonProtected.h"
|
||||||
|
#include "AtModemGonec.h"
|
||||||
|
#include "ModemMain.h"
|
||||||
|
#include "AtGsmSim800f.h"
|
||||||
|
|
||||||
|
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
bool Gsm_GET_CGSN(tAtCmd *env, char *acpString, size_t *acpStringLen);
|
||||||
|
|
||||||
|
bool Gsm_CCID(tAtCmd *env, char *acpString, size_t *acpStringLen);
|
||||||
|
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Проверка готовности SIM-карты
|
||||||
|
bool Gsm_PINStatus(tAtCmd *env, tAtGsm_PINStatus *state);
|
||||||
|
|
||||||
|
// Уровень сигнала
|
||||||
|
bool Gsm_SignalQualityReport(tAtCmd *env, uint32_t *rssi, int *error);
|
||||||
|
|
||||||
|
// Проверка наличия регистрации в сети GSM.
|
||||||
|
bool Gsm_NetworkRegistrationStatusGSM(tAtCmd *env,
|
||||||
|
tAtGsm_NetworkRegistrationReportMode *mode,
|
||||||
|
tAtGsm_NetworkRegistrationState *state,
|
||||||
|
int *error);
|
||||||
|
|
||||||
|
// Проверка получения доступа к услугам пакетной передачи данных.
|
||||||
|
bool Gsm_AttachOrDetachFromGPRSService(
|
||||||
|
tAtCmd *env,
|
||||||
|
tAtGsm_AttachOrDetachFromGPRSService *state,
|
||||||
|
int *error
|
||||||
|
);
|
||||||
|
|
||||||
|
// Установка количества соединений с сокетом - 0
|
||||||
|
bool Gsm_StartUpMultiIPConnection(tAtCmd *env, uint8_t count);
|
||||||
|
|
||||||
|
// Режим передачи данных 0 - Ручной
|
||||||
|
bool Gsm_SelectTCPIPApplicationMode(tAtCmd *env, uint8_t mode);
|
||||||
|
|
||||||
|
// Режим передачи данных 0 - Ручной
|
||||||
|
bool Gsm_SelectDataTransmittingMode(tAtCmd *env, uint8_t mode);
|
||||||
|
|
||||||
|
// Режим приема данных 1 - Ручной
|
||||||
|
bool Gsm_GetDataFromNetworkManuallySet(tAtCmd *env, uint8_t mode);
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
|
||||||
|
// Деактивация контекста
|
||||||
|
bool Gsm_DeactivateGPRSPDPContext(tAtCmd *env);
|
||||||
|
|
||||||
|
// Настройка точки доступа APN
|
||||||
|
bool Gsm_StartTaskAndSetAPN(tAtCmd *env, char *apn, int apnLen);
|
||||||
|
|
||||||
|
// Запрос текущего статуса соединения
|
||||||
|
bool Gsm_QueryCurrentConnectionStatus(tAtCmd *env, tAtGsm_QueryCurrentConnectionStatus *state);
|
||||||
|
|
||||||
|
// Активация контекста
|
||||||
|
bool Gsm_BringUpWirelessConnectionWithGPRS(tAtCmd *env);
|
||||||
|
|
||||||
|
// Установление TCP соединения
|
||||||
|
bool Gsm_StartUpTCPOrUDPConnection(tAtCmd *env, char *url, int urlLen, uint16_t port);
|
||||||
|
|
||||||
|
// Закрытие соединения
|
||||||
|
bool Gsm_CloseTCPorUDPConnection(tAtCmd *env);
|
||||||
|
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
|
||||||
|
// Начать отправку данных на сервер
|
||||||
|
bool Gsm_SendDataThroughTCPOrUDPConnection(tAtCmd *env, uint8_t *pBuf, uint16_t size);
|
||||||
|
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
|
||||||
|
// Получить количества данных готовых для чтения
|
||||||
|
bool Gsm_GetDataFromNetworkManuallyGetSize(tAtCmd *env, uint16_t *size);
|
||||||
|
// Получить данные готовые для чтения из сокета
|
||||||
|
bool Gsm_GetDataFromNetworkManuallyGet(tAtCmd *env, uint8_t *pBuf, uint16_t sizeRead, uint16_t *sizeRealRead);
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif //GONEC_FULL_MODEMGSM_H
|
||||||
|
|
@ -0,0 +1,263 @@
|
||||||
|
//
|
||||||
|
// Created by cfif on 26.04.23.
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Created by cfif on 26.04.23.
|
||||||
|
//
|
||||||
|
#include "ModemGsm.h"
|
||||||
|
#include "AtGsmSim800f.h"
|
||||||
|
|
||||||
|
#define LOGGER env->logger
|
||||||
|
#define LOG_SIGN "GONEC"
|
||||||
|
|
||||||
|
//
|
||||||
|
// Created by cfif on 26.04.23.
|
||||||
|
//
|
||||||
|
#include "ModemMain.h"
|
||||||
|
|
||||||
|
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
bool GsmGET_CGSN(tModemMain *env, char *acpString, size_t *acpStringLen) {
|
||||||
|
|
||||||
|
bool result = Gsm_GET_CGSN(&env->modemAtGsm, acpString, acpStringLen);
|
||||||
|
|
||||||
|
if (!result) {
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Получение IMEI (AT+CGSN)");
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GsmCCID(tModemMain *env, char *acpString, size_t *acpStringLen) {
|
||||||
|
AtCommandResult result = Gsm_CCID(&env->modemAtGsm, acpString, acpStringLen);
|
||||||
|
|
||||||
|
if (!result) {
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Получение Msisdn (AT+CCID)");
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Проверка готовности SIM-карты
|
||||||
|
bool GsmPINStatus(tModemMain *env, tAtGsm_PINStatus *state) {
|
||||||
|
bool result = Gsm_PINStatus(&env->modemAtGsm, state);
|
||||||
|
|
||||||
|
if (!result) {
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Проверка готовности SIM-карты (AT+CPIN?)");
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Уровень сигнала
|
||||||
|
bool GsmSignalQualityReport(tModemMain *env, uint32_t *rssi, int *error) {
|
||||||
|
bool result = Gsm_SignalQualityReport(&env->modemAtGsm, rssi, error);
|
||||||
|
|
||||||
|
if (!result) {
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Получение уровня сигнала (AT+CSQ)");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Проверка наличия регистрации в сети GSM.
|
||||||
|
bool GsmNetworkRegistrationStatusGSM(tModemMain *env,
|
||||||
|
tAtGsm_NetworkRegistrationReportMode *mode,
|
||||||
|
tAtGsm_NetworkRegistrationState *state,
|
||||||
|
int *error) {
|
||||||
|
bool result = Gsm_NetworkRegistrationStatusGSM(&env->modemAtGsm, mode, state, error);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Проверка наличия регистрации в сети GSM (AT+CREG?)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Проверка получения доступа к услугам пакетной передачи данных.
|
||||||
|
bool GsmAttachOrDetachFromGPRSService(
|
||||||
|
tModemMain *env,
|
||||||
|
tAtGsm_AttachOrDetachFromGPRSService *state,
|
||||||
|
int *error
|
||||||
|
) {
|
||||||
|
bool result = Gsm_AttachOrDetachFromGPRSService(&env->modemAtGsm, state, error);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Проверка получения доступа к услугам пакетной передачи данных (AT+CGATT?)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Установка количества соединений с сокетом - 0
|
||||||
|
bool GsmStartUpMultiIPConnection(tModemMain *env, uint8_t count) {
|
||||||
|
bool result = Gsm_StartUpMultiIPConnection(&env->modemAtGsm, count);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Установка количества соединений с сокетом (AT+CIPMUX)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Режим передачи данных 0 - Ручной
|
||||||
|
bool GsmSelectTCPIPApplicationMode(tModemMain *env, uint8_t mode) {
|
||||||
|
bool result = Gsm_SelectTCPIPApplicationMode(&env->modemAtGsm, mode);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Установка режима передачи данных (AT+CIPMODE)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Режим передачи данных 0 - Ручной
|
||||||
|
bool GsmSelectDataTransmittingMode(tModemMain *env, uint8_t mode) {
|
||||||
|
bool result = Gsm_SelectDataTransmittingMode(&env->modemAtGsm, mode);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Установка режима передачи данных (AT+CIPQSEND)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Режим приема данных 1 - Ручной
|
||||||
|
bool GsmGetDataFromNetworkManuallySet(tModemMain *env, uint8_t mode) {
|
||||||
|
bool result = Gsm_GetDataFromNetworkManuallySet(&env->modemAtGsm, mode);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Установка режима приема данных (AT+CIPRXGET)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
|
||||||
|
// Деактивация контекста
|
||||||
|
bool GsmDeactivateGPRSPDPContext(tModemMain *env) {
|
||||||
|
bool result = Gsm_DeactivateGPRSPDPContext(&env->modemAtGsm);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Деактивация контекста (AT+CIPSHUT)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Настройка точки доступа APN
|
||||||
|
bool GsmStartTaskAndSetAPN(tModemMain *env, char *apn, int apnLen) {
|
||||||
|
bool result = Gsm_StartTaskAndSetAPN(&env->modemAtGsm, apn, apnLen);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Настройка точки доступа APN (AT+CSTT)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Запрос текущего статуса соединения
|
||||||
|
bool GsmQueryCurrentConnectionStatus(tModemMain *env, tAtGsm_QueryCurrentConnectionStatus *state) {
|
||||||
|
bool result = Gsm_QueryCurrentConnectionStatus(&env->modemAtGsm, state);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Запрос текущего статуса соединения (AT+CIPSTATUS)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Активация контекста
|
||||||
|
bool GsmBringUpWirelessConnectionWithGPRS(tModemMain *env) {
|
||||||
|
bool result = Gsm_BringUpWirelessConnectionWithGPRS(&env->modemAtGsm);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Активация контекста (AT+CIICR)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Установление TCP соединения
|
||||||
|
bool GsmStartUpTCPOrUDPConnection(tModemMain *env, char *url, int urlLen, uint16_t port) {
|
||||||
|
bool result = Gsm_StartUpTCPOrUDPConnection(&env->modemAtGsm, url, urlLen, port);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Установка соединения (AT+CIPSTART)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Закрытие соединения
|
||||||
|
bool GsmCloseTCPorUDPConnection(tModemMain *env) {
|
||||||
|
bool result = Gsm_CloseTCPorUDPConnection(&env->modemAtGsm);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Закрытие соединения (AT+CIPCLOSE)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
|
||||||
|
// Начать отправку данных на сервер
|
||||||
|
bool GsmSendDataThroughTCPOrUDPConnection(tModemMain *env, uint8_t *pBuf, uint16_t size) {
|
||||||
|
bool result = Gsm_SendDataThroughTCPOrUDPConnection(&env->modemAtGsm, pBuf, size);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Начать отправку данных на сервер (AT+CIPSEND)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
|
||||||
|
// Получить количества данных готовых для чтения
|
||||||
|
bool GsmGetDataFromNetworkManuallyGetSize(tModemMain *env, uint16_t *size) {
|
||||||
|
bool result = Gsm_GetDataFromNetworkManuallyGetSize(&env->modemAtGsm, size);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Получение количества данных готовых для чтения (AT+CIPRXGET)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Получить данные готовые для чтения из сокета
|
||||||
|
bool GsmGetDataFromNetworkManuallyGet(tModemMain *env, uint8_t *pBuf, uint16_t sizeRead, uint16_t *sizeRealRead) {
|
||||||
|
bool result = Gsm_GetDataFromNetworkManuallyGet(&env->modemAtGsm, pBuf, sizeRead, sizeRealRead);
|
||||||
|
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Ошибка выполнения команды записи в модем (GSM): Получение данные готовых для чтения (AT+CIPRXGET)");
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
//
|
||||||
|
// Created by cfif on 26.04.23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef GONEC_FULL_MODEMGSMFUNC_H
|
||||||
|
#define GONEC_FULL_MODEMGSMFUNC_H
|
||||||
|
|
||||||
|
#include "ModemGsm.h"
|
||||||
|
|
||||||
|
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
bool GsmGET_CGSN(tModemMain *env, char *acpString, size_t *acpStringLen);
|
||||||
|
|
||||||
|
bool GsmCCID(tModemMain *env, char *acpString, size_t *acpStringLen);
|
||||||
|
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Проверка готовности SIM-карты
|
||||||
|
bool GsmPINStatus(tModemMain *env, tAtGsm_PINStatus *state);
|
||||||
|
|
||||||
|
// Уровень сигнала
|
||||||
|
bool GsmSignalQualityReport(tModemMain *env, uint32_t *rssi, int *error);
|
||||||
|
|
||||||
|
// Проверка наличия регистрации в сети GSM.
|
||||||
|
bool GsmNetworkRegistrationStatusGSM(tModemMain *env,
|
||||||
|
tAtGsm_NetworkRegistrationReportMode *mode,
|
||||||
|
tAtGsm_NetworkRegistrationState *state,
|
||||||
|
int *error);
|
||||||
|
|
||||||
|
// Проверка получения доступа к услугам пакетной передачи данных.
|
||||||
|
bool GsmAttachOrDetachFromGPRSService(
|
||||||
|
tModemMain *env,
|
||||||
|
tAtGsm_AttachOrDetachFromGPRSService *state,
|
||||||
|
int *error
|
||||||
|
);
|
||||||
|
|
||||||
|
// Установка количества соединений с сокетом - 0
|
||||||
|
bool GsmStartUpMultiIPConnection(tModemMain *env, uint8_t count);
|
||||||
|
|
||||||
|
// Режим передачи данных 0 - Ручной
|
||||||
|
bool GsmSelectTCPIPApplicationMode(tModemMain *env, uint8_t mode);
|
||||||
|
|
||||||
|
// Режим передачи данных 0 - Ручной
|
||||||
|
bool GsmSelectDataTransmittingMode(tModemMain *env, uint8_t mode);
|
||||||
|
|
||||||
|
// Режим приема данных 1 - Ручной
|
||||||
|
bool GsmGetDataFromNetworkManuallySet(tModemMain *env, uint8_t mode);
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||||||
|
|
||||||
|
// Деактивация контекста
|
||||||
|
bool GsmDeactivateGPRSPDPContext(tAtCmd *env);
|
||||||
|
|
||||||
|
// Настройка точки доступа APN
|
||||||
|
bool GsmStartTaskAndSetAPN(tModemMain *env, char *apn, int apnLen);
|
||||||
|
|
||||||
|
// Запрос текущего статуса соединения
|
||||||
|
bool GsmQueryCurrentConnectionStatus(tModemMain *env, tAtGsm_QueryCurrentConnectionStatus *state);
|
||||||
|
|
||||||
|
// Активация контекста
|
||||||
|
bool GsmBringUpWirelessConnectionWithGPRS(tAtCmd *env);
|
||||||
|
|
||||||
|
// Установление TCP соединения
|
||||||
|
bool GsmStartUpTCPOrUDPConnection(tModemMain *env, char *url, int urlLen, uint16_t port);
|
||||||
|
|
||||||
|
// Закрытие соединения
|
||||||
|
bool GsmCloseTCPorUDPConnection(tAtCmd *env);
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
|
||||||
|
// Начать отправку данных на сервер
|
||||||
|
bool GsmSendDataThroughTCPOrUDPConnection(tModemMain *env, uint8_t *pBuf, uint16_t size);
|
||||||
|
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
|
||||||
|
// Получить количества данных готовых для чтения
|
||||||
|
bool GsmGetDataFromNetworkManuallyGetSize(tModemMain *env, uint16_t *size);
|
||||||
|
// Получить данные готовые для чтения из сокета
|
||||||
|
bool GsmGetDataFromNetworkManuallyGet(tModemMain *env, uint8_t *pBuf, uint16_t sizeRead, uint16_t *sizeRealRead);
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||||||
|
|
||||||
|
|
||||||
|
#endif //GONEC_FULL_MODEMGSMFUNC_H
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"dep": [
|
||||||
|
{
|
||||||
|
"type": "git",
|
||||||
|
"provider": "GONEC_NEW",
|
||||||
|
"repo": "SystemDelayInterface"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "git",
|
||||||
|
"provider": "GONEC_NEW",
|
||||||
|
"repo": "AtGsmSim800F"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cmake": {
|
||||||
|
"inc_dirs": [
|
||||||
|
"./"
|
||||||
|
],
|
||||||
|
"srcs": [
|
||||||
|
"*.c"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue