176 lines
8.9 KiB
C
176 lines
8.9 KiB
C
//
|
||
// Created by cfif on 25.01.23.
|
||
//
|
||
|
||
#ifndef GONEC_GSM_ATGGMSIM800F_H
|
||
#define GONEC_GSM_ATGGMSIM800F_H
|
||
|
||
#include <SystemDelayInterface.h>
|
||
#include "AtCmdCommonProtected.h"
|
||
#include "AsciiStringParsingUtils.h"
|
||
#include "AtGsm_NetworkRegistrationStatus.h"
|
||
|
||
|
||
typedef enum {
|
||
AT_DETACH_FROM_GPRS_SERVICE = '0',
|
||
AT_ATTACH_FROM_GPRS_SERVICE = '1'
|
||
} tAtGsm_AttachOrDetachFromGPRSService;
|
||
|
||
typedef enum {
|
||
IP_INITIAL = 0,
|
||
IP_START = 1,
|
||
IP_CONFIG = 2,
|
||
IP_GPRSACT = 3,
|
||
IP_STATUS = 4,
|
||
TCP__CONNECTING = 5,
|
||
UDP_CONNECTING = 6,
|
||
SERVER_LISTENING = 7,
|
||
CONNECT_OK = 8,
|
||
TCP_CLOSING = 9,
|
||
UDP_CLOSING = 10,
|
||
TCP_CLOSED = 11,
|
||
UDP_CLOSED = 12,
|
||
PDP_DEACT = 13,
|
||
PDP_NOT_FOUND_ERROR = 100
|
||
} tAtGsm_QueryCurrentConnectionStatus;
|
||
|
||
typedef enum {
|
||
SIM_READY = 0,
|
||
SIM_SIM_PIN = 1,
|
||
SIM_SIM_PUK = 2,
|
||
SIM_PH_SIM_PIN = 3,
|
||
SIM_PH_SIM_PUK = 4,
|
||
SIM_SIM_PIN2 = 5,
|
||
SIM_SIM_PUK2 = 6,
|
||
SIM_SIM_NOT_FOUND_ERROR = 100
|
||
} tAtGsm_PINStatus;
|
||
|
||
|
||
|
||
typedef enum {
|
||
GSM_STATUS_OK = 0,
|
||
|
||
GSM_STATUS_ERROR_PIN_STATUS = 1,
|
||
GSM_STATUS_ERROR__WAIT_NETWORK_REGISTRATION = 2,
|
||
GSM_STATUS_ERROR_ATTACH_GPR_SERVICE = 3
|
||
|
||
} tAtGsm_StatusError;
|
||
|
||
//
|
||
// Created by cfif on 25.01.23.
|
||
//
|
||
#include "AtGsmSim800f.h"
|
||
#include "stdlib.h"
|
||
|
||
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||
// начало-------------------------- Служебные ----------------------------------------------------------------------
|
||
|
||
// IMEI
|
||
AtCommandResult AtGsm_Simcom800f_GET_CGSN(tAtCmd *env, char *acpString, size_t *acpStringLen);
|
||
AtCommandResult AtGsm_Simcom800f_CCID(tAtCmd *env, char *acpString, size_t *acpStringLen);
|
||
|
||
|
||
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||
// конец-------------------------- Служебные ----------------------------------------------------------------------
|
||
|
||
|
||
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||
// начало-------------------------- Инициализация ----------------------------------------------------------------------
|
||
|
||
// Проверка готовности SIM-карты
|
||
AtCommandResult AtGsm_Simcom800f_PINStatus(tAtCmd *env, tAtGsm_PINStatus *state);
|
||
|
||
// Уровень сигнала
|
||
AtCommandResult AtGsm_Simcom800f_SignalQualityReport(tAtCmd *env, uint32_t *rssi, int *error);
|
||
|
||
// Проверка наличия регистрации в сети GSM.
|
||
AtCommandResult AtGsm_Simcom800f_NetworkRegistrationStatusGSM(
|
||
tAtCmd *env,
|
||
tAtGsm_NetworkRegistrationReportMode *mode,
|
||
tAtGsm_NetworkRegistrationState *state,
|
||
int *error
|
||
);
|
||
|
||
// Проверка получения доступа к услугам пакетной передачи данных.
|
||
AtCommandResult AtGsm_Simcom800f_AttachOrDetachFromGPRSService(
|
||
tAtCmd *env,
|
||
tAtGsm_AttachOrDetachFromGPRSService *state,
|
||
int *error
|
||
);
|
||
|
||
// Установка количества соединений с сокетом - 0
|
||
AtCommandResult AtGsm_Simcom800f_StartUpMultiIPConnection(tAtCmd *env, uint8_t count);
|
||
|
||
// Режим передачи данных 0 - Ручной
|
||
AtCommandResult AtGsm_Simcom800f_SelectTCPIPApplicationMode(tAtCmd *env, uint8_t mode);
|
||
|
||
// Режим передачи данных 0 - Ручной
|
||
AtCommandResult AtGsm_Simcom800f_SelectDataTransmittingMode(tAtCmd *env, uint8_t mode);
|
||
|
||
// Режим приема данных 1 - Ручной
|
||
AtCommandResult AtGsm_Simcom800f_GetDataFromNetworkManuallySet(tAtCmd *env, uint8_t mode) ;
|
||
|
||
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||
// конец----------------------------------- Инициализация --------------------------------------------------------------
|
||
|
||
|
||
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||
// начало---------------------- Настройка контекста и открытие соединения -----------------------------------
|
||
|
||
// Деактивация контекста
|
||
AtCommandResult AtGsm_Simcom800f_DeactivateGPRSPDPContext(tAtCmd *env);
|
||
|
||
// Настройка точки доступа APN
|
||
AtCommandResult AtGsm_Simcom800f_StartTaskAndSetAPN(tAtCmd *env, char *apn, int apnLen);
|
||
|
||
// Запрос текущего статуса соединения
|
||
AtCommandResult AtGsm_Simcom800f_QueryCurrentConnectionStatus(tAtCmd *env, tAtGsm_QueryCurrentConnectionStatus *state);
|
||
|
||
// Активация контекста
|
||
AtCommandResult AtGsm_Simcom800f_BringUpWirelessConnectionWithGPRS(tAtCmd *env);
|
||
// Установление TCP соединения
|
||
AtCommandResult AtGsm_Simcom800f_StartUpTCPOrUDPConnection(tAtCmd *env, char *url, int urlLen, uint16_t port);
|
||
|
||
// Закрытие соединения
|
||
AtCommandResult AtGsm_Simcom800f_CloseTCPorUDPConnection(tAtCmd *env);
|
||
|
||
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||
// конец---------------------------- Настройка контекста и открытие соединения -----------------------------------------
|
||
|
||
|
||
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||
// начало----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||
|
||
// Начать отправку данных на сервер
|
||
AtCommandResult AtGsm_Simcom800f_SendDataThroughTCPOrUDPConnection(tAtCmd *env, uint8_t *pBuf, uint16_t size);
|
||
|
||
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||
// конец----------------------- Передача данных с подтверждением в командном режиме -----------------------------------
|
||
|
||
|
||
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||
// начало----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||
|
||
// Получить количества данных готовых для чтения
|
||
AtCommandResult AtGsm_Simcom800f_GetDataFromNetworkManuallyGetSize(tAtCmd *env, uint16_t *size);
|
||
|
||
// Получить данные готовые для чтения из сокета
|
||
AtCommandResult AtGsm_Simcom800f_GetDataFromNetworkManuallyGet(tAtCmd *env, uint8_t *pBuf, uint16_t sizeRead, uint16_t *sizeRealRead);
|
||
|
||
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||
// конец----------------------- Прием данных в командном режиме, ручной вывод принятых данных -------------------------
|
||
|
||
|
||
|
||
#endif //GONEC_GSM_ATGGMSIM800F_H
|