Tools¶
Interaction¶
Serial monitor¶
Use the serial monitor to read the current output and interactively send Lizard or control commands to the microcontroller.
./monitor.py [<device_path>]
You can also use an SSH monitor to access a microcontroller via SSH:
./monitor_ssh.sh <user@host>
Note that the serial monitor cannot communicate while the serial interface is busy communicating with another process.
Configure script¶
Use the configure script to send a new startup script to the microcontroller.
./configure.py <config_file> <device_path>
Note that the configure script cannot communicate while the serial interface is busy communicating with another process.
Development¶
Compile script¶
After making changes to the Lizard language definition or its C++ implementation, you can use the compile script to generate a new parser and executing the compilation in an Espressif IDF Docker container.
./compile.sh
Upload new firmware¶
To upload the compiled firmware you can use one of the following scripts.
Upload via USB¶
./upload_usb.sh [<device_path>]
Upload via SSH¶
./upload_ssh.sh <user@host>
Upload via ttyTHS1¶
./upload_ths1.sh
This script is useful on Robot Brains where the microcontroller is connected to the pin header of an NVIDIA Jetson computer.
Backtrace¶
In case Lizard terminates with a backtrace printed to the serial terminal, you can use the following script to print corresponding source code lines.
./backtrace.sh <addresses>
Note that the script assumes Espressif IDF tools being installed at ~/esp/esp-tools_4.2/
and a compiled ELF file being located at build/lizard.elf
.