Обновление

This commit is contained in:
cfif 2026-01-30 17:14:14 +03:00
parent edc82b9fed
commit 9a5cab4c66
3 changed files with 62 additions and 20 deletions

View File

@ -2,7 +2,7 @@
// Created by cfif on 20.01.2026. // Created by cfif on 20.01.2026.
// //
#include "LinActuatorWork.h" #include "LinActuatorWork.h"
/*
void LinActuatorWork(tMma *env) { void LinActuatorWork(tMma *env) {
if (osMutexAcquire(env->linTaskActuator0.access, 5000) == osOK) { if (osMutexAcquire(env->linTaskActuator0.access, 5000) == osOK) {
@ -89,4 +89,5 @@ void LinActuatorWork(tMma *env) {
} }
} }
*/

View File

@ -39,6 +39,53 @@ void Mma_Init(
//uint8_t dataR[1024 * 2]; //uint8_t dataR[1024 * 2];
void LoadDataInFromModel(tMma *env) {
int16_t temp1 = 0;
int16_t temp2 = 0;
if (osMutexAcquire(env->adcTask0.access, 1000) == osOK) {
temp1 = get_temperature_fast(env->adcTask0.ADC_Data[0], fast_lookup_Incar, 512);
env->rtDW.controllerDataIncarInput.InIncarFL = env->adcTask0.ADC_Data[0];
osMutexRelease(env->adcTask0.access);
//LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "Temp1 = %d", temp1)
}
if (osMutexAcquire(env->adcTask1.access, 1000) == osOK) {
temp2 = get_temperature_fast(env->adcTask1.ADC_Data[0], fast_lookup_KST45, 512);
env->rtDW.controllerDataIncarInput.InIncarFR = env->adcTask1.ADC_Data[0];
osMutexRelease(env->adcTask1.access);
//LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "Temp2 = %d", temp2)
}
if (osMutexAcquire(env->ModelTask.access, 5000) == osOK) {
rtDW.t_now = GetSystemTick();
memcpy(&rtDW.controllerDataIncarInput, &env->rtDW, sizeof(env->rtDW));
if (env->ModelTask.isUpdate) {
env->ModelTask.isUpdate = false;
//bool IncarFLErr;
//bool IncarFRErr;
//bool IncarRLErr;
//bool IncarRRErr;
env->CCU_Errors.CCU_IncarTempErrF_Stat = 0; // CANIncarTempErrF
env->CCU_Errors.CCU_IncarTempErrR_Stat = 0; // CANIncarTempErrR
set_CCU_Errors(&env->canSpamTransmitter, &env->CCU_Errors);
}
osMutexRelease(env->ModelTask.access);
}
}
static _Noreturn void Mma_Thread(tMma *env) { static _Noreturn void Mma_Thread(tMma *env) {
// Инициализация периферийных интерфейсов // Инициализация периферийных интерфейсов
@ -50,8 +97,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
can_rx_message_type frame_data; can_rx_message_type frame_data;
uint32_t step = 0; uint32_t step = 0;
int16_t temp1 = 0;
int16_t temp2 = 0;
if (RGM_SRS_WAKEUP_MASK == (RGM->SRS & RGM_SRS_WAKEUP_MASK)) { if (RGM_SRS_WAKEUP_MASK == (RGM->SRS & RGM_SRS_WAKEUP_MASK)) {
LoggerInfoStatic(LOGGER, LOG_TASK_ARB, "Wake up from standby") LoggerInfoStatic(LOGGER, LOG_TASK_ARB, "Wake up from standby")
@ -59,7 +105,9 @@ static _Noreturn void Mma_Thread(tMma *env) {
SystemDelayMs(1000); SystemDelayMs(1000);
// ModelTask_StartThread(&env->ModelTask); LoadDataInFromModel(env);
ModelTask_StartThread(&env->ModelTask);
/* /*
@ -76,7 +124,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
env->pwms->pwmIo.run(env->pwms->pwmIo.env); env->pwms->pwmIo.run(env->pwms->pwmIo.env);
for (;;) { for (;;) {
/*
env->pwms->pwmIo.setActivePercent(env->pwms->pwmIo.env, 77); env->pwms->pwmIo.setActivePercent(env->pwms->pwmIo.env, 77);
SystemDelayMs(10); SystemDelayMs(10);
uint8_t pwm = env->pwms->pwmCaptureIO.getPwm(env->pwms->pwmCaptureIO.env); uint8_t pwm = env->pwms->pwmCaptureIO.getPwm(env->pwms->pwmCaptureIO.env);
@ -87,19 +135,9 @@ static _Noreturn void Mma_Thread(tMma *env) {
pwm = env->pwms->pwmCaptureIO.getPwm(env->pwms->pwmCaptureIO.env); pwm = env->pwms->pwmCaptureIO.getPwm(env->pwms->pwmCaptureIO.env);
//LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM = %d", pwm) //LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM = %d", pwm)
*/
LoadDataInFromModel(env);
/* /*

View File

@ -77,8 +77,11 @@ typedef struct {
osThreadAttr_t attr; osThreadAttr_t attr;
} thread; } thread;
ExtU rtU_local; // ExtU rtU_local;
ExtY rtY_local; // ExtY rtY_local;
DW rtDW;
CCU_Errors_t CCU_Errors;
bool isActuatorWorkBusy; bool isActuatorWorkBusy;