Обновление
This commit is contained in:
parent
3f6b5f4e00
commit
890f4c2ef5
|
|
@ -39,6 +39,9 @@ void Mma_Init(
|
|||
|
||||
static _Noreturn void Mma_Thread(tMma *env) {
|
||||
|
||||
// Инициализация периферийных интерфейсов
|
||||
InitPeripheralInterfaces();
|
||||
|
||||
// Запуск устройства
|
||||
Mma_InitStage(env);
|
||||
|
||||
|
|
@ -58,14 +61,27 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
|
||||
bool isActuatorWorkBusy = false;
|
||||
|
||||
// env->pwms->pwmIo.run(env->pwms->pwmIo.env);
|
||||
|
||||
// GpioPinSet(&env->gpios->led.LED1, true);
|
||||
// GpioPinSet(&env->gpios->led.LED1, false);
|
||||
|
||||
|
||||
env->pwms->pwmIo.run(env->pwms->pwmIo.env);
|
||||
|
||||
bool busy = true;
|
||||
|
||||
|
||||
for (;;) {
|
||||
|
||||
env->pwms->pwmIo.setActivePercent(env->pwms->pwmIo.env, 77);
|
||||
SystemDelayMs(10);
|
||||
uint8_t pwm = env->pwms->pwmCaptureIO.getPwm(env->pwms->pwmCaptureIO.env);
|
||||
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM = %d", pwm)
|
||||
|
||||
|
||||
env->pwms->pwmIo.setActivePercent(env->pwms->pwmIo.env, 22);
|
||||
SystemDelayMs(10);
|
||||
pwm = env->pwms->pwmCaptureIO.getPwm(env->pwms->pwmCaptureIO.env);
|
||||
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM = %d", pwm)
|
||||
|
||||
if (osMutexAcquire(env->linTaskActuator0.access, 5000) == osOK) {
|
||||
|
||||
|
|
@ -94,13 +110,13 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
env->linTaskActuator0.linCommandActuator[i].Speed_SET = env->rtY_local.Out1.Speed_SET[i];
|
||||
env->linTaskActuator0.linCommandActuator[i].Coils_Stop_SET = env->rtY_local.Out1.Coils_Stop_SET[i];
|
||||
|
||||
env->rtU_local.in_CPOS_ALL_Ch0[i] = (int16_t)env->linTaskActuator0.linStateActuator[i].CPOS_ALL;
|
||||
env->rtU_local.in_Act_Emrf_Slave_Ch0[i] = (int8_t)env->linTaskActuator0.linStateActuator[i].Emrf_Slave;
|
||||
env->rtU_local.in_Mode_Slave_Ch0[i] = (int8_t)env->linTaskActuator0.linStateActuator[i].Mode_Slave;
|
||||
env->rtU_local.in_Act_Err1_Supply_Ch0[i] = (int8_t)env->linTaskActuator0.linStateActuator[i].Error1_Supply_Slave;
|
||||
env->rtU_local.in_Act_Err2_Communication_Ch0[i] = (int8_t)env->linTaskActuator0.linStateActuator[i].Error2_Communication_Slave;
|
||||
env->rtU_local.in_Act_Err3_Temperature_Ch0[i] = (int8_t)env->linTaskActuator0.linStateActuator[i].Error3_Temperature_Slave;
|
||||
env->rtU_local.in_Act_Err4_Permanent_Electrical_Ch0[i] = (int8_t)env->linTaskActuator0.linStateActuator[i].Error4_Permanent_Electrical_Slave;
|
||||
env->rtU_local.in_CPOS_ALL_Ch0[i] = (int16_t) env->linTaskActuator0.linStateActuator[i].CPOS_ALL;
|
||||
env->rtU_local.in_Act_Emrf_Slave_Ch0[i] = (int8_t) env->linTaskActuator0.linStateActuator[i].Emrf_Slave;
|
||||
env->rtU_local.in_Mode_Slave_Ch0[i] = (int8_t) env->linTaskActuator0.linStateActuator[i].Mode_Slave;
|
||||
env->rtU_local.in_Act_Err1_Supply_Ch0[i] = (int8_t) env->linTaskActuator0.linStateActuator[i].Error1_Supply_Slave;
|
||||
env->rtU_local.in_Act_Err2_Communication_Ch0[i] = (int8_t) env->linTaskActuator0.linStateActuator[i].Error2_Communication_Slave;
|
||||
env->rtU_local.in_Act_Err3_Temperature_Ch0[i] = (int8_t) env->linTaskActuator0.linStateActuator[i].Error3_Temperature_Slave;
|
||||
env->rtU_local.in_Act_Err4_Permanent_Electrical_Ch0[i] = (int8_t) env->linTaskActuator0.linStateActuator[i].Error4_Permanent_Electrical_Slave;
|
||||
env->rtU_local.in_Act_Stall_Slave_Ch0[i] = env->linTaskActuator0.linStateActuator[i].Stall_Slave;
|
||||
env->rtU_local.in_Act_Reset_Ch0[i] = env->linTaskActuator0.linStateActuator[i].Reset_Slave;
|
||||
}
|
||||
|
|
@ -133,7 +149,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
isActuatorWorkBusy = true;
|
||||
|
||||
// Сброс STALL в состоянии актуатор и локальном состоянии
|
||||
resetStall(&env->linTaskActuator0, (uint8_t *)env->rtU_local.in_Act_Stall_Slave_Ch0);
|
||||
resetStall(&env->linTaskActuator0, (uint8_t *) env->rtU_local.in_Act_Stall_Slave_Ch0);
|
||||
|
||||
// Копирование команд
|
||||
for (uint8_t i = 0; i < 9; ++i) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue