- ответ CLI показывался строкой поверх экрана и сливался с содержимым, особенно в верхней части (например OK - reboot to apply на экране частоты) - теперь это модальное окно: рамка, свой фон, перенос текста и кнопка OK; закрывается коротким нажатием, пока открыто — экран под ним не меняется - окно показывается сразу (сброс таймера отрисовки), при закрытии экран перерисовывается немедленно - setToast/renderToast заменены на showPopup/renderPopup - документация: posadmesh-docs/device-setup.md (раздел «Всплывающие сообщения» и макет экрана), README — журнал изменений Проверено сборкой: heltec_v4_repeater_mqtt, Meshadventurer_sx1262_repeater_mqtt, Generic_E22_sx1262_repeater_mqtt (без дисплея)
13 KiB
Настройка с дисплея и кнопки
Мастер настройки работает прямо на репитере: не нужен ни компьютер, ни телефон. Он доступен на любой плате, у которой есть дисплей и кнопка, и отсутствует на платах без дисплея — там настройка выполняется через последовательный CLI или веб-панель.
Та же страница с теми же иллюстрациями есть в вики проекта: https://git.meshinfo.ru/shade/MeshCore-Posadmesh/wiki/Device-Setup.
Как войти и выйти
| Действие | Результат |
|---|---|
| Двойное нажатие на экране состояния | вход в мастер (меню Setup) |
| Длинное нажатие на экране состояния | выключение питания узла |
Пункт Save & exit внизу меню |
выход из мастера, радиопараметры применяются |
Если узел прошит «с нуля» и ещё не имеет имени, мастер открывается сам после заставки.
| Экран состояния | Меню, начало списка | Меню, радиопункты и выход |
|---|---|---|
![]() |
![]() |
![]() |
Что настраивается
Мастер меняет только то, что нужно для быстрого ввода узла в сеть:
| Пункт меню | Что делает | Команда CLI |
|---|---|---|
Coordinates |
широта и долгота узла | set lat, set lon |
Frequency |
частота: целые МГц шагом 1, кГц — по разрядам | set radio |
Bandwidth |
полоса, поразрядно | set radio |
CR |
coding rate, 5–8 | set radio |
SF |
spreading factor, 5–12 | set radio |
TX power |
мощность передатчика, 1–30 дБм | set tx |
Battery |
напряжение, процент заряда и текущий множитель ADC — только просмотр | get battery, get adc.multiplier |
ADC |
множитель ADC для калибровки измерения батареи (0.00 — заводское значение платы) | set adc.multiplier |
Repeat |
пересылка пакетов включена или выключена | set repeat |
Path hash |
размер хэша пути: 0, 1 или 2 байта | set path.hash.mode |
Advert int |
интервал advert в минутах (0 — выключено, иначе 60–240) | set advert.interval |
Flood advert |
интервал flood advert в часах (3–168) | set flood.advert.interval |
Flood max |
лимит пересылки flood (0–64) | set flood.max |
Save & exit |
выход из мастера | — |
Значения применяются сразу при выходе из пункта и сохраняются во флеш. Ответ устройства (OK или текст ошибки) показывается на экране — проверку выполняет тот же код, что и последовательный CLI, поэтому неверное значение не будет записано.
Управление кнопкой
Экран состояния (обычный режим):
- короткое — включить или продлить подсветку экрана;
- двойное — войти в мастер настройки;
- длинное — выключить питание узла.
В меню:
- короткое — следующий пункт, двойное — предыдущий;
- длинное — войти в пункт.
В пункте с числом или списком:
- короткое — увеличить значение, двойное — уменьшить;
- длинное — применить и вернуться в меню.
Если узел прошит «с нуля» и ещё не имеет имени, мастер открывается сам после заставки.
Ввод координат
Координаты показываются в формате xx.xxxx yy.yyyy — сначала широта, затем долгота. Активная цифра выделена инверсией.
| Действие | Что происходит |
|---|---|
| длинное нажатие | войти в изменение текущей цифры |
| короткое нажатие в режиме правки | цифра +1 |
| двойное нажатие в режиме правки | цифра −1 |
| длинное нажатие в режиме правки | применить цифру |
| короткое нажатие после применения | перейти к следующей цифре |
длинное нажатие на экране Save & exit? |
сохранить координаты и выйти |
двойное нажатие на экране Save & exit? |
вернуться к правке |
Всего перебираются 12 цифр: шесть для широты и шесть для долготы. Когда применены все, короткое нажатие выводит экран подтверждения. Координаты сохраняются двумя командами — set lat и set lon; после сохранения узел появится на карте MeshCoreTel в течение следующего advert.
| Правка разряда широты | Подтверждение сохранения |
|---|---|
![]() |
![]() |
Ограничение: мастер вводит положительные координаты (формат без знака). Для южного полушария и западной долготы используйте CLI (set lat -33.1234) или веб-панель.
Ввод частоты и полосы
Частота показывается как 868.731 MHz, полоса — как 062.50 kHz. Под значением расположен пункт Save & exit, курсор ходит по всем позициям экрана.
Частота, позиции по порядку:
- целые МГц (выделены целиком): короткое нажатие —
+1 МГц, двойное —−1 МГц; - три разряда кГц по отдельности: короткое нажатие —
+1, двойное —−1, принцип тот же, что у координат; Save & exit— сохранение частоты и возврат в меню.
Порядок работы: длинное нажатие входит в правку позиции, короткое и двойное меняют значение, длинное применяет позицию, а короткое после применения переводит курсор к следующей позиции. Когда все цифры поправлены, перейдите короткими нажатиями на Save & exit и удерживайте кнопку — частота применится, и экран вернётся в меню.
Полоса вводится так же поразрядно и с тем же пунктом Save & exit внизу.
| Выбраны целые МГц | Правка разряда кГц | Ответ устройства на экране |
|---|---|---|
![]() |
![]() |
![]() |
CR и SF меняются шагом: короткое нажатие — +1, двойное — −1, длинное — применить.
| Полоса | CR | SF |
|---|---|---|
![]() |
![]() |
![]() |
Любой из четырёх пунктов отправляет команду целиком — set radio <частота>,<полоса>,<sf>,<cr>, поэтому остальные три параметра сохраняют свои значения. Устройство отвечает OK - reboot to apply: изменения радио вступают в силу после перезагрузки.
Батарея и калибровка ADC
Пункт Battery показывает напряжение в вольтах, процент заряда и полоску, а также текущий множитель ADC. Значения обновляются раз в секунду.
| Экран батареи | Правка множителя ADC |
|---|---|
![]() |
![]() |
- короткое нажатие — показать «сырое» значение АЦП в милливольтах (удобно сверять с мультиметром);
- длинное или двойное — вернуться в меню.
Процент берётся у платы, если она умеет его считать (например T-Beam с PMU). Если не умеет — считается линейно по напряжению между getBatteryMinMilliVolts() и getBatteryMaxMilliVolts() платы; на большинстве плат это 3000–4200 мВ.
Пункт ADC правит множитель ADC поразрядно, формат x.xx — так же, как полоса: длинное нажатие входит в правку разряда, короткое +1, двойное −1, длинное применяет разряд, короткое после применения переходит к следующему разряду, а на пункте Save & exit длинное нажатие сохраняет значение и возвращает в меню. Под цифрами видно измеренное напряжение, поэтому калибровать удобно прямо на экране: подстроили множитель — сразу видите новое напряжение.
0.00 означает «использовать заводское значение платы»: команда set adc.multiplier 0 возвращает расчёт по умолчанию. Значение применяется командой set adc.multiplier <x.xx> — той же, что и в последовательном CLI.
Всплывающие сообщения
Ответ устройства на любую команду показывается отдельным окном поверх экрана: рамка, свой фон, текст с переносом строк и кнопка OK. Окно модальное — пока оно открыто, экран под ним не меняется, а короткое нажатие кнопки закрывает его. Так видно и успешные ответы (например OK - reboot to apply после правки радио), и ошибки проверки значений.
Признак успеха: после правки частоты, полосы, CR или SF окно показывает OK - reboot to apply — изменения радио вступают в силу после перезагрузки узла. Если в ответе ошибка (например значение вне диапазона), окно покажет её текст, а настройка не сохранится.
Ограничения
- На экранах без кириллицы подписи меню выводятся латиницей.
- Мастер не настраивает Wi-Fi, MQTT, регионы и список доступа: для них нужен последовательный CLI или веб-панель. На плате с Wi-Fi их удобнее задавать из веб-панели.
- Если дисплея нет, мастер не компилируется в прошивку и на поведение узла не влияет.














