Обновление после командировки 30.06.2026

This commit is contained in:
cfif 2026-06-30 11:58:59 +03:00
parent 542c456092
commit 110d17df74
2 changed files with 16 additions and 11 deletions

View File

@ -24,6 +24,10 @@ typedef struct {
osMessageQueueId_t q_u32PeriodActiveTime;
uint32_t timeout;
uint8_t percent;
tPwmCaptureData data;
} tPwmCaptureFlagchip;

View File

@ -74,26 +74,27 @@ void PWM_Capture_Initial(
static uint8_t vGetPwm(tPwmCaptureFlagchip *env) {
uint8_t percent = 0;
tPwmCaptureData data;
osStatus_t cPeriodActiveTime = osMessageQueueGet(env->q_u32PeriodActiveTime, &data, 0, 100);
cPeriodActiveTime = osMessageQueueGet(env->q_u32PeriodActiveTime, &data, 0, 100);
osStatus_t cPeriodActiveTime = osMessageQueueGet(env->q_u32PeriodActiveTime, &env->data, 0, 0);
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 - Отключен
if (percent == 100) {
percent = 0;
if (env->percent == 100) {
env->percent = 0;
}
return percent;
return env->percent;
}
tPwmCaptureIO vPwmCaptureGetIo(tPwmCaptureFlagchip *env) {