rotator_control_code
Различия
Показаны различия между двумя версиями страницы.
| rotator_control_code [2026/01/27 17:03] – создано eu8t | rotator_control_code [2026/01/27 17:24] (текущий) – eu8t | ||
|---|---|---|---|
| Строка 3: | Строка 3: | ||
| < | < | ||
| /* | /* | ||
| - | EW8ZO Rotator Controller v3.45 | + | EW8ZO Rotator Controller v3.47 |
| | | ||
| === ОСНОВНЫЕ ФУНКЦИИ === | === ОСНОВНЫЕ ФУНКЦИИ === | ||
| Строка 36: | Строка 36: | ||
| | | ||
| === ПОСЛЕДНИЕ ИЗМЕНЕНИЯ === | === ПОСЛЕДНИЕ ИЗМЕНЕНИЯ === | ||
| + | - v3.47: Унифицирована логика overlap (градусы вместо импульсов) | ||
| + | - v3.46: Исправлена логика South overlap (<= 180 вместо < 180) | ||
| - v3.45: Исправлен выход из Change CPR в NORMAL mode | - v3.45: Исправлен выход из Change CPR в NORMAL mode | ||
| - v3.44: Добавлен пункт меню Change CPR для ручной настройки CPR | - v3.44: Добавлен пункт меню Change CPR для ручной настройки CPR | ||
| Строка 44: | Строка 46: | ||
| - v3.39: Исправлено сохранение chase-mode в EEPROM | - v3.39: Исправлено сохранение chase-mode в EEPROM | ||
| - v3.38: Добавлен toggle chase-mode через энкодер в меню | - v3.38: Добавлен toggle chase-mode через энкодер в меню | ||
| - | - v3.37: Исправлена логика сохранения chase-mode | ||
| - | - v3.36: Добавлена поддержка chase-mode (real-time tracking) | ||
| */ | */ | ||
| #include < | #include < | ||
| Строка 73: | Строка 73: | ||
| const unsigned long SPLASH_MS = 2000; | const unsigned long SPLASH_MS = 2000; | ||
| const unsigned long SAVE_DEDUP_MS = 1500; | const unsigned long SAVE_DEDUP_MS = 1500; | ||
| - | const char* FW_VERSION = "3.45"; | + | const char* FW_VERSION = "3.47"; |
| | | ||
| // EEPROM | // EEPROM | ||
| Строка 436: | Строка 436: | ||
| if (overlapMode == 0) { | if (overlapMode == 0) { | ||
| if (dirShort > 0) { | if (dirShort > 0) { | ||
| - | if (cur > tgt) return -1; | + | |
| + | | ||
| } else { | } else { | ||
| - | if (cur < tgt) return +1; | + | |
| + | | ||
| } | } | ||
| return dirShort; | return dirShort; | ||
| Строка 446: | Строка 448: | ||
| if (overlapMode == 1) { | if (overlapMode == 1) { | ||
| if (dirShort > 0) { | if (dirShort > 0) { | ||
| - | if (curAz < 180 && tgtAz > 180) return -1; | + | |
| + | | ||
| } else { | } else { | ||
| - | if (curAz > 180 && tgtAz < 180) return +1; | + | |
| + | | ||
| } | } | ||
| return dirShort; | return dirShort; | ||
| Строка 602: | Строка 606: | ||
| unsigned long now = micros(); | unsigned long now = micros(); | ||
| | | ||
| - | // Фильтр дребезга | + | // Фильтр дребезга |
| - | if (now - lastUs < 3000) return; | + | if (now - lastUs < 20000) return; |
| unsigned long delta = now - lastUs; | unsigned long delta = now - lastUs; | ||
| lastUs = now; | lastUs = now; | ||
| Строка 1572: | Строка 1576: | ||
| | | ||
| } | } | ||
| - | |||
| </ | </ | ||
rotator_control_code.1769522636.txt.gz · Последнее изменение: — eu8t
