Обновление
This commit is contained in:
parent
4b56312fc8
commit
a11a8a2f6f
|
|
@ -389,7 +389,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
&env->ModelTask.triggerActuatorCmdBus_1,
|
&env->ModelTask.triggerActuatorCmdBus_1,
|
||||||
&env->actuator_Ch0_Input_Model_local_1,
|
&env->actuator_Ch0_Input_Model_local_1,
|
||||||
&Actuator_Ch0_Status_Model, &env->ModelTask.triggerCommand1, "Ln1 ");
|
&Actuator_Ch0_Status_Model, &env->ModelTask.triggerCommand1, "Ln1 ");
|
||||||
|
/*
|
||||||
LinActuatorWork(env, &env->linTaskActuator2,
|
LinActuatorWork(env, &env->linTaskActuator2,
|
||||||
&env->actuator_Ch1_Command_Model_local_2,
|
&env->actuator_Ch1_Command_Model_local_2,
|
||||||
&env->ModelTask.triggerActuatorCmdBus_2,
|
&env->ModelTask.triggerActuatorCmdBus_2,
|
||||||
|
|
@ -401,7 +401,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
&env->ModelTask.triggerActuatorCmdBus_3,
|
&env->ModelTask.triggerActuatorCmdBus_3,
|
||||||
&env->actuator_Ch2_Input_Model_local_3,
|
&env->actuator_Ch2_Input_Model_local_3,
|
||||||
&Actuator_Ch2_Status_Model, &env->ModelTask.triggerCommand3, "Ln3 ");
|
&Actuator_Ch2_Status_Model, &env->ModelTask.triggerCommand3, "Ln3 ");
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
SystemDelayMs(50);
|
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.id_type = FLEXCAN_ID_STD;
|
||||||
frame_data.dlc = 1;
|
frame_data.dlc = 1;
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,7 @@ static void Mma_InitSubSystems(tMma *env) {
|
||||||
CanSpamTransmitter_StartThread(&env->canSpamTransmitter);
|
CanSpamTransmitter_StartThread(&env->canSpamTransmitter);
|
||||||
|
|
||||||
tLinData *linData1 = Lin1_Init(GetLin123CallbackHandler);
|
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);
|
Lin1_StartThread(&env->linTaskActuator1);
|
||||||
|
|
||||||
tLinData *linData2 = Lin2_Init(GetLin123CallbackHandler);
|
tLinData *linData2 = Lin2_Init(GetLin123CallbackHandler);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue