Перенос на новую организацию GONEC

This commit is contained in:
cfif 2025-01-24 13:22:32 +03:00
commit a9e4136003
5 changed files with 758 additions and 0 deletions

240
ModemGsm.c Normal file
View File

@ -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;
}
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------

121
ModemGsm.h Normal file
View File

@ -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

263
ModemGsmFunc.c Normal file
View File

@ -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;
}
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------

112
ModemGsmFunc.h Normal file
View File

@ -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

22
modular.json Normal file
View File

@ -0,0 +1,22 @@
{
"dep": [
{
"type": "git",
"provider": "GONEC",
"repo": "SystemDelayInterface"
},
{
"type": "git",
"provider": "GONEC",
"repo": "AtGsmSim800F"
}
],
"cmake": {
"inc_dirs": [
"./"
],
"srcs": [
"*.c"
]
}
}