led and rc

This commit is contained in:
2024-09-30 00:26:00 +03:00
parent 7095a09a1d
commit 6c3af6fbb5
15 changed files with 634 additions and 221 deletions

View File

@ -3,6 +3,7 @@
#include "SimpleTimer.h"
#include "ShiftReg.h"
#include "Print.h"
#include "Indicator.h"
#define IR_Timeout 137
#define ResetInputProgerss_Timeout 2500
@ -62,6 +63,12 @@ void IR_CMD_Handler() {
}
if (inputInProgerss && (millis() - inputInProgerss_timer > ResetInputProgerss_Timeout)) {
IR_CMD_Clear();
uint8_t blinkPeriod = 25;
for (int i = 9; i <= 10; ++i) {
led_blink_num(i, blinkPeriod, 4);
}
}
// cmd handler
@ -80,6 +87,14 @@ void IR_CMD_Handler() {
holdStartTime = millis(); // Запоминаем время начала удержания
lastRepeatTime = holdStartTime; // Инициализируем таймер повторного вызова
currentRepeatTime = InitialRepeatTime; // Сбрасываем интервал повторного вызова
uint8_t blinkPeriod = 75;
led_blink_num(19, blinkPeriod, 1);
led_blink_num(18, blinkPeriod, 1);
led_blink_num(17, blinkPeriod, 1);
led_blink_num(2, blinkPeriod, 1);
led_blink_num(1, blinkPeriod, 1);
led_blink_num(0, blinkPeriod, 1);
}
memcpy(&old_data, &data, sizeof(IRData));
} else {
@ -87,6 +102,10 @@ void IR_CMD_Handler() {
if (millis() - holdStartTime > HoldTime) { // Если кнопка удерживается дольше HoldTime
if (millis() - lastRepeatTime > currentRepeatTime) { // Если прошло достаточно времени для повторного вызова
lastRepeatTime = millis(); // Обновляем время последнего вызова
// uint8_t blinkPeriod = 10;
led_writeMirror(9, 1);
onHoldRepeat(); // Вызываем функцию при удержании
// Уменьшаем интервал до минимального значения