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