Commit as of 2026-01-26 16:43:04 by Dis_Bro (Данил)
This commit is contained in:
parent
5ae1848a9b
commit
20a48ebca3
@ -19,31 +19,31 @@
|
||||
|
||||
# Команды
|
||||
|
||||
| Команда | Назначение |
|
||||
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| 00 | Перезагрузить контроллер (RESET) |
|
||||
| 02 | Подготовиться к приему файла. освободить место, отформатировать встроенную файловую, проверить хватит ли места. <br>_**Например**_, `02356987` - заявка на файл обновления размером 356987 байт.<br>Выполняется около 15 секунд, после чего весь прием данных в порту заносится в файл "update.bin".<br>Ответ при приеме файла - каждый блок (4096) - размер принятого.<br>По окончании - переход снова в режим команд (подробнее – [[#Обновление]]). |
|
||||
| 03 | Показать содержимое SPIFFS |
|
||||
| 04 | Запустить ОТА обновление с ранее записанным файлом SPIFFS: `/update.bin` |
|
||||
| 05 | Показать версию прошивки (указана в дефолтах) |
|
||||
| 06 | Показать MAC-адрес (без двоеточий, как в оригинале), уникальный, можно считать серийным номером |
|
||||
| 07 | Безопасность (авторизация, в процессе, двойное рукопожатие) |
|
||||
| 08 | Безопасность (авторизация, в процессе) |
|
||||
| 09 | Сброс EEPROM (параметром - MAC без двоеточий, иначе не сбросится) |
|
||||
| 10 | Подтверждение принятия сигнала COIN, иначе этот сигнал будет посылаться снова с периодичностью `200 мс` (сколько приняли койнов, столько и подтверждений быть должно) |
|
||||
| 20X | Установить состояние выходов - всего выходов 8, давать их двоичное состояние.<br>_**Например**_, `203` - вывести 1 и 2 выходы по единичке, остальные - нолики. Соответственно, выход на разъеме будет "прижат" к земле. |
|
||||
| 21XY | Установить состояние выхода номер Х в -> Y \[0,1,2(инверсия)\].<br>_**Примеры:**_<br>`2131` - Включить 3 по индексу выход<br>`2170` - Выключить 7 по индексу выход |
|
||||
| 30X | Хоппер 1.<br>`301` - Включить мотор хоппера<br>`300` - Выключить мотор хоппера<br>`309` - Выдать приз (в авторежиме[^1]) |
|
||||
| 40X | Хоппер 2.<br>Аналогично |
|
||||
| 80X | Выбор программы адресных диодов.<br>Программа зависит от автомата и не может быть унифицирована. Именно для этого требуется обновление прошивки контроллера.<br>Кроме, пожалуй (считать тестовыми, остальное добавлять по вкусу):<br>- 0: Ничего не выводить в канал<br>- 1: Погасить (выводить нолики на всю длину)<br>- 2: Выводить ЛГБТ переливы<br>- 3: Выводить статичный белый |
|
||||
| 81XY | Задать скважность PWM канала номер Х в -> Y (`0..99`; по умолчанию включен на `PWM1` ) |
|
||||
| 90 | Очистить очередь команд |
|
||||
| 91 | Запрос состояния цифровых входов, их всего 24(+2 входа хоппера), ответ в двоичном коде.<br>Для уменьшения объема передаваемой информации, преобразуется в десятичное число<br>_**Примеры:**_<br>`INPUT67108863` (`11111111111111111111111111`) - все кнопки не нажаты<br>`INPUT67108861` (`11111111111111111111111101`) - нажата вторая кнопка |
|
||||
| 91X | _Дополнительно_: задать время антидребезга платы (`10..100`; по умолчанию установлено на 50 мс)<br>_**Например**_, 9110 - Установить антидребезг на 10 мс |
|
||||
| 92 | Запрос значения аналоговых входов **(отключает автовывод)** - ответ в формате `ADC0,0,0,0`.<br>Всего 4 аналоговых входа |
|
||||
| 92X | Периодический автовывод значений аналоговых входов.<br>_**Например**_, `92100` - каждые 100 милисекунд выдавать значения ADC (`50..5000`) |
|
||||
| 93 | Запрос `global_summa` (число коинов, нестираемо) |
|
||||
| 99 | Запрос статуса |
|
||||
| Команда | Назначение |
|
||||
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 00 | Перезагрузить контроллер (RESET) |
|
||||
| 02 | Подготовиться к приему файла. освободить место, отформатировать встроенную файловую, проверить хватит ли места. <br>_**Например**_, `02356987` - заявка на файл обновления размером 356987 байт.<br>Выполняется около 15 секунд, после чего весь прием данных в порту заносится в файл "update.bin".<br>Ответ при приеме файла - каждый блок (4096) - размер принятого.<br>По окончании - переход снова в режим команд (подробнее – [Обновление](#Обновление)). |
|
||||
| 03 | Показать содержимое SPIFFS |
|
||||
| 04 | Запустить ОТА обновление с ранее записанным файлом SPIFFS: `/update.bin` |
|
||||
| 05 | Показать версию прошивки (указана в дефолтах) |
|
||||
| 06 | Показать MAC-адрес (без двоеточий, как в оригинале), уникальный, можно считать серийным номером |
|
||||
| 07 | Безопасность (авторизация, в процессе, двойное рукопожатие) |
|
||||
| 08 | Безопасность (авторизация, в процессе) |
|
||||
| 09 | Сброс EEPROM (параметром - MAC без двоеточий, иначе не сбросится) |
|
||||
| 10 | Подтверждение принятия сигнала COIN, иначе этот сигнал будет посылаться снова с периодичностью `200 мс` (сколько приняли койнов, столько и подтверждений быть должно) |
|
||||
| 20X | Установить состояние выходов - всего выходов 8, давать их двоичное состояние.<br>_**Например**_, `203` - вывести 1 и 2 выходы по единичке, остальные - нолики. Соответственно, выход на разъеме будет "прижат" к земле. |
|
||||
| 21XY | Установить состояние выхода номер Х в -> Y \[0,1,2(инверсия)\].<br>_**Примеры:**_<br>`2131` - Включить 3 по индексу выход<br>`2170` - Выключить 7 по индексу выход |
|
||||
| 30X | Хоппер 1.<br>`301` - Включить мотор хоппера<br>`300` - Выключить мотор хоппера<br>`309` - Выдать приз (в авторежиме[^1]) |
|
||||
| 40X | Хоппер 2.<br>Аналогично |
|
||||
| 80X | Выбор программы адресных диодов.<br>Программа зависит от автомата и не может быть унифицирована. Именно для этого требуется обновление прошивки контроллера.<br>Кроме, пожалуй (считать тестовыми, остальное добавлять по вкусу):<br>- 0: Ничего не выводить в канал<br>- 1: Погасить (выводить нолики на всю длину)<br>- 2: Выводить ЛГБТ переливы<br>- 3: Выводить статичный белый |
|
||||
| 81XY | Задать скважность PWM канала номер Х в -> Y (`0..99`; по умолчанию включен на `PWM1` ) |
|
||||
| 90 | Очистить очередь команд |
|
||||
| 91 | Запрос состояния цифровых входов, их всего 24(+2 входа хоппера), ответ в двоичном коде.<br>Для уменьшения объема передаваемой информации, преобразуется в десятичное число<br>_**Примеры:**_<br>`INPUT67108863` (`11111111111111111111111111`) - все кнопки не нажаты<br>`INPUT67108861` (`11111111111111111111111101`) - нажата вторая кнопка |
|
||||
| 91X | _Дополнительно_: задать время антидребезга платы (`10..100`; по умолчанию установлено на 50 мс)<br>_**Например**_, 9110 - Установить антидребезг на 10 мс |
|
||||
| 92 | Запрос значения аналоговых входов **(отключает автовывод)** - ответ в формате `ADC0,0,0,0`.<br>Всего 4 аналоговых входа |
|
||||
| 92X | Периодический автовывод значений аналоговых входов.<br>_**Например**_, `92100` - каждые 100 милисекунд выдавать значения ADC (`50..5000`) |
|
||||
| 93 | Запрос `global_summa` (число коинов, нестираемо) |
|
||||
| 99 | Запрос статуса |
|
||||
|
||||
[^1]: Авторежим: если датчик в закрытом состоянии - на полсекунды включить мотор, ждать сработки датчика либо таймаута. Если таймаут - выдать сообщение "HOPPER1 ERROR" и наглухо повесить процесс хоппера до перезагрузки. Иначе - сообщение "HOPPER1 OK"
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user