Обновление

This commit is contained in:
cfif 2025-12-12 16:21:37 +03:00
parent 00e081d667
commit 8ec7db34b5
1 changed files with 49 additions and 7 deletions

View File

@ -30,8 +30,56 @@ static _Noreturn void Mma_Thread(tMma *env) {
can_rx_message_type frame_data;
uint32_t step = 0;
for (;;) {
if (osMutexAcquire(env->linTaskActuator0.access, 5000) == osOK) {
if (env->linTaskActuator0.linCommandActuator[0].COM == LIN_ACT_CFR_NONE) {
switch (step) {
case 0: {
env->linTaskActuator0.linCommandActuator[0].COM = LIN_ACT_CFR_MOD;
env->linTaskActuator0.linCommandActuator[0].BUS_ADR = 0x20;
env->linTaskActuator0.linCommandActuator[0].MODE = LIN_MODE_STOP;
break;
}
case 1: {
env->linTaskActuator0.linCommandActuator[0].COM = LIN_ACT_CFR_INI;
env->linTaskActuator0.linCommandActuator[0].BUS_ADR = 0x20;
env->linTaskActuator0.linCommandActuator[0].POS = 6000;
break;
}
case 2: {
env->linTaskActuator0.linCommandActuator[0].COM = LIN_ACT_CFR_MOD;
env->linTaskActuator0.linCommandActuator[0].BUS_ADR = 0x20;
env->linTaskActuator0.linCommandActuator[0].MODE = LIN_MODE_NORMAL;
break;
}
case 3: {
env->linTaskActuator0.linCommandActuator[0].COM = LIN_ACT_CFR_SET;
env->linTaskActuator0.linCommandActuator[0].BUS_ADR = 0x20;
env->linTaskActuator0.linCommandActuator[0].POS = 0;
env->linTaskActuator0.linCommandActuator[0].Stall_SET = 1;
env->linTaskActuator0.linCommandActuator[0].Lnoise_SET = 0;
env->linTaskActuator0.linCommandActuator[0].Autos_SET = 1;
env->linTaskActuator0.linCommandActuator[0].Speed_SET = 0;
env->linTaskActuator0.linCommandActuator[0].Coils_Stop_SET = 1;
break;
}
default: {
}
}
++step;
}
osMutexRelease(env->linTaskActuator0.access);
}
/*
uint16_t len = env->canPorts->Can0_IO.receive(env->canPorts->Can0_IO.env, 0, (uint8_t *)&frame_data, 1, 1000);
if (len > 0) {
@ -47,15 +95,9 @@ static _Noreturn void Mma_Thread(tMma *env) {
env->canPorts->Can0_IO.transmit(env->canPorts->Can0_IO.env, frame_data.data, frame_data.dlc, 1000);
}
*/
//uint8_t data[8] = {'1', '2', '3', '4', '5', '6', '7', '8'};
//env->canPorts->Can0_IO.transmit(env->canPorts->Can0_IO.env, data, 8, 0);
// GpioPinSet(&env->gpios->Led.ledR, true);
//SystemDelayMs(500);
// GpioPinSet(&env->gpios->Led.ledR, false);
}
}