// // Created by cfif on 25.01.23. // #ifndef GONEC_MODEM_GONEC_H #define GONEC_MODEM_GONEC_H #include #include "AtCmdCommonProtected.h" #include "AsciiStringParsingUtils.h" #include "AtGsm_NetworkRegistrationStatus.h" #include "time.h" AtCommandResult AtModem_Get_PerDown(tAtCmd *env, uint32_t *param); AtCommandResult AtModem_PerDown(tAtCmd *env, uint32_t type); AtCommandResult AtModem_TransmitterPWR(tAtCmd *env, uint32_t pwr1, uint32_t pwr2, uint32_t pwr3, uint32_t pwr4); AtCommandResult AtModem_Get_TransmitterPWR(tAtCmd *env, uint32_t *pwr1, uint32_t *pwr2, uint32_t *pwr3, uint32_t *pwr4); AtCommandResult AtModem_LogExtended(tAtCmd *env, uint32_t en); AtCommandResult AtModem_Get_LogExtended(tAtCmd *env, uint32_t *en); AtCommandResult AtModem_LogEnable(tAtCmd *env, uint32_t en); AtCommandResult AtModem_Get_LogEnable(tAtCmd *env, uint32_t *en); // Выбор параметра мощности AtCommandResult AtModem_SelectPWR(tAtCmd *env, uint32_t pwr); AtCommandResult AtModem_Get_SelectPWR(tAtCmd *env, uint32_t *pwr); /* AtCommandResult AtModem_Get_TransmitterPWR1(tAtCmd *env, uint32_t *param); AtCommandResult AtModem_Get_TransmitterPWR2(tAtCmd *env, uint32_t *param); AtCommandResult AtModem_Get_TransmitterPWR3(tAtCmd *env, uint32_t *param); AtCommandResult AtModem_Get_TransmitterPWR4(tAtCmd *env, uint32_t *param); AtCommandResult AtModem_TransmitterPWR1(tAtCmd *env, uint32_t type); AtCommandResult AtModem_TransmitterPWR2(tAtCmd *env, uint32_t type); AtCommandResult AtModem_TransmitterPWR3(tAtCmd *env, uint32_t type); AtCommandResult AtModem_TransmitterPWR4(tAtCmd *env, uint32_t type); */ // Запись прошивки крипто-платы AtCommandResult AtModem_CryptoSend(tAtCmd *env, uint8_t *pBuf, uint32_t crc, uint32_t offset, uint32_t size); // AtCommandResult AtModem_DelTasi(tAtCmd *env, uint32_t param); AtCommandResult AtModem_Get_DelTasi(tAtCmd *env, uint32_t *param); // Останов ожидания маркерного сигнала AtCommandResult AtModem_Stop(tAtCmd *env); // Запуск ожидания маркерного сигнала AtCommandResult AtModem_Start(tAtCmd *env); // Останов задачи приема AtCommandResult AtModem_StopRecvTask(tAtCmd *env); // Запуск задачи приема AtCommandResult AtModem_StartRecvTask(tAtCmd *env); // Запрос слотов приема AtCommandResult AtModem_Get_Recv_Slot(tAtCmd *env, uint8_t id[], uint8_t status[], uint8_t count); // Очистка слота приема AtCommandResult AtModem_Clear_Recv_Slot(tAtCmd *env, char *id); // Чтение данных из слота AtCommandResult AtModem_Read_Recv_Slot(tAtCmd *env, uint16_t id, uint32_t *size, uint8_t *pBuf); // Ввод сетевого адреса модема AtCommandResult AtModem_NetAddress(tAtCmd *env, uint32_t adr); AtCommandResult AtModem_Get_NetAddress(tAtCmd *env, uint32_t *param); // Запуск прошивки AtCommandResult AtModem_RunModemOrCrypto(tAtCmd *env); // Ввод каналов ожидания маркерного сигнала AtCommandResult AtModem_MarkerCh(tAtCmd *env, uint32_t mc1, uint32_t mc2); AtCommandResult AtModem_Get_MarkerCh(tAtCmd *env, uint32_t *mc1, uint32_t *mc2); // Ввод тип адреса 1 - почта; 2 - гонец AtCommandResult AtModem_AddressType(tAtCmd *env, uint32_t type); AtCommandResult AtModem_Get_AddressType(tAtCmd *env, uint32_t *param); // AtCommandResult AtModem_Region(tAtCmd *env, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8); AtCommandResult AtModem_Get_Region(tAtCmd *env, uint32_t *p1, uint32_t *p2, uint32_t *p3, uint32_t *p4, uint32_t *p5, uint32_t *p6, uint32_t *p7, uint32_t *p8); // Установка скоростей AtCommandResult AtModem_RxTxBitrate(tAtCmd *env, uint32_t s1, uint32_t s2, uint32_t s3, uint32_t s4); AtCommandResult AtModem_Get_RxTxBitrate(tAtCmd *env, uint32_t *s1, uint32_t *s2, uint32_t *s3, uint32_t *s4); // Установка приоритета AtCommandResult AtModem_Priority(tAtCmd *env, uint32_t prior); AtCommandResult AtModem_Get_Priority(tAtCmd *env, uint32_t *param); AtCommandResult AtModem_RestrictSc(tAtCmd *env, char *banned); AtCommandResult AtModem_Get_RestrictSc(tAtCmd *env, char *param, size_t len); // Установка региона AtCommandResult AtModem_RegRegion(tAtCmd *env, uint32_t region); AtCommandResult AtModem_Get_RegRegion(tAtCmd *env, uint32_t *param); // AtCommandResult AtModem_RegTime(tAtCmd *env, uint32_t time); AtCommandResult AtModem_Get_RegTime(tAtCmd *env, uint32_t *param); // AtCommandResult AtModem_DateTime(tAtCmd *env, time_t *timestamp); // Загрузка ключей AtCommandResult AtModem_SetKey(tAtCmd *env, uint32_t key_num, char *buf, size_t buf_len); // Проверка ключа AtCommandResult AtModem_CheckKey(tAtCmd *env, uint32_t key_num); // Запись текущих настроек и ключей AtCommandResult AtModem_WriteMem(tAtCmd *env); // Запрос слотов AtCommandResult AtModem_Get_Slot(tAtCmd *env, uint8_t id[], uint8_t status[], uint8_t count); // Запись данных в слот AtCommandResult AtModem_Write_Slot(tAtCmd *env, uint32_t id, uint32_t addressAT, uint32_t addressEND, uint32_t urgency, uint32_t confirmation, uint32_t size, uint8_t *pBuf); // Очистка слота AtCommandResult AtModem_Clear_Slot(tAtCmd *env, char *id); // Запрос состояния регистрации AtCommandResult AtModem_RegStatus(tAtCmd *env, uint8_t *status); // Останов регистрации AtCommandResult AtModem_StopRegTask(tAtCmd *env); // Останов задачи передачи AtCommandResult AtModem_StopSendTask(tAtCmd *env); // Запуск задачи передачи AtCommandResult AtModem_StartSendTask(tAtCmd *env); // Запуск получения альманаха AtCommandResult AtModem_AlmaRun(tAtCmd *env); // Останов получения альманаха AtCommandResult AtModem_AlmaStop(tAtCmd *env); // Чтения состояния получения альманаха AtCommandResult AtModem_Get_AlmaRun(tAtCmd *env, uint8_t *run); // Запрос состояния получения альманаха AtCommandResult AtModem_AlmaStatus(tAtCmd *env, uint8_t *status); // Чтение пакета альманаха AtCommandResult AtModem_Read_Alma(tAtCmd *env, uint32_t *size, uint8_t *pBuf); // Очистка пакета альманаха AtCommandResult AtModem_Clear_Alma(tAtCmd *env); // Получение логов AtCommandResult AtModem_Get_Log(tAtCmd *env, int32_t *rssi, int32_t *temp, uint32_t *pwramp, uint32_t *state, uint32_t *wasreboot, uint32_t *size, uint8_t *pBuf); // Запуск регистрации AtCommandResult AtModem_StartRegTask(tAtCmd *env); // Координаты AtCommandResult AtModem_Coord(tAtCmd *env, int latitude, int longitude); AtCommandResult AtModem_Get_Version(tAtCmd *env, char *versionModem, uint8_t *sizeModem, char *versionCrypto, uint8_t *sizeCrypto); AtCommandResult AtModem_TestAFU(tAtCmd *env); AtCommandResult AtModem_TestAPO(tAtCmd *env); AtCommandResult AtModem_Reg(tAtCmd *env, char *banned); AtCommandResult AtModem_Get_Reg(tAtCmd *env, char *banned, size_t len); AtCommandResult AtModem_MaxDist(tAtCmd *env, uint32_t dist); AtCommandResult AtModem_Get_MaxDist(tAtCmd *env, uint32_t *param); #endif //GONEC_MODEM_GONEC_H