Всякие тесты неинтересные
This commit is contained in:
45
README.md
45
README.md
@@ -6,8 +6,8 @@
|
||||
|
||||
- неблокирующий конечный автомат без `pulseIn()` и длинных `delay()`;
|
||||
- общие для оптического и драйверного тестов частота PWM и диапазон импульсов;
|
||||
- четыре рабочих режима: `SOLO OPTICAL`, `SOLO DRIVER` (только S3),
|
||||
`MASTER OPTICAL`, `SLAVE OPTICAL`;
|
||||
- пять рабочих режимов: `SOLO OPTICAL`, `SOLO DRIVER` (только S3),
|
||||
`SOLO PWM`, `MASTER OPTICAL`, `SLAVE OPTICAL`;
|
||||
- настраиваемый для теста драйвера код `HH`, `HL`, `LH`, `LL`; в тесте
|
||||
оптики полярность входного сигнала определяется автоматически;
|
||||
- аппаратные LEDC (C3) и MCPWM (S3) с расчётом реально получившихся частоты и длительности импульса;
|
||||
@@ -40,7 +40,8 @@ Arduino sketch находится в каталоге `OpticalChannelTester`:
|
||||
- `Receiver.*` — MCPWM Capture на S3 / совместимый GPIO fallback;
|
||||
- `Measurement.*` — строгая проверка периодов;
|
||||
- `Protocol.*`, `Radio.*` — ESP-NOW;
|
||||
- `App.*` — общий конечный автомат SOLO/MASTER/SLAVE.
|
||||
- `App.*` — общий конечный автомат SOLO/MASTER/SLAVE;
|
||||
- `SignalProbe.*` — тестовый вариант прошивки PWM/Rx.
|
||||
|
||||
## Требования Arduino IDE
|
||||
|
||||
@@ -187,11 +188,17 @@ MASTER <~~~~ ESP-NOW Wi-Fi channel 6 ~~~~> SLAVE
|
||||
|
||||
В ожидании в группе `ОПТИКА` на S3:
|
||||
|
||||
- MODE short: `SOLO ОПТИКА → SOLO ДРАЙВЕР → MASTER ОПТИКА → SLAVE ОПТИКА`;
|
||||
- MODE short: `SOLO ОПТИКА → SOLO ДРАЙВЕР → SOLO ШИМ → MASTER ОПТИКА → SLAVE ОПТИКА`;
|
||||
- MODE long: открыть настройки;
|
||||
- START short: начать тест;
|
||||
- START long во время теста: ABORT, PWM немедленно выключается.
|
||||
|
||||
На C3 режим `SOLO ДРАЙВЕР` пропускается. В `SOLO ШИМ` выход непрерывно выдаёт
|
||||
выбранную частоту и длительность импульса без проверки Rx. Частота задаётся
|
||||
пунктом `ЧАСТОТА ШИМ`, длительность — пунктом `ИМПУЛЬС ШИМ` (общим с
|
||||
`МАКС. ИМПУЛЬС` остальных режимов). Удержание START или команда `stop` в
|
||||
Serial выключает выход.
|
||||
|
||||
В ожидании в группе `ПЛАТА`:
|
||||
|
||||
- MODE short для аналоговой платы: `АЦП ↔ ШИМ ВЫХОД`;
|
||||
@@ -256,6 +263,36 @@ START и MODE будят устройство. Первое, пробуждаю
|
||||
5. время выборки.
|
||||
6. код света `HH`, `HL`, `LH`, `LL` — только для теста драйвера.
|
||||
|
||||
В `SOLO ШИМ` меню показывает только частоту и длительность одного импульса.
|
||||
|
||||
### Тестовая прошивка PWM/Rx
|
||||
|
||||
Для отдельной проверки сигнала раскомментируйте `#define SIGNAL_PROBE_FIRMWARE`
|
||||
в `OpticalChannelTester/Config.h` и загрузите тот же скетч. Эта прошивка
|
||||
при включённом выходе выдаёт выбранный PWM на `GPIO_PWM` и независимо измеряет на
|
||||
`GPIO_RX` минимальную длительность активного импульса и число пойманных
|
||||
импульсов. Начальный активный уровень входа задаёт `RX_LIGHT_ON_GPIO_LEVEL`.
|
||||
Результат показывается на OLED и в Serial
|
||||
115200; при отсутствии OLED достаточно Serial.
|
||||
|
||||
- MODE коротко: следующая частота из `PWM_FREQUENCY_OPTIONS_HZ`;
|
||||
- MODE удержать: следующая длительность из `MAX_PULSE_OPTIONS_NS`;
|
||||
- START коротко: сбросить найденный минимум и начать измерение заново;
|
||||
- START удержать: выключить или включить PWM;
|
||||
- START и MODE удержать вместе: переключить активный уровень Rx между HIGH и
|
||||
LOW и сбросить накопленные измерения.
|
||||
|
||||
Верхняя строка OLED показывает частоту и длительность импульса PWM; `OFF`
|
||||
означает выключенный выход. Буква `H` или `L` справа показывает текущий
|
||||
активный уровень Rx. Нижняя строка показывает минимум и число пойманных
|
||||
импульсов.
|
||||
|
||||
Значения, при которых импульс не помещается в период, пропускаются. В статистику
|
||||
Rx попадают только полные периоды выбранной частоты; число фронтов и отброшенных
|
||||
периодов видно на экране, пока подходящие импульсы не найдены. Изменение PWM
|
||||
сбрасывает накопленные измерения. Для возврата к обычному тестеру закомментируйте
|
||||
`SIGNAL_PROBE_FIRMWARE` и загрузите скетч снова.
|
||||
|
||||
Экран активного уровня:
|
||||
|
||||
```text
|
||||
|
||||
Reference in New Issue
Block a user