Bus Pirate firmware auto build: main branch

Here’s a fresh compile from ‘main’: “SPI Flash command: error if erase and read/verify”

ci-buspirate-main-93a5a09.zip

Build time: 145.29 seconds

Git pull log @93a5a09

Updating 9fa22b1..93a5a09
Fast-forward
src/commands/spi/flash.c | 7 +++++++
1 file changed, 7 insertions(+)

Here’s a fresh compile from ‘main’: “Flash command confirm destructive actions”

ci-buspirate-main-f5528c7.zip

Build time: 146.9 seconds

Git pull log @f5528c7

Updating 93a5a09..f5528c7
Fast-forward
src/commands/spi/flash.c | 19 ++
src/translation/base.h | 2 +
src/translation/bs-ba.h | 2 +
src/translation/en-us.h | 2 +
src/translation/it-it.h | 2 +
src/translation/pl-pl.h | 644 +++++++++++++++++++++++±----------------------
src/translation/zh-cn.h | 4 +
7 files changed, 355 insertions(+), 320 deletions(-)

Here’s a fresh compile from ‘main’: “EEPROM command: Confirm destructive action”

ci-buspirate-main-7c1f7a4.zip

Build time: 153.33 seconds

Git pull log @7c1f7a4

Updating f5528c7..7c1f7a4
Fast-forward
src/commands/eeprom/eeprom_1wire.c | 6 ++++++
src/commands/eeprom/eeprom_base.c | 20 ++++++++++++++++++++
src/commands/eeprom/eeprom_base.h | 8 ++++++±
src/commands/eeprom/eeprom_i2c.c | 6 ++++++
src/commands/eeprom/eeprom_spi.c | 6 ++++++
5 files changed, 45 insertions(+), 1 deletion(-)

Here’s a fresh compile from ‘main’: "linenoise half way implemented.

(cherry picked from commit 12021cd5bf2d6a739a90af266199230d61d17cf1)"

ci-buspirate-main-a112128.zip

Build time: 155.64 seconds

Git pull log @a112128

Updating 7c1f7a4..a112128
Fast-forward
.claude/settings.local.json | 8 +
CLAUDE.md | 84 +
arg_has_arg_migration_analysis.md | 557 ++
check_translations.py | 301 +
check_translations_README.md | 140 +
docs/args_parse_migration.md | 215 +
docs/binary_mode_guide.md | 244 +
docs/bio_pin_guide.md | 212 +
docs/board_abstraction_guide.md | 175 +
docs/bp_cmd_data_types.md | 324 +
docs/bp_cmd_developer_docs_outline.md | 322 +
docs/bp_cmd_linenoise.md | 178 +
docs/bp_cmd_migration_prompt.md | 482 ++
docs/bp_cmd_parsing_api.md | 203 +
docs/bp_cmd_patterns.md | 211 +
docs/bp_cmd_prompting.md | 162 +
docs/build_system_guide.md | 162 +
docs/command_setup_migration_prompt.md | 667 ++
docs/dead-code-analysis.md | 317 +
docs/dead_code_analysis_prompt.md | 227 +
docs/developer_docs_outline.md | 269 +
docs/developer_docs_prompt.md | 252 +
docs/display_mode_guide.md | 131 +
docs/dual_core_guide.md | 160 +
docs/error_handling_reference.md | 148 +
docs/mode_setup_migration_prompt.md | 407 +
docs/new_command_guide.md | 680 ++
docs/new_mode_guide.md | 706 ++
docs/storage_guide.md | 176 +
docs/syntax_bytecode_guide.md | 249 +
docs/system_config_reference.md | 214 +
docs/system_monitor_guide.md | 147 +
docs/testing_guide.md | 191 +
docs/translation_guide.md | 211 +
docs/usb_communication_guide.md | 160 +
src/CMakeLists.txt | 39 ±
src/binmode/legacy4third.c | 39 ±
src/bytecode.h | 10 ±
src/command_struct.h | 28 ±
src/commands.c | 112 ±
src/commands/1wire/demos.c | 15 ±
src/commands/1wire/demos.h | 4 ±
src/commands/1wire/scan.c | 15 ±
src/commands/1wire/scan.h | 4 ±
src/commands/2wire/hw2w_sniff.c | 21 ±
src/commands/2wire/hw2w_sniff.h | 4 ±
src/commands/2wire/sle4442.c | 133 ±
src/commands/2wire/sle4442.h | 2 +
src/commands/eeprom/eeprom_1wire.c | 122 ±
src/commands/eeprom/eeprom_1wire.h | 2 +
src/commands/eeprom/eeprom_base.c | 26 ±
src/commands/eeprom/eeprom_base.h | 12 ±
src/commands/eeprom/eeprom_i2c.c | 149 ±
src/commands/eeprom/eeprom_i2c.h | 2 +
src/commands/eeprom/eeprom_spi.c | 104 ±
src/commands/eeprom/eeprom_spi.h | 1 +
src/commands/global/a_auxio.c | 42 ±
src/commands/global/a_auxio.h | 4 +
src/commands/global/bug.c | 32 ±
src/commands/global/bug.h | 2 +
src/commands/global/button_scr.c | 67 ±
src/commands/global/button_scr.h | 2 +
src/commands/global/cls.c | 13 ±
src/commands/global/cls.h | 1 +
src/commands/global/cmd_binmode.c | 71 ±
src/commands/global/cmd_binmode.h | 1 +
src/commands/global/cmd_convert.c | 88 ±
src/commands/global/cmd_convert.h | 3 +
src/commands/global/cmd_mcu.c | 37 +
src/commands/global/cmd_mcu.h | 5 ±
src/commands/global/cmd_selftest.c | 35 ±
src/commands/global/cmd_selftest.h | 1 +
src/commands/global/disk.c | 396 ±
src/commands/global/disk.h | 10 ±
src/commands/global/dummy.c | 453 ±
src/commands/global/dummy.h | 2 +
src/commands/global/dump.c | 30 ±
src/commands/global/dump.h | 1 +
src/commands/global/flat.c | 159 -
src/commands/global/flat.h | 11 -
src/commands/global/freq.c | 144 ±
src/commands/global/freq.h | 3 +
src/commands/global/h_help.c | 195 ±
src/commands/global/h_help.h | 2 +
src/commands/global/hex.c | 41 ±
src/commands/global/hex.h | 3 ±
src/commands/global/i_info.c | 22 ±
src/commands/global/i_info.h | 4 ±
src/commands/global/image.c | 39 ±
src/commands/global/image.h | 3 ±
src/commands/global/jep106_lookup.c | 32 ±
src/commands/global/jep106_lookup.h | 2 ±
src/commands/global/l_bitorder.c | 37 +
src/commands/global/l_bitorder.h | 5 ±
src/commands/global/logic.c | 219 ±
src/commands/global/logic.h | 3 ±
src/commands/global/macro.c | 53 ±
src/commands/global/macro.h | 3 ±
src/commands/global/otpdump.c | 75 ±
src/commands/global/otpdump.h | 3 ±
src/commands/global/ovrclk.c | 32 ±
src/commands/global/ovrclk.h | 2 +
src/commands/global/p_pullups.c | 59 ±
src/commands/global/p_pullups.h | 5 ±
src/commands/global/pause.c | 29 ±
src/commands/global/pause.h | 3 ±
src/commands/global/pwm.c | 164 ±
src/commands/global/pwm.h | 3 +
src/commands/global/script.c | 68 ±
src/commands/global/script.h | 3 ±
src/commands/global/smps.c | 62 ±
src/commands/global/smps.h | 3 ±
src/commands/global/v_adc.c | 41 ±
src/commands/global/v_adc.h | 3 +
src/commands/global/w_psu.c | 108 ±
src/commands/global/w_psu.h | 3 +
src/commands/hdplxuart/bridge.c | 27 ±
src/commands/hdplxuart/bridge.h | 3 ±
src/commands/i2c/ddr4.c | 148 ±
src/commands/i2c/ddr4.h | 3 ±
src/commands/i2c/ddr5.c | 105 ±
src/commands/i2c/ddr5.h | 3 ±
src/commands/i2c/demos.c | 104 ±
src/commands/i2c/demos.h | 9 ±
src/commands/i2c/i2c.c | 76 ±
src/commands/i2c/i2c.h | 3 ±
src/commands/i2c/mpu6050.c | 22 ±
src/commands/i2c/mpu6050.h | 3 ±
src/commands/i2c/scan.c | 23 ±
src/commands/i2c/scan.h | 3 ±
src/commands/i2c/sniff.c | 31 ±
src/commands/i2c/sniff.h | 3 ±
src/commands/i2c/usbpd.c | 68 ±
src/commands/i2c/usbpd.h | 3 ±
src/commands/i2c/usbpdo.c | 29 ±
src/commands/i2c/usbpdo.h | 1 +
src/commands/i2s/sine.c | 230 ±
src/commands/i2s/sine.h | 3 ±
src/commands/i2s/wav.c | 125 +
src/commands/i2s/wav.h | 2 +
src/commands/infrared/irtxrx.c | 61 ±
src/commands/infrared/irtxrx.h | 5 ±
src/commands/infrared/tvbgone.c | 14 ±
src/commands/infrared/tvbgone.h | 4 ±
src/commands/jtag/bluetag.c | 82 ±
src/commands/jtag/bluetag.h | 4 ±
src/commands/spi/flash.c | 113 ±
src/commands/spi/flash.h | 4 ±
src/commands/spi/sniff.c | 14 ±
src/commands/spi/sniff.h | 4 ±
src/commands/spi/spiflash.c | 6 ±
src/commands/spi/spiflash.h | 4 ±
src/commands/uart/bridge.c | 24 ±
src/commands/uart/bridge.h | 4 ±
src/commands/uart/glitch.c | 296 ±
src/commands/uart/glitch.h | 2 +
src/commands/uart/monitor.c | 20 ±
src/commands/uart/monitor.h | 4 ±
src/commands/uart/nmea.c | 14 ±
src/commands/uart/nmea.h | 4 ±
src/commands/uart/simcard.c | 11 ±
src/commands/uart/simcard.h | 4 ±
src/debug_uart.c | 4 -
src/deprecated/queue.c | 171 -
src/deprecated/queue.h | 183 -
src/display/background_image_v4-orig.h | 8094 --------------------
src/display/robot16.h | 8093 -------------------
src/fatfs/ffsystem.c | 2 ±
src/lib/bp_args/bp_cmd.c | 1622 ++++
src/lib/bp_args/bp_cmd.h | 556 ++
src/lib/bp_args/bp_cmd_linenoise.c | 138 +
src/lib/bp_args/bp_cmd_linenoise.h | 23 +
src/lib/bp_expr/bp_expr.c | 319 +
src/lib/bp_expr/bp_expr.h | 68 +
src/lib/bp_expr/bp_expr_test | Bin 0 → 56152 bytes
src/lib/bp_expr/bp_expr_test.c | 292 +
src/lib/bp_expr/bp_expr_test.mk | 21 +
src/lib/bp_linenoise/linenoise.c | 2151 ++++++
src/lib/bp_linenoise/linenoise.h | 200 +
src/lib/bp_linenoise/ln_cmdreader.c | 61 +
src/lib/bp_linenoise/ln_cmdreader.h | 91 +
src/lib/bp_number/bp_number.c | 207 +
src/lib/bp_number/bp_number.h | 150 +
src/lib/sigrok/pico_sdk_sigrok.c | 1387 ----
src/mode/SW2W.c | 237 -
src/mode/SW2W.h | 53 -
src/mode/SW3W.c | 436 –
src/mode/SW3W.h | 34 -
src/mode/SWI2C.c | 212 -
src/mode/SWI2C.h | 23 -
src/mode/binloopback.c | 1 -
src/mode/dummy1.c | 402 ±
src/mode/dummy1.h | 25 ±
src/mode/hw1wire.c | 15 ±
src/mode/hw2wire.c | 94 ±
src/mode/hw2wire.h | 1 +
src/mode/hw3wire.c | 150 ±
src/mode/hw3wire.h | 1 +
src/mode/hwhduart.c | 191 ±
src/mode/hwhduart.h | 3 ±
src/mode/hwi2c.c | 185 ±
src/mode/hwi2c.h | 1 +
src/mode/hwled.c | 97 ±
src/mode/hwled.h | 3 ±
src/mode/hwspi.c | 226 ±
src/mode/hwspi.h | 1 +
src/mode/hwuart.c | 299 ±
src/mode/hwuart.h | 1 +
src/mode/i2s.c | 122 ±
src/mode/i2s.h | 5 ±
src/mode/infrared.c | 196 ±
src/mode/infrared.h | 1 +
src/mode/jtag.c | 7 ±
src/mode/sw1wire.c | 705 –
src/mode/sw1wire.h | 41 -
src/mode/usbpd.c | 3 ±
src/modes.c | 14 ±
src/modes.h | 1 +
src/nand/nand_ftl_diskio.c | 3 +
src/pirate.c | 142 ±
src/pirate/bio.c | 20 -
src/pirate/bio.h | 6 -
src/pirate/file.c | 29 ±
src/pirate/file.h | 25 ±
src/pirate/hw1wire_pio.c | 1345 +±-
src/pirate/hwi2c_pio.c | 1 +
src/pirate/hwuart_pio.c | 2 +
src/pirate/psu.c | 4 ±
src/syntax.c | 771 –
src/syntax.h | 7 +
src/syntax_compile.c | 240 +
src/syntax_internal.h | 96 +
src/syntax_post.c | 314 +
src/syntax_run.c | 230 +
src/toolbars/logic_bar.c | 135 -
src/translation/base.h | 33 +
src/translation/bs-ba.h | 33 +
src/translation/en-us.h | 37 ±
src/translation/history/en-us (2).json | 3378 ++++++++
src/translation/history/en-us.json | 14 ±
src/translation/it-it.h | 33 +
src/translation/pl-pl.h | 33 +
…/proposed_positional_descriptions.txt | 27 +
src/translation/zh-cn.h | 33 +
src/ui/ui_cmdln.c | 460 ±
src/ui/ui_cmdln.h | 186 ±
src/ui/ui_config.c | 19 ±
src/ui/ui_config.h | 3 ±
src/ui/ui_display.c | 162 ±
src/ui/ui_display.h | 4 ±
src/ui/ui_format.c | 298 ±
src/ui/ui_format.h | 9 ±
src/ui/ui_help.c | 133 ±
src/ui/ui_help.h | 43 ±
src/ui/ui_hex.c | 15 ±
src/ui/ui_hex.h | 22 ±
src/ui/ui_init.c | 2 -
src/ui/ui_mode.c | 407 ±
src/ui/ui_mode.h | 6 ±
src/ui/ui_parse.c | 306 ±
src/ui/ui_process.c | 26 ±
src/ui/ui_prompt.c | 237 ±
src/ui/ui_prompt.h | 28 ±
src/ui/ui_term.c | 314 -
src/ui/ui_term.h | 18 ±
src/ui/ui_term_linenoise.c | 280 +
src/ui/ui_term_linenoise.h | 98 +
tests/test_spsc_queue | Bin 21512 → 0 bytes
tools/helpcollect.py | 251 +
tools/helpref-snip.txt | 138 +
translation_report.txt | 203 +
271 files changed, 26149 insertions(+), 26932 deletions(-)
create mode 100644 .claude/settings.local.json
create mode 100644 CLAUDE.md
create mode 100644 arg_has_arg_migration_analysis.md
create mode 100644 check_translations.py
create mode 100644 check_translations_README.md
create mode 100644 docs/args_parse_migration.md
create mode 100644 docs/binary_mode_guide.md
create mode 100644 docs/bio_pin_guide.md
create mode 100644 docs/board_abstraction_guide.md
create mode 100644 docs/bp_cmd_data_types.md
create mode 100644 docs/bp_cmd_developer_docs_outline.md
create mode 100644 docs/bp_cmd_linenoise.md
create mode 100644 docs/bp_cmd_migration_prompt.md
create mode 100644 docs/bp_cmd_parsing_api.md
create mode 100644 docs/bp_cmd_patterns.md
create mode 100644 docs/bp_cmd_prompting.md
create mode 100644 docs/build_system_guide.md
create mode 100644 docs/command_setup_migration_prompt.md
create mode 100644 docs/dead-code-analysis.md
create mode 100644 docs/dead_code_analysis_prompt.md
create mode 100644 docs/developer_docs_outline.md
create mode 100644 docs/developer_docs_prompt.md
create mode 100644 docs/display_mode_guide.md
create mode 100644 docs/dual_core_guide.md
create mode 100644 docs/error_handling_reference.md
create mode 100644 docs/mode_setup_migration_prompt.md
create mode 100644 docs/new_command_guide.md
create mode 100644 docs/new_mode_guide.md
create mode 100644 docs/storage_guide.md
create mode 100644 docs/syntax_bytecode_guide.md
create mode 100644 docs/system_config_reference.md
create mode 100644 docs/system_monitor_guide.md
create mode 100644 docs/testing_guide.md
create mode 100644 docs/translation_guide.md
create mode 100644 docs/usb_communication_guide.md
delete mode 100644 src/commands/global/flat.c
delete mode 100644 src/commands/global/flat.h
create mode 100644 src/commands/i2s/wav.c
create mode 100644 src/commands/i2s/wav.h
delete mode 100644 src/deprecated/queue.c
delete mode 100644 src/deprecated/queue.h
delete mode 100644 src/display/background_image_v4-orig.h
delete mode 100644 src/display/robot16.h
create mode 100644 src/lib/bp_args/bp_cmd.c
create mode 100644 src/lib/bp_args/bp_cmd.h
create mode 100644 src/lib/bp_args/bp_cmd_linenoise.c
create mode 100644 src/lib/bp_args/bp_cmd_linenoise.h
create mode 100644 src/lib/bp_expr/bp_expr.c
create mode 100644 src/lib/bp_expr/bp_expr.h
create mode 100644 src/lib/bp_expr/bp_expr_test
create mode 100644 src/lib/bp_expr/bp_expr_test.c
create mode 100644 src/lib/bp_expr/bp_expr_test.mk
create mode 100644 src/lib/bp_linenoise/linenoise.c
create mode 100644 src/lib/bp_linenoise/linenoise.h
create mode 100644 src/lib/bp_linenoise/ln_cmdreader.c
create mode 100644 src/lib/bp_linenoise/ln_cmdreader.h
create mode 100644 src/lib/bp_number/bp_number.c
create mode 100644 src/lib/bp_number/bp_number.h
delete mode 100644 src/lib/sigrok/pico_sdk_sigrok.c
delete mode 100644 src/mode/SW2W.c
delete mode 100644 src/mode/SW2W.h
delete mode 100644 src/mode/SW3W.c
delete mode 100644 src/mode/SW3W.h
delete mode 100644 src/mode/SWI2C.c
delete mode 100644 src/mode/SWI2C.h
delete mode 100644 src/mode/sw1wire.c
delete mode 100644 src/mode/sw1wire.h
delete mode 100644 src/syntax.c
create mode 100644 src/syntax_compile.c
create mode 100644 src/syntax_internal.h
create mode 100644 src/syntax_post.c
create mode 100644 src/syntax_run.c
create mode 100644 src/translation/history/en-us (2).json
create mode 100644 src/translation/proposed_positional_descriptions.txt
create mode 100644 src/ui/ui_term_linenoise.c
create mode 100644 src/ui/ui_term_linenoise.h
delete mode 100644 tests/test_spsc_queue
create mode 100644 tools/helpcollect.py
create mode 100644 tools/helpref-snip.txt
create mode 100644 translation_report.txt

1 Like

Here’s a fresh compile from ‘main’: "hduart: add listen mode for passive bus monitoring

Add a “Bus mode” option to half-duplex UART with two choices:

  • Master (default): BP drives the line idle-high, same as before
  • Listen: BP releases the pin (open drain), allowing passive monitoring
    of traffic on the bus (e.g. SRXL2 from a receiver)

In listen mode, the TX PIO state machine releases the data pin direction
so RX can read incoming data without TX holding the pin as output. When
writing in listen mode, the pin is temporarily claimed for TX then
released back to input.

Usage: m hduart -b 115200 -l listen"

ci-buspirate-main-7eeadf8.zip

Build time: 151.44 seconds

Git pull log @7eeadf8

Updating a112128..7eeadf8
Fast-forward
src/mode/hwhduart.c | 41 ++++++++++++++++++++±------
src/mode/hwuart.h | 1 +
src/pirate/hwuart_pio.c | 72 ++++++++++++++++++++++++++++++++++++++±---------
src/pirate/hwuart_pio.h | 3 +±
src/translation/base.h | 3 +++
src/translation/bs-ba.h | 3 +++
src/translation/en-us.h | 3 +++
src/translation/it-it.h | 3 +++
src/translation/pl-pl.h | 3 +++
src/translation/zh-cn.h | 3 +++
10 files changed, 111 insertions(+), 24 deletions(-)

:arrow_down: :arrow_down: :arrow_down: ci-buspirate-main-93aefde.zip :arrow_down: :arrow_down: :arrow_down:

Here’s a fresh compile from ‘main’:

Build time: 176.74 seconds | compare