-
Notifications
You must be signed in to change notification settings - Fork 293
99 Instructions
Geo edited this page Jul 12, 2025
·
6 revisions
The instruction system follows the Bus Pirate syntax and is partially supported.
Instructions are sequences enclosed in brackets (e.g., [0xAA r:8]) and parsed into byte-level actions called ByteCodes.
They allow you to directly express sequences of read/write/start/stop/delay in a compact and flexible form.
| Syntax | Meaning |
|---|---|
[0xAA 0xBB] |
Write two bytes 0xAA 0xBB |
[r:4] |
Read 4 bytes |
[0xA1 r] |
Write 0xA1 → Read 1 bytes |
['A'] |
Write ASCII 'A' (char literal) |
["ABC"] |
Write ASCII string ABC |
[d:10] |
Delay 10 microseconds |
[D:1] |
Delay 1 millisecond |
- Loops and nested brackets
- Inline macros or expressions
- Bit-level operations (like
.1,.0) - Block
{}and macro>prefixes
- Hex values (
0xAA) and decimal numbers (123) are supported. - Repeats like
r:10,rrrrrare parsed correctly. - Strings in
"quotes"are written as ASCII.
- Anything inside
[]is considered an instruction. - Special characters like
r,d,Dmap to specific bytecode actions.
-
[0xA0 r:1 0xB1 r]→ Write 0xA0, Read, Write 0xB1, Read -
[d:100 D:2]→ Delay 100µs then 2ms -
["AT" d:10 r:255]→ Write AT, Delay 10µs, then read 255 bytes
This syntax is parsed but not all instructions are currently executed in all modes.
⚠️ Voltage Warning: Devices should only operate at 3.3V or 5V.
Do not connect peripherals using other voltage levels — doing so may damage your ESP32.