AtGsmSim800F/Inc/AtGsmSim800f.h

176 lines
8.9 KiB
C
Raw Permalink 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 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