205 lines
8.6 KiB
C
205 lines
8.6 KiB
C
//
|
||
// Created by cfif on 25.01.23.
|
||
//
|
||
|
||
#ifndef MODEM_GONEC_H
|
||
#define MODEM_GONEC_H
|
||
|
||
#include "SerialPortIO.h"
|
||
#include "LoggerInterface.h"
|
||
#include "BaseTypes.h"
|
||
#include "AtCmdCommonProtected.h"
|
||
#include "AtModemGonec.h"
|
||
#include "ModemMain.h"
|
||
|
||
bool Modem_TestAFU(tAtCmd *env);
|
||
|
||
bool Modem_TestAPO(tAtCmd *env);
|
||
|
||
|
||
// Периодичность запроса на съем, МС
|
||
bool Modem_PerDown(tAtCmd *env, bool *isWriteMem, uint32_t value);
|
||
// Периодичность запроса на съем, МС
|
||
bool Modem_Get_PerDown(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
bool Modem_Reg(tAtCmd *env, bool *isWriteMem, char *value);
|
||
|
||
bool Modem_Get_SelectPWR(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
bool Modem_SelectPWR(tAtCmd *env, bool *isWriteMem, uint32_t value);
|
||
|
||
// Коррекция передатчика PWR
|
||
bool
|
||
Modem_TransmitterPWR(tAtCmd *env, bool *isWriteMem, uint32_t value1, uint32_t value2, uint32_t value3, uint32_t value4);
|
||
// Коррекция передатчика
|
||
bool Modem_Get_TransmitterPWR(tAtCmd *env, bool *isWriteMem, uint32_t value1, uint32_t value2, uint32_t value3,
|
||
uint32_t value4,
|
||
uint32_t *oldValue1, uint32_t *oldValue2, uint32_t *oldValue3, uint32_t *oldValue4);
|
||
|
||
|
||
bool Modem_LogEnable(tAtCmd *env, bool *isWriteMem, uint32_t value);
|
||
|
||
bool Modem_Get_LogEnable(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
bool Modem_LogExtended(tAtCmd *env, bool *isWriteMem, uint32_t value);
|
||
|
||
bool Modem_Get_LogExtended(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
|
||
/*
|
||
// Коррекция передатчика 1
|
||
bool Modem_Get_TransmitterPWR1(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
// Коррекция передатчика 2
|
||
bool Modem_Get_TransmitterPWR2(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
// Коррекция передатчика 3
|
||
bool Modem_Get_TransmitterPWR3(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
// Коррекция передатчика 4
|
||
bool Modem_Get_TransmitterPWR4(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
// Коррекция передатчика PWR1
|
||
bool Modem_TransmitterPWR1(tAtCmd *env, bool *isWriteMem, uint32_t value);
|
||
// Коррекция передатчика PWR2
|
||
bool Modem_TransmitterPWR2(tAtCmd *env, bool *isWriteMem, uint32_t value);
|
||
// Коррекция передатчика PWR3
|
||
bool Modem_TransmitterPWR3(tAtCmd *env, bool *isWriteMem, uint32_t value);
|
||
// Коррекция передатчика PWR4
|
||
bool Modem_TransmitterPWR4(tAtCmd *env, bool *isWriteMem, uint32_t value);
|
||
*/
|
||
|
||
// Запись прошивки крипто-платы
|
||
bool Modem_CryptoSend(tAtCmd *env, uint8_t *pBuf, uint32_t crc, uint32_t offset, uint32_t size);
|
||
|
||
// Запуск прошивкиы
|
||
bool Modem_RunModemOrCrypto(tAtCmd *env);
|
||
|
||
bool Modem_DelTasi(tAtCmd *env, bool *isWriteMem, uint32_t param);
|
||
// Останов ожидания маркерного сигнала
|
||
bool Modem_Stop(tAtCmd *env);
|
||
// Запуск ожидания маркерного сигнала
|
||
bool Modem_Start(tAtCmd *env);
|
||
// Ввод сетевого адреса модема
|
||
bool Modem_NetAddress(tAtCmd *env, bool *isWriteMem, uint32_t adr);
|
||
// Ввод каналов ожидания маркерного сигнала
|
||
bool Modem_MarkerCh(tAtCmd *env, bool *isWriteMem, uint32_t mc1, uint32_t mc2);
|
||
// Ввод тип адреса 1 - почта; 2 - гонец
|
||
bool Modem_AddressType(tAtCmd *env, bool *isWriteMem, uint32_t type);
|
||
//
|
||
bool Modem_Region(tAtCmd *env, bool *isWriteMem, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5,
|
||
uint32_t p6, uint32_t p7, uint32_t p8);
|
||
// Установка скоростей
|
||
bool Modem_RxTxBitrate(tAtCmd *env, bool *isWriteMem, uint32_t s1, uint32_t s2, uint32_t s3, uint32_t s4);
|
||
// Установка приоритета
|
||
bool Modem_Priority(tAtCmd *env, bool *isWriteMem, uint32_t prior);
|
||
//
|
||
bool Modem_RestrictSc(tAtCmd *env, bool *isWriteMem, char *banned);
|
||
// Установка региона
|
||
bool Modem_RegRegion(tAtCmd *env, bool *isWriteMem, uint32_t region);
|
||
//
|
||
bool Modem_RegTime(tAtCmd *env, bool *isWriteMem, uint32_t time);
|
||
//
|
||
bool Modem_DateTime(tAtCmd *env, time_t *timestamp);
|
||
|
||
// Запись во флеш модема
|
||
bool Modem_WriteMem(tAtCmd *env);
|
||
|
||
// Загрузка ключей с проверкой
|
||
bool Modem_LoadKey(tAtCmd *env, uint32_t key_num, char *buf, size_t buf_len);
|
||
|
||
// Запрос состояния регистрации
|
||
bool Modem_RegStatus(tAtCmd *env, uint8_t *status);
|
||
|
||
// Останов регистрации
|
||
bool Modem_StopRegTask(tAtCmd *env);
|
||
|
||
// Останов задачи передачи
|
||
bool Modem_StopSendTask(tAtCmd *env);
|
||
// Запуск задачи передачи
|
||
bool Modem_StartSendTask(tAtCmd *env);
|
||
|
||
// Запрос слотов
|
||
bool Modem_Get_Slot(tAtCmd *env, uint8_t id[], uint8_t status[], uint8_t count);
|
||
// Запись данных в слот
|
||
bool Modem_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);
|
||
|
||
// Чтение данных из слота
|
||
bool Modem_Read_Recv_Slot(tAtCmd *env, uint8_t id, uint32_t *size, uint8_t *pBuf);
|
||
// Запрос слотов приема
|
||
bool Modem_Get_Recv_Slot(tAtCmd *env, uint8_t id[], uint8_t status[], uint8_t count);
|
||
// Очистка слота приема
|
||
bool Modem_Clear_Recv_Slot(tAtCmd *env, char *id);
|
||
|
||
// Останов задачи приема
|
||
bool Modem_StopRecvTask(tAtCmd *env);
|
||
// Запуск задачи приема
|
||
bool Modem_StartRecvTask(tAtCmd *env);
|
||
|
||
// Очистка слота
|
||
bool Modem_Clear_Slot(tAtCmd *env, char *id);
|
||
|
||
// Запуск регистрации
|
||
bool Modem_StartRegTask(tAtCmd *env);
|
||
// Координаты
|
||
bool Modem_Coord(tAtCmd *env, int latitude, int longitude);
|
||
|
||
// Запуск получения альманаха
|
||
bool Modem_AlmaRun(tAtCmd *env);
|
||
// Останов получения альманаха
|
||
bool Modem_AlmaStop(tAtCmd *env);
|
||
|
||
// Чтения состояния получения альманаха
|
||
bool Modem_Get_AlmaRun(tAtCmd *env, uint8_t *run);
|
||
// Запрос состояния получения альманаха
|
||
bool Modem_AlmaStatus(tAtCmd *env, uint8_t *status);
|
||
// Чтение пакета альманаха
|
||
bool Modem_Read_Alma(tAtCmd *env, uint32_t *size, uint8_t *pBuf);
|
||
// Очистка пакета альманаха
|
||
bool Modem_Clear_Alma(tAtCmd *env);
|
||
// Получение логов
|
||
bool Modem_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);
|
||
|
||
|
||
//
|
||
bool Modem_Get_DelTasi(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
// Ввод сетевого адреса модема
|
||
bool Modem_Get_NetAddress(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
// Ввод каналов ожидания маркерного сигнала
|
||
bool Modem_Get_MarkerCh(tAtCmd *env, bool *isWriteMem, uint32_t mc1, uint32_t mc2, uint32_t *oldMc1, uint32_t *oldMc2);
|
||
|
||
// Ввод тип адреса 1 - почта; 2 - гонец
|
||
bool Modem_Get_AddressType(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
// Установка скоростей
|
||
bool Modem_Get_RxTxBitrate(tAtCmd *env, bool *isWriteMem, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4,
|
||
uint32_t *oldP1, uint32_t *oldP2, uint32_t *oldP3, uint32_t *oldP4);
|
||
|
||
// Установка приоритета
|
||
bool Modem_Get_Priority(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
//
|
||
bool Modem_Get_RestrictSc(tAtCmd *env, bool *isWriteMem, char *value, char oldValue[255]);
|
||
|
||
bool Modem_Get_BanReg(tAtCmd *env, bool *isWriteMem, char *value, char oldValue[255]);
|
||
|
||
// Установка региона
|
||
bool Modem_Get_RegRegion(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
// Время жизни регистрации
|
||
bool Modem_Get_RegTime(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
|
||
// Чтение версии
|
||
bool Modem_Get_Version(tAtCmd *env, char *versionModem, uint8_t *sizeModem, char *versionCrypto, uint8_t *sizeCrypto);
|
||
|
||
bool Modem_Get_MaxDist(tAtCmd *env, bool *isWriteMem, uint32_t value, uint32_t *oldValue);
|
||
|
||
bool Modem_Get_Reg(tAtCmd *env, bool *isWriteMem, char *value, char oldValue[255]);
|
||
|
||
bool Modem_Ban(tAtCmd *env, bool *isWriteMem, char *value);
|
||
|
||
bool Modem_MaxDist(tAtCmd *env, bool *isWriteMem, uint32_t value);
|
||
|
||
#endif //MODEM_GONEC_H
|