Схема v9.1 Статичные лучи

Аппаратная поддержка
Передатчик (лазер)
| Параметры | Управление | Функция | | ——– | ——– | ——– | | +4v 0.6A | passive | Pwr | | GND | D | Pwr |
Приёмник (сенсор)
| Параметры | Управление | Функция | | ——– | ——– | ——– | | INPUT PU +3.3v (24kΩ) | I | Значение освещенности | | GND | passive | Pwr |
Программная поддержка
Режимы работы
| Режим луча | Свечение | Отслеживание |
|---|---|---|
| 0 | - | - |
| 1 | Вкл. | Вкл. |
| 2 | Вкл. | - |
Алгоритм калибровки
см. Калибровка статичных лучей
Причины выключения лазера
| Причина | Информирующее событие |
|---|---|
| Команда с сервера | - |
| Начало/конец калибровки | calibration_finished2 |
| Завершение игры | - |
| Пересечение луча | beam_crossed scan-result |
| Потеря связи с сервером | - |
| Луч работает в режиме мигания | - |
| Конец сканирования комнаты | scan-result |
Причины непересекаемости лазера
- Лазер работает во 2 режиме
- Запущена калибровка
- Низкая чувствительность
- Высокий уровень засветки сенсора сторонними источниками
- Не пришел hstate с флагом is_play=1
- Зависание контроллера
- Лазер светит не в свой фотоприёмник
- Пересечение луча произошло в первые 150мс после включения
- Луч уже был пересечен и неправильно восстановился/зажегся (ошибка прошивки)
События
Входящие
| Событие | Данные | Описание |
|---|---|---|
| setBeam | id: int - логический номер луча value: int - режим работыint: int - интервал моргания(ms)off: int- задержка выполнения (ms) |
Управление лучами |
| setSensetiv | int 10-99 |
Настройка чувствительности |
| editDef | Sensetiv: int 20-99 - ЧувствительностьMinMS: int 50-3900 - Минимальное светлое значение |
Конфиг. калибровки |
| start-game | Начало игры | |
| end-game | Конец игры | |
| scan-room | val: - 0. Остановить - 1. Запустить time: int- время сканирования (ms) |
Сканирование комнаты |
| calibration | Начало калибровки | |
| moving-status-server | Запрос текущей информации | |
| hstate | is_play: 1 | Начало отслеживания пересечений |
Исходящие
| Событие | Данные | Инициатор | Описание |
|---|---|---|---|
hw.id: int - логический номер платы |
Конец калибровки | Результаты калибровки | |
| Завершение замера | Результаты КТ | ||
Sensetiv: int - чувствительностьMinMS: int - мин. светлое состояниеMinLDiff: int - мин. разница свет-тьма |
Запрос с сервера | Текущее состояние | |
| Пересечение луча | Результат сканирования комнаты | ||
| Пересечение луча | Сообщение о задевании луча |
Выявленные баги
TODO
Posts
subscribe via RSS