Обновление после командировки 30.06.2026
This commit is contained in:
parent
542c456092
commit
110d17df74
|
|
@ -24,6 +24,10 @@ typedef struct {
|
||||||
|
|
||||||
osMessageQueueId_t q_u32PeriodActiveTime;
|
osMessageQueueId_t q_u32PeriodActiveTime;
|
||||||
|
|
||||||
|
uint32_t timeout;
|
||||||
|
uint8_t percent;
|
||||||
|
tPwmCaptureData data;
|
||||||
|
|
||||||
} tPwmCaptureFlagchip;
|
} tPwmCaptureFlagchip;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -74,26 +74,27 @@ void PWM_Capture_Initial(
|
||||||
|
|
||||||
static uint8_t vGetPwm(tPwmCaptureFlagchip *env) {
|
static uint8_t vGetPwm(tPwmCaptureFlagchip *env) {
|
||||||
|
|
||||||
uint8_t percent = 0;
|
osStatus_t cPeriodActiveTime = osMessageQueueGet(env->q_u32PeriodActiveTime, &env->data, 0, 0);
|
||||||
|
|
||||||
tPwmCaptureData data;
|
|
||||||
|
|
||||||
osStatus_t cPeriodActiveTime = osMessageQueueGet(env->q_u32PeriodActiveTime, &data, 0, 100);
|
|
||||||
cPeriodActiveTime = osMessageQueueGet(env->q_u32PeriodActiveTime, &data, 0, 100);
|
|
||||||
|
|
||||||
if (cPeriodActiveTime == osOK) {
|
if (cPeriodActiveTime == osOK) {
|
||||||
percent = data.ActiveTime * 100 / data.PeriodTime;
|
env->timeout = SystemGetMs() + 1000;
|
||||||
|
|
||||||
|
env->percent = env->data.ActiveTime * 100 / env->data.PeriodTime;
|
||||||
|
|
||||||
// Инверсия для отображения
|
// Инверсия для отображения
|
||||||
percent = 100 - percent;
|
env->percent = 100 - env->percent;
|
||||||
|
} else {
|
||||||
|
if (env->timeout < SystemGetMs()) {
|
||||||
|
env->percent = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// PWM - Отключен
|
// PWM - Отключен
|
||||||
if (percent == 100) {
|
if (env->percent == 100) {
|
||||||
percent = 0;
|
env->percent = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return percent;
|
return env->percent;
|
||||||
}
|
}
|
||||||
|
|
||||||
tPwmCaptureIO vPwmCaptureGetIo(tPwmCaptureFlagchip *env) {
|
tPwmCaptureIO vPwmCaptureGetIo(tPwmCaptureFlagchip *env) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue