Обновление
This commit is contained in:
parent
ee253eb5c0
commit
c189ec3593
|
|
@ -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);
|
uint16_t ERROR_THRESHOLD_CODE = (uint16_t) (ERROR_THRESHOLD_V * 4095.0f / 5.0f);
|
||||||
|
|
||||||
if (adc_value >= ERROR_THRESHOLD_CODE) {
|
if (adc_value >= ERROR_THRESHOLD_CODE) {
|
||||||
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Ошибка !!!", desc)
|
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Error !!!", desc)
|
||||||
} else {
|
} else {
|
||||||
// Преобразование в напряжение
|
// Преобразование в напряжение
|
||||||
float U = (float) adc_value * 5.0f / 4095.0f;
|
float U = (float) adc_value * 5.0f / 4095.0f;
|
||||||
float I = U / 1200; // Ток диагностики R = 1200
|
float I = U / 1200; // Ток диагностики R = 1200
|
||||||
float Iout = I * kILIS; // Ток устройства
|
float Iout = I * kILIS; // Ток устройства
|
||||||
LoggerFormatInfo(LOGGER, LOG_TASK_ARB,
|
LoggerFormatInfo(LOGGER, LOG_TASK_ARB,
|
||||||
"%s: Напряжение = %f Ток диагностики = %f Выходной = %f",
|
"%s: U = %f I = %f Iout = %f",
|
||||||
desc, U, I, Iout)
|
desc, U, I, Iout)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -70,7 +70,7 @@ void VN7008AJ(tMma *env, char *desc, uint16_t adc_value) {
|
||||||
|
|
||||||
// 1. Проверка на ошибку
|
// 1. Проверка на ошибку
|
||||||
if (adc_value >= ERROR_THRESHOLD_CODE) {
|
if (adc_value >= ERROR_THRESHOLD_CODE) {
|
||||||
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Ошибка !!!", desc)
|
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Error !!!", desc)
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// 2. Преобразование в напряжение
|
// 2. Преобразование в напряжение
|
||||||
|
|
@ -81,7 +81,7 @@ void VN7008AJ(tMma *env, char *desc, uint16_t adc_value) {
|
||||||
float Iout = Isense * K_TYPICAL;
|
float Iout = Isense * K_TYPICAL;
|
||||||
|
|
||||||
LoggerFormatInfo(LOGGER, LOG_TASK_ARB,
|
LoggerFormatInfo(LOGGER, LOG_TASK_ARB,
|
||||||
"%s: Напряжение = %f Ток диагностики = %f Выходной = %f",
|
"%s: U = %f I = %f Iout = %f",
|
||||||
desc, vsense, Isense, Iout)
|
desc, vsense, Isense, Iout)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -93,12 +93,12 @@ void ANALOG_SENSOR(tMma *env, char *desc, uint16_t adc_value) {
|
||||||
|
|
||||||
// 1. Проверка на ошибку
|
// 1. Проверка на ошибку
|
||||||
if (adc_value >= ERROR_THRESHOLD_CODE) {
|
if (adc_value >= ERROR_THRESHOLD_CODE) {
|
||||||
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Ошибка !!!", desc)
|
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "%s: Error !!!", desc)
|
||||||
} else {
|
} else {
|
||||||
// Преобразование в напряжение
|
// Преобразование в напряжение
|
||||||
float U = (float) adc_value * 5.0f / 4095.0f;
|
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);
|
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);
|
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;
|
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))
|
|
||||||
|
|
||||||
|
|
||||||
|
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 В)
|
// 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;
|
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)
|
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "U_IGN_CHECK = %f", U_IGN_CHECK)
|
||||||
|
|
||||||
|
|
||||||
BTS5180_120(env, "BTS5120_2EKA_ShutoffValvePowerTXV1",
|
BTS5180_120(env, "BTS5120_2EKA_ShutoffValvePowerTXV1",
|
||||||
env->adcTask0.ADC0_Data.BTS5120_2EKA_ShutoffValvePowerTXV1);
|
env->adcTask0.ADC0_Data.BTS5120_2EKA_ShutoffValvePowerTXV1);
|
||||||
BTS5180_120(env, "BTS5120_2EKA_ShutoffValvePowerTXV2",
|
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, "Sensor_Front_Duct6", env->adcTask0.ADC0_Data.Sensor_Front_Duct6);
|
||||||
ANALOG_SENSOR(env, "Pressure_DIAG", env->adcTask0.ADC0_Data.Pressure_DIAG);
|
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);
|
ANALOG_SENSOR(env, "Reserve_Sensor_Duct_Temp_2", env->adcTask0.ADC0_Data.Reserve_Sensor_Duct_Temp_2);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
osMutexRelease(env->adcTask0.access);
|
osMutexRelease(env->adcTask0.access);
|
||||||
|
|
@ -175,7 +176,7 @@ void LoadDataInFromModel(tMma *env) {
|
||||||
|
|
||||||
if (env->adcTask1.ADC_isUpdate) {
|
if (env->adcTask1.ADC_isUpdate) {
|
||||||
env->adcTask1.ADC_isUpdate = false;
|
env->adcTask1.ADC_isUpdate = false;
|
||||||
|
/*
|
||||||
// R1 = 91000 R2 = 16000 ((5 * (91000 + 16000)) / 16000 = 33.4375 В)
|
// 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;
|
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)
|
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_FrontLINActuatorPowerDriverAB", env->adcTask1.ADC1_Data.VN7008AJ_FrontLINActuatorPowerDriverAB);
|
||||||
VN7008AJ(env, "VN7008AJ_RearLINActuatorPowerDriverC", env->adcTask1.ADC1_Data.VN7008AJ_RearLINActuatorPowerDriverC);
|
VN7008AJ(env, "VN7008AJ_RearLINActuatorPowerDriverC", env->adcTask1.ADC1_Data.VN7008AJ_RearLINActuatorPowerDriverC);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
//temp2 = get_temperature_fast(env->adcTask1.ADC_Data[0], fast_lookup_KST45, 512);
|
//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) {
|
if (osMutexAcquire(env->ModelTask.access, 5000) == osOK) {
|
||||||
rtDW.t_now = GetSystemTick();
|
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) {
|
if (env->ModelTask.isUpdate) {
|
||||||
env->ModelTask.isUpdate = false;
|
env->ModelTask.isUpdate = false;
|
||||||
|
set_CCU_Errors(&env->canSpamTransmitter, (CCU_Errors_t *)&CCU_Errors_Model);
|
||||||
//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);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
osMutexRelease(env->ModelTask.access);
|
osMutexRelease(env->ModelTask.access);
|
||||||
|
|
@ -247,7 +238,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
|
|
||||||
LoadDataInFromModel(env);
|
LoadDataInFromModel(env);
|
||||||
|
|
||||||
// ModelTask_StartThread(&env->ModelTask);
|
ModelTask_StartThread(&env->ModelTask);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,6 @@ typedef struct {
|
||||||
// ExtY rtY_local;
|
// ExtY rtY_local;
|
||||||
DW rtDW;
|
DW rtDW;
|
||||||
|
|
||||||
CCU_Errors_t CCU_Errors;
|
|
||||||
|
|
||||||
bool isActuatorWorkBusy;
|
bool isActuatorWorkBusy;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
#include "PeripheralInterfaces.h"
|
#include "PeripheralInterfaces.h"
|
||||||
|
|
||||||
void InitPeripheralInterfaces(tLoggerInterface *logger) {
|
void InitPeripheralInterfaces(tLoggerInterface *logger) {
|
||||||
Gpios_Init();
|
//Gpios_Init();
|
||||||
|
|
||||||
CanPorts_Init(logger);
|
CanPorts_Init(logger);
|
||||||
Adcs_Init(logger);
|
Adcs_Init(logger);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue