This commit is contained in:
cfif 2024-12-05 15:05:36 +03:00
parent c26d6e52c8
commit 4e439443f1
3 changed files with 30 additions and 8 deletions

View File

@ -22,15 +22,18 @@
//начало ---------------------------------Аутентификация--------------------------------------------------------------- //начало ---------------------------------Аутентификация---------------------------------------------------------------
//начало ---------------------------------Аутентификация--------------------------------------------------------------- //начало ---------------------------------Аутентификация---------------------------------------------------------------
char imei[] = "860384060946040";
uint16_t vEgtsPackAuth(uint8_t *out, tEgtsIdentityDataArgs *args, uint16_t step) { uint16_t vEgtsPackAuth(uint8_t *out, tEgtsIdentityDataArgs *args, uint16_t step) {
uint16_t offset = 0; uint16_t offset = 0;
uint16_t TermIdentityBS = 256;//1400; uint16_t TermIdentityBS = 1400;
uint8_t TermIdentityFlags = 0b01000010; uint8_t TermIdentityFlags = 0b01000010;
ADD_TO_RESULT(args->TerminalID, 4); ADD_TO_RESULT(args->TerminalID, 4);
ADD_TO_RESULT(TermIdentityFlags, 1); ADD_TO_RESULT(TermIdentityFlags, 1);
ADD_TO_RESULT((*args->IMEI), args->IMEI_len); //ADD_TO_RESULT((*args->IMEI), args->IMEI_len);
ADD_TO_RESULT((imei), 15);
ADD_TO_RESULT(TermIdentityBS, 2); ADD_TO_RESULT(TermIdentityBS, 2);
return offset; return offset;
@ -64,12 +67,26 @@ uint16_t vEgtsPackModuleData(uint8_t *out, tEgtsIdentityModuleDataArgs *args, ui
uint8_t Delimiter = 0; uint8_t Delimiter = 0;
char TAG_VIN[] = "VIN:";
char TAG_ICCID[] = "ICCID:";
char TAG_EICCID[] = "EICCID:";
ADD_TO_RESULT(MT, 1); ADD_TO_RESULT(MT, 1);
ADD_TO_RESULT(VID, 4); ADD_TO_RESULT(VID, 4);
ADD_TO_RESULT(FWV, 2); ADD_TO_RESULT(FWV, 2);
ADD_TO_RESULT(SWV, 2); ADD_TO_RESULT(SWV, 2);
ADD_TO_RESULT(MD, 1); ADD_TO_RESULT(MD, 1);
ADD_TO_RESULT(ST, 1); ADD_TO_RESULT(ST, 1);
ADD_TO_RESULT(args->deviceStorage->nvm.device.serialNumber.value.data, args->deviceStorage->nvm.device.serialNumber.value.length);
ADD_TO_RESULT(Delimiter, 1);
ADD_TO_RESULT(TAG_VIN, sizeof(TAG_VIN) - 1);
ADD_TO_RESULT(args->deviceStorage->nvm.gost.VIN.data, args->deviceStorage->nvm.gost.VIN.length);
ADD_TO_RESULT(Delimiter, 1);
ADD_TO_RESULT(TAG_ICCID, sizeof(TAG_ICCID) - 1);
ADD_TO_RESULT(args->deviceStorage->nvm.device.ccid.data, args->deviceStorage->nvm.device.ccid.length);
ADD_TO_RESULT(Delimiter, 1);
ADD_TO_RESULT(TAG_EICCID, sizeof(TAG_EICCID) - 1);
ADD_TO_RESULT(args->deviceStorage->nvm.device.ccid.data, args->deviceStorage->nvm.device.ccid.length);
ADD_TO_RESULT(Delimiter, 1); ADD_TO_RESULT(Delimiter, 1);
return offset; return offset;
@ -99,6 +116,10 @@ bool EgtsProcessing_SendAuth(tEgtsProcessing *env) {
env->egtsIdentityDataArgs.IMEI_len = IMEI_len; env->egtsIdentityDataArgs.IMEI_len = IMEI_len;
env->egtsIdentityDataArgs.TerminalID = env->deviceTeledataStorageData->telematica.EGTS_UNIT_ID; env->egtsIdentityDataArgs.TerminalID = env->deviceTeledataStorageData->telematica.EGTS_UNIT_ID;
env->egtsModuleDataArgs.deviceStorage = env->store;
++env->egtsPacketId; ++env->egtsPacketId;
env->egtsIdentityAdditionalData.idPacked = env->egtsPacketId; env->egtsIdentityAdditionalData.idPacked = env->egtsPacketId;
env->egtsIdentityAdditionalData.isReceivedResponse = false; env->egtsIdentityAdditionalData.isReceivedResponse = false;

View File

@ -198,7 +198,7 @@ void EgtsProcessing_Start(tEgtsProcessing *env) {
ThreadBlock_Start(env->T_processing_teledata, env, EgtsProcessing_TransmitterTaskTeledata); ThreadBlock_Start(env->T_processing_teledata, env, EgtsProcessing_TransmitterTaskTeledata);
ThreadBlock_Start(env->T_processing_main, env, EgtsProcessing_TransmitterTaskMain); ThreadBlock_Start(env->T_processing_main, env, EgtsProcessing_TransmitterTaskMain);
ThreadBlock_Start(env->T_listener, env, EgtsProcessing_ListenerTask); ThreadBlock_Start(env->T_listener, env, EgtsProcessing_ListenerTask);
// ThreadBlock_Start(env->T_processing_urc, env, Processing_URC); ThreadBlock_Start(env->T_processing_urc, env, Processing_URC);
} }
void EgtsProcessingCloseConnection(tEgtsProcessing *env) { void EgtsProcessingCloseConnection(tEgtsProcessing *env) {
@ -417,7 +417,7 @@ bool NetworkRequire(tEgtsProcessing *env) {
bool Gsm_ActivatePdp(tEgtsProcessing *env) { bool Gsm_ActivatePdp(tEgtsProcessing *env) {
AtCommandResult res = AT_ERROR; AtCommandResult res = AT_ERROR;
if (osMutexAcquire(env->gsm->gsmAt.access, 1000) == osOK) { if (osMutexAcquire(env->gsm->gsmAt.access, 5000) == osOK) {
res = AtGsmTelitLe910_PdpActivate(&env->gsm->gsmAt, 1); res = AtGsmTelitLe910_PdpActivate(&env->gsm->gsmAt, 1);
@ -430,7 +430,7 @@ bool Gsm_ActivatePdp(tEgtsProcessing *env) {
bool Gsm_ActivateApn(tEgtsProcessing *env) { bool Gsm_ActivateApn(tEgtsProcessing *env) {
AtCommandResult res = AT_ERROR; AtCommandResult res = AT_ERROR;
if (osMutexAcquire(env->gsm->gsmAt.access, 1000) == osOK) { if (osMutexAcquire(env->gsm->gsmAt.access, 5000) == osOK) {
res = AtGsmTelitLe910_DefinePdpContext(&env->gsm->gsmAt, 1, AtGsmTelitLe910_PdpType_IP, res = AtGsmTelitLe910_DefinePdpContext(&env->gsm->gsmAt, 1, AtGsmTelitLe910_PdpType_IP,
env->deviceTeledataStorageData->telematica.EGTS_GPRS_APN.data, env->deviceTeledataStorageData->telematica.EGTS_GPRS_APN.data,
@ -446,7 +446,7 @@ bool Gsm_ActivateApn(tEgtsProcessing *env) {
bool Gsm_SetProfileERA(tEgtsProcessing *env) { bool Gsm_SetProfileERA(tEgtsProcessing *env) {
AtCommandResult res = AT_ERROR; AtCommandResult res = AT_ERROR;
if (osMutexAcquire(env->gsm->gsmAt.access, 1000) == osOK) { if (osMutexAcquire(env->gsm->gsmAt.access, 5000) == osOK) {
AtGsmTelitLe910_SimProfileSelect(&env->gsm->gsmAt, AtGsmTelitLe910_SimProfileSelect(&env->gsm->gsmAt,
&env->store->nvm.deviceTeledataStorageData.telematica.EGTS_PROFILE_SIM_ERA); &env->store->nvm.deviceTeledataStorageData.telematica.EGTS_PROFILE_SIM_ERA);
@ -465,7 +465,7 @@ bool Gsm_SetProfileERA(tEgtsProcessing *env) {
bool Gsm_SetProfileINTERNET(tEgtsProcessing *env) { bool Gsm_SetProfileINTERNET(tEgtsProcessing *env) {
AtCommandResult res = AT_ERROR; AtCommandResult res = AT_ERROR;
if (osMutexAcquire(env->gsm->gsmAt.access, 1000) == osOK) { if (osMutexAcquire(env->gsm->gsmAt.access, 5000) == osOK) {
AtGsmTelitLe910_SimProfileSelect(&env->gsm->gsmAt, AtGsmTelitLe910_SimProfileSelect(&env->gsm->gsmAt,
&env->store->nvm.deviceTeledataStorageData.telematica.EGTS_PROFILE_SIM_INTERNET); &env->store->nvm.deviceTeledataStorageData.telematica.EGTS_PROFILE_SIM_INTERNET);

View File

@ -193,6 +193,7 @@ typedef struct {
} tEgtsIdentityDataArgs; } tEgtsIdentityDataArgs;
typedef struct { typedef struct {
tDeviceStorage *deviceStorage;
} tEgtsIdentityModuleDataArgs; } tEgtsIdentityModuleDataArgs;
typedef struct { typedef struct {
@ -340,7 +341,7 @@ typedef struct {
tStaticThreadBlock(512) T_processing_main; tStaticThreadBlock(512) T_processing_main;
tStaticThreadBlock(512) T_listener; tStaticThreadBlock(512) T_listener;
tStaticThreadBlock(256) T_processing_urc; tStaticThreadBlock(768) T_processing_urc;
// uint8_t wb[1024 * 10]; // uint8_t wb[1024 * 10];
uint8_t wb[1024]; uint8_t wb[1024];