Add curses dashboard and XIAO bridge examples; enhance stream parser for UTF-8 logging
This commit is contained in:
@@ -10,6 +10,35 @@ Meshtastic radio. The radio must have its serial module enabled in `PROTO` mode
|
||||
| Raspberry Pi Pico / Pico W | `raspberry_pi_pico.py` | UART0 | GP0 | GP1 |
|
||||
| Generic ESP32 | `esp32.py` | UART2 | GPIO17 | GPIO16 |
|
||||
|
||||
## Desktop curses dashboard
|
||||
|
||||
`curses_dashboard.py` is a host-side dashboard for macOS or Linux. It displays
|
||||
connection statistics, known nodes, and received messages, and it can send broadcast
|
||||
messages. It can connect directly to a radio or through a XIAO RP2040 UART bridge.
|
||||
|
||||
```sh
|
||||
python -m pip install -e . pyserial
|
||||
python examples/curses_dashboard.py /dev/cu.usbmodem123456
|
||||
```
|
||||
|
||||
For a radio wired to a XIAO RP2040, first install the bridge as the XIAO's boot script:
|
||||
|
||||
```sh
|
||||
mpremote connect /dev/cu.usbmodem2101 fs cp examples/xiao_dashboard_bridge.py :main.py
|
||||
mpremote connect /dev/cu.usbmodem2101 reset
|
||||
python examples/curses_dashboard.py --xiao-bridge /dev/cu.usbmodem2101
|
||||
```
|
||||
|
||||
Do not run `mpremote` at the same time as the dashboard; only one program can own the
|
||||
XIAO USB serial port. To return to the regular example, replace `main.py` with
|
||||
`xiao_rp2040.py`.
|
||||
|
||||
Use `mpremote connect list`, `python -m serial.tools.list_ports`, or your operating
|
||||
system's device list to find the radio port. The message field is always active: type
|
||||
and press Enter to send. Use Escape to clear it, F5 to refresh, and F10 to quit.
|
||||
`Ctrl-R` and `Ctrl-Q` are also supported. On Windows, install `windows-curses` and use
|
||||
a port such as `COM4`.
|
||||
|
||||
## Wiring
|
||||
|
||||
UART signals cross between the two boards:
|
||||
|
||||
Reference in New Issue
Block a user