GONEC_ARTERY_Modem_GONEC/ModemGonec.h

205 lines
8.6 KiB
C
Raw 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 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