Перенос на новую организацию GONEC

This commit is contained in:
cfif 2025-01-24 13:22:33 +03:00
commit 5be52a5a18
3 changed files with 2365 additions and 0 deletions

214
Inc/AtModemGonec.h Normal file
View File

@ -0,0 +1,214 @@
//
// Created by cfif on 25.01.23.
//
#ifndef GONEC_MODEM_GONEC_H
#define GONEC_MODEM_GONEC_H
#include <SystemDelayInterface.h>
#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

2129
Src/AtModemGonec.c Normal file

File diff suppressed because it is too large Load Diff

22
modular.json Normal file
View File

@ -0,0 +1,22 @@
{
"dep": [
{
"type": "git",
"provider": "GONEC",
"repo": "AsciiStringAssemblingUtils"
},
{
"type": "git",
"provider": "GONEC",
"repo": "AtGsmCommon"
}
],
"cmake": {
"inc_dirs": [
"Inc"
],
"srcs": [
"Src/**.c"
]
}
}