GONEC_ARTERY_Modem_GSM/ModemGsm.c

241 lines
10 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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