Обновление

This commit is contained in:
cfif 2026-04-16 16:41:24 +03:00
parent 4b56312fc8
commit a11a8a2f6f
2 changed files with 3 additions and 188 deletions

View File

@ -389,7 +389,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
&env->ModelTask.triggerActuatorCmdBus_1,
&env->actuator_Ch0_Input_Model_local_1,
&Actuator_Ch0_Status_Model, &env->ModelTask.triggerCommand1, "Ln1 ");
/*
LinActuatorWork(env, &env->linTaskActuator2,
&env->actuator_Ch1_Command_Model_local_2,
&env->ModelTask.triggerActuatorCmdBus_2,
@ -401,7 +401,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
&env->ModelTask.triggerActuatorCmdBus_3,
&env->actuator_Ch2_Input_Model_local_3,
&Actuator_Ch2_Status_Model, &env->ModelTask.triggerCommand3, "Ln3 ");
*/
SystemDelayMs(50);
@ -429,191 +429,6 @@ static _Noreturn void Mma_Thread(tMma *env) {
}
*/
/*
uint8_t local[9];
tLinTaskActuator *linTaskActuator = &env->linTaskActuator3;
if (osMutexAcquire(linTaskActuator->access, 5000) == osOK) {
if ((linTaskActuator->linCommandActuator[0].COM == LIN_ACT_CFR_SUCCESSFUL) ||
(linTaskActuator->linCommandActuator[0].COM == LIN_ACT_CFR_NONE)) {
busy = true;
}
if (busy == true) {
busy = false;
switch (step) {
case 0: {
resetStall(linTaskActuator, local, LOG_TASK_ARB);
linTaskActuator->linCommandActuator[0].COM = LIN_ACT_CFR_MOD;
linTaskActuator->linCommandActuator[0].BUS_ADR = 0;
linTaskActuator->linCommandActuator[0].MODE = LIN_MODE_STOP;
++step;
break;
}
case 1: {
resetStall(linTaskActuator, local,LOG_TASK_ARB);
linTaskActuator->linCommandActuator[0].COM = LIN_ACT_CFR_INI;
linTaskActuator->linCommandActuator[0].BUS_ADR = 0;
linTaskActuator->linCommandActuator[0].POS = 2000;
++step;
break;
}
case 2: {
resetStall(linTaskActuator, local,LOG_TASK_ARB);
linTaskActuator->linCommandActuator[0].COM = LIN_ACT_CFR_MOD;
linTaskActuator->linCommandActuator[0].BUS_ADR = 0;
linTaskActuator->linCommandActuator[0].MODE = LIN_MODE_NORMAL;
++step;
break;
}
case 3: {
resetStall(linTaskActuator, local,LOG_TASK_ARB);
linTaskActuator->linCommandActuator[0].COM = LIN_ACT_CFR_SET;
linTaskActuator->linCommandActuator[0].BUS_ADR = 0;
linTaskActuator->linCommandActuator[0].POS = 0;
linTaskActuator->linCommandActuator[0].Stall_SET = 1;
linTaskActuator->linCommandActuator[0].Lnoise_SET = 0;
linTaskActuator->linCommandActuator[0].Autos_SET = 1;
linTaskActuator->linCommandActuator[0].Speed_SET = 3;
linTaskActuator->linCommandActuator[0].Coils_Stop_SET = 0;
++step;
break;
}
case 4: {
//SystemDelayMs(10000);
for (uint32_t i = 0; i < 100; ++i) {
// if (osMutexAcquire(env->adcTask1.access, 1000) == osOK) {
// if (env->adcTask1.ADC_isUpdate) {
// env->adcTask1.ADC_isUpdate = false;
// VN7008AJ(env, "VN7008AJ_FrontLINActuatorPowerDriverAB",
// env->adcTask1.ADC1_Data.VN7008AJ_FrontLINActuatorPowerDriverAB);
// }
// osMutexRelease(env->adcTask1.access);
// }
SystemDelayMs(100);
}
asm("nop");
++step;
//if (linTaskActuator->linStateActuator[7].CPOS_ALL == 0) {
// ++step;
//}
break;
}
case 5: {
resetStall(linTaskActuator, local,LOG_TASK_ARB);
linTaskActuator->linCommandActuator[0].COM = LIN_ACT_CFR_MOD;
linTaskActuator->linCommandActuator[0].BUS_ADR = 0;
linTaskActuator->linCommandActuator[0].MODE = LIN_MODE_STOP;
++step;
break;
}
case 6: {
resetStall(linTaskActuator, local,LOG_TASK_ARB);
linTaskActuator->linCommandActuator[0].COM = LIN_ACT_CFR_INI;
linTaskActuator->linCommandActuator[0].BUS_ADR = 0;
linTaskActuator->linCommandActuator[0].POS = 0;
++step;
break;
}
case 7: {
resetStall(linTaskActuator, local,LOG_TASK_ARB);
linTaskActuator->linCommandActuator[0].COM = LIN_ACT_CFR_MOD;
linTaskActuator->linCommandActuator[0].BUS_ADR = 0;
linTaskActuator->linCommandActuator[0].MODE = LIN_MODE_NORMAL;
++step;
break;
}
case 8: {
resetStall(linTaskActuator, local,LOG_TASK_ARB);
linTaskActuator->linCommandActuator[0].COM = LIN_ACT_CFR_SET;
linTaskActuator->linCommandActuator[0].BUS_ADR = 0;
linTaskActuator->linCommandActuator[0].POS = 2000;
linTaskActuator->linCommandActuator[0].Stall_SET = 1;
linTaskActuator->linCommandActuator[0].Lnoise_SET = 0;
linTaskActuator->linCommandActuator[0].Autos_SET = 1;
linTaskActuator->linCommandActuator[0].Speed_SET = 3;
linTaskActuator->linCommandActuator[0].Coils_Stop_SET = 0;
++step;
break;
}
case 9: {
//SystemDelayMs(10000);
for (uint32_t i = 0; i < 100; ++i) {
// if (osMutexAcquire(env->adcTask1.access, 1000) == osOK) {
// if (env->adcTask1.ADC_isUpdate) {
// env->adcTask1.ADC_isUpdate = false;
// VN7008AJ(env, "VN7008AJ_FrontLINActuatorPowerDriverAB",
// env->adcTask1.ADC1_Data.VN7008AJ_FrontLINActuatorPowerDriverAB);
// }
// osMutexRelease(env->adcTask1.access);
// }
SystemDelayMs(100);
}
asm("nop");
++step;
//if (linTaskActuator->linStateActuator[7].CPOS_ALL >= 6000) {
// ++step;
//}
break;
}
case 10: {
step = 0;
break;
}
default: {
}
}
}
osMutexRelease(linTaskActuator->access);
}
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "Step = %d", step)
*/
/*
frame_data.id_type = FLEXCAN_ID_STD;
frame_data.dlc = 1;

View File

@ -129,7 +129,7 @@ static void Mma_InitSubSystems(tMma *env) {
CanSpamTransmitter_StartThread(&env->canSpamTransmitter);
tLinData *linData1 = Lin1_Init(GetLin123CallbackHandler);
Lin_1_Init(&env->linTaskActuator1, linData1, &env->linPorts->lin1_Io, 8, &env->slog.logger);
Lin_1_Init(&env->linTaskActuator1, linData1, &env->linPorts->lin1_Io, 9, &env->slog.logger);
Lin1_StartThread(&env->linTaskActuator1);
tLinData *linData2 = Lin2_Init(GetLin123CallbackHandler);