Обновление

This commit is contained in:
cfif 2026-02-10 15:22:33 +03:00
parent ee253eb5c0
commit c189ec3593
3 changed files with 17 additions and 27 deletions

View File

@ -47,14 +47,14 @@ void BTS5180_120(tMma *env, char *desc, uint16_t adc_value) {
uint16_t ERROR_THRESHOLD_CODE = (uint16_t) (ERROR_THRESHOLD_V * 4095.0f / 5.0f);
if (adc_value >= ERROR_THRESHOLD_CODE) {
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Ошибка !!!", desc)
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Error !!!", desc)
} else {
// Преобразование в напряжение
float U = (float) adc_value * 5.0f / 4095.0f;
float I = U / 1200; // Ток диагностики R = 1200
float Iout = I * kILIS; // Ток устройства
LoggerFormatInfo(LOGGER, LOG_TASK_ARB,
"%s: Напряжение = %f Ток диагностики = %f Выходной = %f",
"%s: U = %f I = %f Iout = %f",
desc, U, I, Iout)
}
@ -70,7 +70,7 @@ void VN7008AJ(tMma *env, char *desc, uint16_t adc_value) {
// 1. Проверка на ошибку
if (adc_value >= ERROR_THRESHOLD_CODE) {
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Ошибка !!!", desc)
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Error !!!", desc)
} else {
// 2. Преобразование в напряжение
@ -81,7 +81,7 @@ void VN7008AJ(tMma *env, char *desc, uint16_t adc_value) {
float Iout = Isense * K_TYPICAL;
LoggerFormatInfo(LOGGER, LOG_TASK_ARB,
"%s: Напряжение = %f Ток диагностики = %f Выходной = %f",
"%s: U = %f I = %f Iout = %f",
desc, vsense, Isense, Iout)
}
@ -93,12 +93,12 @@ void ANALOG_SENSOR(tMma *env, char *desc, uint16_t adc_value) {
// 1. Проверка на ошибку
if (adc_value >= ERROR_THRESHOLD_CODE) {
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Ошибка !!!", desc)
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Error !!!", desc)
} else {
// Преобразование в напряжение
float U = (float) adc_value * 5.0f / 4095.0f;
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Напряжение = %f", desc, U)
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: U = %f", desc, U)
}
}
@ -115,14 +115,15 @@ void LoadDataInFromModel(tMma *env) {
temp1 = get_temperature_fast(env->adcTask0.ADC0_Data.Sensor_Ambient_Temp);
temp2 = get_temperature_from_adc(env->adcTask0.ADC0_Data.Sensor_Ambient_Temp, ALG_STEINHART);
env->rtDW.controllerDataIncarInput.InIncarFL = env->adcTask0.ADC0_Data.Sensor_Ambient_Temp;
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "Temp1 = %d; Temp2 = %d;", temp1, (int16_t) (temp2 * 10.0f))
env->rtDW.ADC_Data_Model.Sensor_Incar_Temp_FL = env->adcTask0.ADC0_Data.Sensor_Ambient_Temp;
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "Temp1 = %d; Temp2 = %d;", temp1, (int16_t) (temp2 * 10.0f))
/*
// R1 = 91000 R2 = 20000 ((5 * (91000 + 20000)) / 20000 = 27.75 В)
float U_IGN_CHECK = ((float) env->adcTask0.ADC0_Data.IGN_ANS * 27.75f) / 4095.0f;
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "U_IGN_CHECK = %f", U_IGN_CHECK)
BTS5180_120(env, "BTS5120_2EKA_ShutoffValvePowerTXV1",
env->adcTask0.ADC0_Data.BTS5120_2EKA_ShutoffValvePowerTXV1);
BTS5180_120(env, "BTS5120_2EKA_ShutoffValvePowerTXV2",
@ -164,7 +165,7 @@ void LoadDataInFromModel(tMma *env) {
ANALOG_SENSOR(env, "Sensor_Front_Duct6", env->adcTask0.ADC0_Data.Sensor_Front_Duct6);
ANALOG_SENSOR(env, "Pressure_DIAG", env->adcTask0.ADC0_Data.Pressure_DIAG);
ANALOG_SENSOR(env, "Reserve_Sensor_Duct_Temp_2", env->adcTask0.ADC0_Data.Reserve_Sensor_Duct_Temp_2);
*/
}
osMutexRelease(env->adcTask0.access);
@ -175,7 +176,7 @@ void LoadDataInFromModel(tMma *env) {
if (env->adcTask1.ADC_isUpdate) {
env->adcTask1.ADC_isUpdate = false;
/*
// R1 = 91000 R2 = 16000 ((5 * (91000 + 16000)) / 16000 = 33.4375 В)
float U_PBATT_CHECK = ((float) env->adcTask1.ADC1_Data.PBATT_CHECK * 33.4375f) / 4095.0f;
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "U_PBATT_CHECK = %f", U_PBATT_CHECK)
@ -194,7 +195,7 @@ void LoadDataInFromModel(tMma *env) {
VN7008AJ(env, "VN7008AJ_FrontLINActuatorPowerDriverAB", env->adcTask1.ADC1_Data.VN7008AJ_FrontLINActuatorPowerDriverAB);
VN7008AJ(env, "VN7008AJ_RearLINActuatorPowerDriverC", env->adcTask1.ADC1_Data.VN7008AJ_RearLINActuatorPowerDriverC);
*/
}
//temp2 = get_temperature_fast(env->adcTask1.ADC_Data[0], fast_lookup_KST45, 512);
@ -207,21 +208,11 @@ void LoadDataInFromModel(tMma *env) {
if (osMutexAcquire(env->ModelTask.access, 5000) == osOK) {
rtDW.t_now = GetSystemTick();
memcpy(&rtDW.controllerDataIncarInput, &env->rtDW, sizeof(env->rtDW));
memcpy(&rtDW, &env->rtDW.ADC_Data_Model, sizeof(rtDW.ADC_Data_Model));
if (env->ModelTask.isUpdate) {
env->ModelTask.isUpdate = false;
//bool IncarFLErr;
//bool IncarFRErr;
//bool IncarRLErr;
//bool IncarRRErr;
env->CCU_Errors.CCU_IncarTempErrF_Stat = IncarError.CANIncarTempErrF; // CANIncarTempErrF
env->CCU_Errors.CCU_IncarTempErrR_Stat = IncarError.CANIncarTempErrR; // CANIncarTempErrR
set_CCU_Errors(&env->canSpamTransmitter, &env->CCU_Errors);
set_CCU_Errors(&env->canSpamTransmitter, (CCU_Errors_t *)&CCU_Errors_Model);
}
osMutexRelease(env->ModelTask.access);
@ -247,7 +238,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
LoadDataInFromModel(env);
// ModelTask_StartThread(&env->ModelTask);
ModelTask_StartThread(&env->ModelTask);
/*

View File

@ -81,7 +81,6 @@ typedef struct {
// ExtY rtY_local;
DW rtDW;
CCU_Errors_t CCU_Errors;
bool isActuatorWorkBusy;

View File

@ -5,7 +5,7 @@
#include "PeripheralInterfaces.h"
void InitPeripheralInterfaces(tLoggerInterface *logger) {
Gpios_Init();
//Gpios_Init();
CanPorts_Init(logger);
Adcs_Init(logger);