Verifying Your Device
Plug the freshly-flashed Pico de Gallo into your host and run:
$ gallo version
Pico de Gallo FW v0.8.0
Schema v0.4.0
HW revision 2
Capabilities: I2C ✓ | SPI ✓ | UART ✓ | GPIO ✓ | PWM ✓ | ADC ✓ | 1-Wire ✓
If you see that block, you’re done. Success 🎉.
What Each Field Means
| Field | What it tells you |
|---|---|
Pico de Gallo FW v... | The firmware semver. Lockstepped with the wire crate via release-please. |
Schema v... | The wire-protocol schema version. The host crate must understand this. |
HW revision | 1 if you flashed hw-rev1 firmware, 2 for hw-rev2. |
Capabilities | Which peripherals this firmware build exposes. A ✗ means the endpoint returns Unsupported. |
Important
The
HW revisionline reflects the firmware build, not the PCB you have. If you flashed the wrong build, re-enter BOOTSEL and flash the right one. See Assembly & Flashing.
Ping
For a quick round-trip sanity check:
$ gallo ping
Ping OK
ping sends a random u32 to the firmware and asserts the echo
matches. If you can ping, USB and the wire protocol are fully
functional.
Listing Multiple Devices
If you have more than one Pico de Gallo connected, gallo list
shows them:
$ gallo list
Serial Number Bus Address
E6633861A34B8C24 2 14
E6633861A34B9F17 1 8
Pick a specific device with -s (or --serial-number):
$ gallo -s E6633861A34B8C24 version
Without -s, gallo uses the first device it finds — which is
non-deterministic if you have more than one plugged in.
Schema Mismatch
If the firmware and your host CLI disagree on the wire protocol,
gallo version will tell you:
$ gallo version
Error: schema mismatch (firmware v0.5.0, host expects v0.4.x)
The fix is to update whichever side is behind. See Releases & Compatibility for the rules on which versions are compatible.
Next
You’re up and running. Pick an interface to play with — start with I²C or GPIO, or skip to Writing a Device Driver for the guided tour.