Перезапускать импульс светодиода при каждом приёме пакета
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
| `OFF` / `ON` | постоянно выключен / включён |
|
||||
| `STARTUP` | три коротких импульса, затем постоянно включён |
|
||||
| `WORK` | 100 мс включён, 900 мс выключен |
|
||||
| `ACTIVITY` | 50/50 мс |
|
||||
| `ACTIVITY` | один цикл: 100 мс включён, 900 мс выключен, затем остаётся выключенным |
|
||||
| `WARNING` | 250/250 мс |
|
||||
| `ERROR` | два импульса и пауза |
|
||||
| `CRITICAL` | три импульса и пауза |
|
||||
@@ -86,6 +86,20 @@ for (;;) {
|
||||
не начинает рисунок заново. Для нового импульса события служит
|
||||
`LedIndicator_RestartMode`.
|
||||
|
||||
Для индикации приёма вызывайте `LedIndicator_TriggerActivity` либо
|
||||
`LedIndicator_TriggerActivityAt` на каждый принятый пакет. Свечение занимает
|
||||
10% секундного цикла: 100 мс включён и 900 мс выключен. Новый приём немедленно
|
||||
перезапускает фазу свечения, даже внутри предыдущего импульса или паузы;
|
||||
очереди циклов нет. При интервалах между пакетами меньше 100 мс LED может
|
||||
гореть непрерывно до истечения 100 мс после последнего пакета. Без нового
|
||||
события `ACTIVITY` не повторяется. Настраиваемая таблица `patterns` по-прежнему
|
||||
позволяет изменить длительности и повторение для других применений.
|
||||
|
||||
```c
|
||||
LedIndicator_TriggerActivityAt(&led, 0U, received_ms); /* Каждый приём запускает цикл канала 0 от миллисекундной метки события. */
|
||||
LedIndicator_ProcessAt(&led, now_ms); /* Главный цикл обслуживает окончание свечения без задержек и ожидания следующего пакета. */
|
||||
```
|
||||
|
||||
## STM32F103, STM32F4, STM32G431 и STM32G474
|
||||
|
||||
Порт `ports/stm32-hal` принимает конкретный `TIM_HandleTypeDef *`; библиотека
|
||||
|
||||
Reference in New Issue
Block a user