Bus Pirate firmware auto build: main branch

Here’s a fresh compile from ‘main’: “1. Fix onboard LEDs timeout, 2. Fix the LED used for demo, 3. for BP5 only: move logic analyzer input to RGB LED CDO pin, 4. fix bug where logic analyzer LED status blew out the demo config.”

ci-buspirate-main-9f6a9de.zip

Build time: 112.28 seconds

Git pull log @9f6a9de:
Updating 43b15d7…9f6a9de
Fast-forward
src/binmode/logicanalyzer.c | 15 +++++++++++±–
src/binmode/logicanalyzer.h | 1 +
src/mode/hwled.c | 19 ++++++++++++++±—
src/pirate/rgb.c | 2 ±
4 files changed, 29 insertions(+), 8 deletions(-)

Here’s a fresh compile from ‘main’: “I2C demos rework so any failure gives error message and attempts to reset I2C bus with a STOP. Made the pull-up check less strict (now idential to v3.x behavior).”

ci-buspirate-main-d5c5b78.zip

Build time: 111.51 seconds

Git pull log @d5c5b78:
Updating 9f6a9de…d5c5b78
Fast-forward
src/commands/i2c/demos.c | 52 +++++++++++++++++++++++++++++++++±-------------
src/ui/ui_help.c | 5 +++±
2 files changed, 41 insertions(+), 16 deletions(-)

Here’s a fresh compile from ‘main’: “move 1-wire and I2C preflight sanity check to RESET and START commands only.”

ci-buspirate-main-476473b.zip

Build time: 111.1 seconds

Git pull log @476473b:
Updating d5c5b78…476473b
Fast-forward
src/mode/hw1wire.c | 5 +++±
src/mode/hwi2c.c | 4 ++±
2 files changed, 7 insertions(+), 2 deletions(-)

Here’s a fresh compile from ‘main’: “Add RTT V7.54 sources (commit ff57c3d)”

ci-buspirate-main-8db963c.zip

Build time: 115.65 seconds

Git pull log @8db963c:
Updating 476473b…8db963c
Fast-forward
.clang-format_files | 2 ±
hacks/img/bus_pirate_vscode_cmake_settings.pdn | Bin 0 → 190219 bytes
hacks/img/bus_pirate_vscode_cmake_settings.png | Bin 0 → 225854 bytes
hacks/rtt_debugging.md | 121 ++
src/CMakeLists.txt | 20 ±
src/debug_rtt.c | 6 +
src/debug_rtt.h | 195 +++
src/{debug.c => debug_uart.c} | 4 ±
src/{debug.h => debug_uart.h} | 0
src/lib/rtt/Config/SEGGER_RTT_Conf.h | 435 +++++
src/lib/rtt/Examples/Main_RTT_InputEchoApp.c | 80 +
src/lib/rtt/Examples/Main_RTT_MenuApp.c | 108 ++
src/lib/rtt/Examples/Main_RTT_PrintfTest.c | 155 ++
src/lib/rtt/Examples/Main_RTT_SpeedTestApp.c | 106 ++
src/lib/rtt/LICENSE.md | 36 +
src/lib/rtt/README.md | 24 +
src/lib/rtt/RTT/SEGGER_RTT.c | 2089 +++++++++++++++++++++++
src/lib/rtt/RTT/SEGGER_RTT.h | 493 ++++++
src/lib/rtt/RTT/SEGGER_RTT_ASM_ARMv7M.S | 242 +++
src/lib/rtt/RTT/SEGGER_RTT_printf.c | 504 ++++++
src/lib/rtt/Syscalls/SEGGER_RTT_Syscalls_GCC.c | 125 ++
src/lib/rtt/Syscalls/SEGGER_RTT_Syscalls_IAR.c | 120 ++
src/lib/rtt/Syscalls/SEGGER_RTT_Syscalls_KEIL.c | 394 +++++
src/lib/rtt/Syscalls/SEGGER_RTT_Syscalls_SES.c | 252 +++
src/pirate.c | 131 ±
src/pirate.h | 1 +
src/usb_rx.c | 2 ±
src/usb_tx.c | 2 ±
28 files changed, 5636 insertions(+), 11 deletions(-)
create mode 100755 hacks/img/bus_pirate_vscode_cmake_settings.pdn
create mode 100755 hacks/img/bus_pirate_vscode_cmake_settings.png
create mode 100644 hacks/rtt_debugging.md
create mode 100644 src/debug_rtt.c
create mode 100644 src/debug_rtt.h
rename src/{debug.c => debug_uart.c} (96%)
rename src/{debug.h => debug_uart.h} (100%)
create mode 100644 src/lib/rtt/Config/SEGGER_RTT_Conf.h
create mode 100644 src/lib/rtt/Examples/Main_RTT_InputEchoApp.c
create mode 100644 src/lib/rtt/Examples/Main_RTT_MenuApp.c
create mode 100644 src/lib/rtt/Examples/Main_RTT_PrintfTest.c
create mode 100644 src/lib/rtt/Examples/Main_RTT_SpeedTestApp.c
create mode 100644 src/lib/rtt/LICENSE.md
create mode 100644 src/lib/rtt/README.md
create mode 100644 src/lib/rtt/RTT/SEGGER_RTT.c
create mode 100644 src/lib/rtt/RTT/SEGGER_RTT.h
create mode 100644 src/lib/rtt/RTT/SEGGER_RTT_ASM_ARMv7M.S
create mode 100644 src/lib/rtt/RTT/SEGGER_RTT_printf.c
create mode 100644 src/lib/rtt/Syscalls/SEGGER_RTT_Syscalls_GCC.c
create mode 100644 src/lib/rtt/Syscalls/SEGGER_RTT_Syscalls_IAR.c
create mode 100644 src/lib/rtt/Syscalls/SEGGER_RTT_Syscalls_KEIL.c
create mode 100644 src/lib/rtt/Syscalls/SEGGER_RTT_Syscalls_SES.c

Here’s a fresh compile from ‘main’: "Correct the count of pixels to match most common case.

Note: Due to how the translations are currently created,
it is necessary to choose between BP5 revisions < 10
(which had only 16 pixels) vs. all of BP5 Rev10, BP5XL,
and BP6 (which have 18 pixels)."

ci-buspirate-main-5f1dcda.zip

Build time: 113.82 seconds

Git pull log @5f1dcda:
Updating 8db963c…5f1dcda
Fast-forward
readme.md | 2 ±
src/translation/bs-ba.h | 2 ±
src/translation/bs-ba.json | 2 ±
src/translation/en-us.h | 2 ±
src/translation/en-us.json | 2 ±
src/translation/it-it.h | 2 ±
src/translation/it-it.json | 2 ±
src/translation/pl-pl.h | 2 ±
src/translation/pl-pl.json | 2 ±
src/translation/zh-cn.h | 2 ±
10 files changed, 10 insertions(+), 10 deletions(-)

Here’s a fresh compile from ‘main’: “fix infrared mode cleanup”

ci-buspirate-main-745ba74.zip

Build time: 126.7 seconds

Git pull log @745ba74:
Updating 5f1dcda…745ba74
Fast-forward
src/mode/infrared.c | 3 +±
1 file changed, 2 insertions(+), 1 deletion(-)

Here’s a fresh compile from ‘main’: “enhance infrared plank test process”

ci-buspirate-main-319f3ca.zip

Build time: 130.84 seconds

Git pull log @319f3ca:
Updating 745ba74…319f3ca
Fast-forward
src/lib/pico_ir_nec/nec_receive.c | 6 +++
src/lib/pico_ir_nec/nec_receive.h | 1 +
src/mode/infrared.c | 84 +++++++++++++++++++++±----------------
src/pirate/rc5_pio.c | 31 +±------------
src/pirate/rc5_pio.h | 3 ±
5 files changed, 61 insertions(+), 64 deletions(-)

Here’s a fresh compile from ‘main’: “RTT Example: Enabling a new category”

ci-buspirate-main-c4d9fc0.zip

Build time: 112.31 seconds

Git pull log @c4d9fc0:
Updating 319f3ca…c4d9fc0
Fast-forward
src/debug_rtt.h | 4 +±-
src/pirate/rgb.c | 28 ++++++++++++++++++++±------
2 files changed, 23 insertions(+), 9 deletions(-)

Here’s a fresh compile from ‘main’: “Fix output to not always say IO0”

ci-buspirate-main-01db7f4.zip

Build time: 116.08 seconds

Git pull log @01db7f4:
Updating c4d9fc0…01db7f4
Fast-forward
src/commands/global/bug.c | 10 ++++±----
1 file changed, 5 insertions(+), 5 deletions(-)

Here’s a fresh compile from ‘main’: "Consolidate default debug settings

Minor cleanup so default debug options are set in debug_rtt.c.

Helper function for debug print macros:

  • forced to be always inline for zero perf difference vs. macro
  • provides better type safety and error messages if types are mismatched
  • also increases clarity of BP_DEBUG_PRINT macro"

ci-buspirate-main-0c994cf.zip

Build time: 113.39 seconds

Git pull log @0c994cf:
Updating 01db7f4…0c994cf
Fast-forward
src/debug_rtt.c | 30 +++++++++++++++++++++++++++±-
src/debug_rtt.h | 56 +++++++++++++++++++++++++++±---------------------------
src/pirate.c | 4 ----
3 files changed, 56 insertions(+), 34 deletions(-)

Here’s a fresh compile from ‘main’: “merge to resolve confilits”

ci-buspirate-main-1bb546d.zip

Build time: 117.79 seconds

Git pull log @1bb546d:
Updating 0c994cf…1bb546d
Fast-forward
src/commands/global/bug.c | 35 +++++++++++++++++±----------------
src/commands/global/bug.h | 1 +
src/commands/global/cmd_selftest.c | 20 ++++++++++++++++++++
3 files changed, 39 insertions(+), 17 deletions(-)

Here’s a fresh compile from ‘main’: "Add cross-reference table to .elf.map

This allows for more in-depth
understanding of what code
is causing usage of what other
code, helping to track memory
and code usage of final project."

ci-buspirate-main-5c6dbe1.zip

Build time: 116.85 seconds

Git pull log @5c6dbe1:
Updating 1bb546d…5c6dbe1
Fast-forward
.gitignore | 3 ±-
src/CMakeLists.txt | 2 ±
2 files changed, 2 insertions(+), 3 deletions(-)

Here’s a fresh compile from ‘main’: “Added two scripts BusPirate + BusPirateSetup, useful for Linux users to connect to their BP”

ci-buspirate-main-e080dfd.zip

Build time: 116.61 seconds

Git pull log @e080dfd:
Updating 5c6dbe1…e080dfd
Fast-forward
hacks/BusPirate.sh | 185 ++++++++++++++++++++++++++++++++++++++++++++++++
hacks/BusPirateSetup.sh | 98 +++++++++++++++++++++++++
2 files changed, 283 insertions(+)
create mode 100755 hacks/BusPirate.sh
create mode 100755 hacks/BusPirateSetup.sh

Here’s a fresh compile from ‘main’: "Scaffolding for disabling unique USB serial number

This retains the compile-time disable option, while setting up the code to simplify changing this to switching based on dynamic features."

ci-buspirate-main-dac2a13.zip

Build time: 110.42 seconds

Git pull log @dac2a13:
Updating e080dfd…dac2a13
Fast-forward
src/pirate.c | 294 ++++++++++++++++++++++++++++++++++±-------------
src/pirate.h | 2 ±
src/pirate/storage.c | 41 +++±–
src/pirate/storage.h | 1 +
src/system_config.c | 8 ++
src/system_config.h | 4 +
src/translation/base.c | 29 +++±
src/translation/base.h | 3 +
src/usb_descriptors.c | 7 ±
9 files changed, 281 insertions(+), 108 deletions(-)

Here’s a fresh compile from ‘main’: “increase uart speed to max”

ci-buspirate-main-c8f3f83.zip

Build time: 115.76 seconds

Git pull log @c8f3f83:
Updating dac2a13…c8f3f83
Fast-forward
src/mode/hwuart.c | 2 ±
1 file changed, 1 insertion(+), 1 deletion(-)

1 Like

Here’s a fresh compile from ‘main’: “holiday mode”

ci-buspirate-main-7f9538e.zip

Build time: 112.86 seconds

Git pull log @7f9538e:
Updating c8f3f83…7f9538e
Fast-forward
src/ui/ui_lcd.c | 2 ±
1 file changed, 1 insertion(+), 1 deletion(-)

3 Likes

Here’s a fresh compile from ‘main’: “fix comment”

ci-buspirate-main-c75228f.zip

Build time: 115.8 seconds

Git pull log @c75228f:
Updating 7f9538e…c75228f
Fast-forward
src/CMakeLists.txt | 8 ++
src/mode/hw2wire.c | 4 +
src/mode/hw3wire.c | 339 +++++++++++++++++++++++++++++++++++++++++++++
src/mode/hw3wire.h | 33 +++++
src/mode/hwspi.c | 1 +
src/modes.c | 37 +++±
src/modes.h | 3 +
src/pirate.h | 9 ++
src/pirate/hw2wire_pio.c | 4 ±
src/pirate/hw3wire.pio | 78 +++++++++++
src/pirate/hw3wire_pio.c | 144 +++++++++++++++++++
src/pirate/hw3wire_pio.h | 21 +++
src/translation/base.h | 2 +
src/translation/bs-ba.h | 2 +
src/translation/en-us.h | 3 +
src/translation/en-us.json | 2 +
src/translation/it-it.h | 2 +
src/translation/pl-pl.h | 2 +
src/translation/zh-cn.h | 2 +
19 files changed, 693 insertions(+), 3 deletions(-)
create mode 100644 src/mode/hw3wire.c
create mode 100644 src/mode/hw3wire.h
create mode 100644 src/pirate/hw3wire.pio
create mode 100644 src/pirate/hw3wire_pio.c
create mode 100644 src/pirate/hw3wire_pio.h

1 Like

Here’s a fresh compile from ‘main’: “Use enum for UI_UPDATE_FLAG_… constants”

ci-buspirate-main-fc9ffa3.zip

Build time: 112.74 seconds

Git pull log @fc9ffa3:
Updating c75228f…fc9ffa3
Fast-forward
hacks/rtt_debugging.md | 8 ++++++++
src/CMakeLists.txt | 51 ++++++++++++++++++++++±-----------------------
src/debug_rtt.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++±
src/debug_rtt.h | 43 ++++++++++++++++++++++++++++++++++++++++
src/nand/spi_nand.c | 18 +++++++++±------
src/pirate.c | 24 +++++++++++++++±-----
src/pirate.h | 4 ++±
src/ui/ui_flags.h | 34 +++++++++++++++++++++±--------
src/usb_rx.c | 26 ++++++++++++++++++++++++
src/usb_rx.h | 2 ±
src/usb_tx.c | 3 ±-
11 files changed, 214 insertions(+), 53 deletions(-)

Here’s a fresh compile from ‘main’: ““recompile” translations with updated base template.”

ci-buspirate-main-9db4915.zip

Build time: 116.65 seconds

Git pull log @9db4915:
Updating 4a5cc90…9db4915
Fast-forward
src/translation/base.h | 3 +++
1 file changed, 3 insertions(+)

I just grabbed the latest source. I was able to build for BP5, but a new error occurred when building for my BP6. cmake is looking for the file pioasm/pioasmTargets.cmake which seems to be missing in that location.

I fixed the problem by executing cmake with the --fresh option.
By the way - I have two directories I use in my copy of the repo - build and build6. For my BP6, I normally type

cd build6
make clean
../CMake6
make

where CMake6 is currently (with the --fresh option added)

cmake -S .. --fresh -B build_rp2350 -DPICO_SDK_FETCH_FROM_GIT=TRUE -DBP_PICO_PLATFORM=rp2350

That solved the problem. It did take longer than usual to build.
These options (except for the --fresh) are listed in the readme file. I just changed the “.” to “…” as I execute the script in a subdirectory.

Also - in my BusPirate shell script, I select the download directory as “./src” and this makes it very easy to install both BP5 and BP6 firmware. I just change to the matching build directory.