Bus Pirate firmware auto build: main branch

Here’s a fresh compile: “updated SPI previous setting menu prompt and parse”
ci-buspirate5-main-a398d76.zip

Build time: 36.17 seconds

Git pull log @a398d76:
Updating 22e777d…a398d76
Fast-forward
mode/hwspi.c | 28 +++++++++++++++±-----------
ui/ui_parse.c | 34 ++++++++++++++++++++++++++++++++++
ui/ui_parse.h | 1 +
ui/ui_prompt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
ui/ui_prompt.h | 1 +
5 files changed, 94 insertions(+), 12 deletions(-)

Here’s a fresh compile: “sfud universal flash programmer”
ci-buspirate5-main-c6522c1.zip

Build time: 35.3 seconds

Git pull log @c6522c1:
Updating a398d76…c6522c1
Fast-forward
lib/sfud/LICENSE | 22 +
lib/sfud/README.md | 308 +++++++++++
lib/sfud/inc/app.c | 91 ++++
lib/sfud/inc/sfud.c | 1056 ++++++++++++++++++++++++++++++++++++
lib/sfud/inc/sfud.h | 178 ++++++
lib/sfud/inc/sfud_cfg.h | 51 ++
lib/sfud/inc/sfud_def.h | 309 +++++++++++
lib/sfud/inc/sfud_flash_def.h | 205 +++++++
lib/sfud/inc/sfud_port-stm32.c | 229 ++++++++
lib/sfud/inc/sfud_port.c | 230 ++++++++
lib/sfud/inc/sfud_sfdp.c | 387 +++++++++++++
lib/sfud/sfud/inc/sfud.h | 178 ++++++
lib/sfud/sfud/inc/sfud_cfg.h | 51 ++
lib/sfud/sfud/inc/sfud_def.h | 309 +++++++++++
lib/sfud/sfud/inc/sfud_flash_def.h | 205 +++++++
lib/sfud/sfud/port/sfud_port.c | 124 +++++
lib/sfud/sfud/src/sfud.c | 1055 +++++++++++++++++++++++++++++++++++
lib/sfud/sfud/src/sfud_sfdp.c | 387 +++++++++++++
18 files changed, 5375 insertions(+)
create mode 100644 lib/sfud/LICENSE
create mode 100644 lib/sfud/README.md
create mode 100644 lib/sfud/inc/app.c
create mode 100644 lib/sfud/inc/sfud.c
create mode 100644 lib/sfud/inc/sfud.h
create mode 100644 lib/sfud/inc/sfud_cfg.h
create mode 100644 lib/sfud/inc/sfud_def.h
create mode 100644 lib/sfud/inc/sfud_flash_def.h
create mode 100644 lib/sfud/inc/sfud_port-stm32.c
create mode 100644 lib/sfud/inc/sfud_port.c
create mode 100644 lib/sfud/inc/sfud_sfdp.c
create mode 100644 lib/sfud/sfud/inc/sfud.h
create mode 100644 lib/sfud/sfud/inc/sfud_cfg.h
create mode 100644 lib/sfud/sfud/inc/sfud_def.h
create mode 100644 lib/sfud/sfud/inc/sfud_flash_def.h
create mode 100644 lib/sfud/sfud/port/sfud_port.c
create mode 100644 lib/sfud/sfud/src/sfud.c
create mode 100644 lib/sfud/sfud/src/sfud_sfdp.c

Here’s a fresh compile: “SPI Flash chip ID macro, SFDP decoder.”
ci-buspirate5-main-8353999.zip

Build time: 39.03 seconds

Git pull log @8353999:
Updating c6522c1…8353999
Fast-forward
CMakeLists.txt | 4 ±
lib/sfud/sfud/inc/sfud.h | 178 ------
lib/sfud/sfud/inc/sfud_cfg.h | 51 –
lib/sfud/sfud/inc/sfud_def.h | 309 -----------
lib/sfud/sfud/inc/sfud_flash_def.h | 205 -------
lib/sfud/sfud/port/sfud_port.c | 124 -----
lib/sfud/sfud/src/sfud.c | 1055 ------------------------------------
lib/sfud/sfud/src/sfud_sfdp.c | 387 -------------
mode/hwspi.c | 3 ±
mode/spiflash.c | 338 +++++++±—
10 files changed, 240 insertions(+), 2414 deletions(-)
delete mode 100644 lib/sfud/sfud/inc/sfud.h
delete mode 100644 lib/sfud/sfud/inc/sfud_cfg.h
delete mode 100644 lib/sfud/sfud/inc/sfud_def.h
delete mode 100644 lib/sfud/sfud/inc/sfud_flash_def.h
delete mode 100644 lib/sfud/sfud/port/sfud_port.c
delete mode 100644 lib/sfud/sfud/src/sfud.c
delete mode 100644 lib/sfud/sfud/src/sfud_sfdp.c

Here’s a fresh compile: “Test of Universal Flash library erase and progress bar”
ci-buspirate5-main-7f532a5.zip

Build time: 36.84 seconds

Git pull log @7f532a5:
Updating 8353999…7f532a5
Fast-forward
lib/sfud/inc/sfud.c | 26 +++±—
lib/sfud/inc/sfud_port.c | 9 +±
lib/sfud/inc/sfud_sfdp.c | 71 +++++++++±---------
mode/hwspi.c | 3 ±
mode/spiflash.c | 165 ++++++++++++++++++++++++++++++++++++++++±-----
mode/spiflash.h | 3 ±
ui/ui_term.c | 8 +++
ui/ui_term.h | 1 +
8 files changed, 208 insertions(+), 78 deletions(-)

Here’s a fresh compile: “fix for missing veersion in SFDP description.”
ci-buspirate5-main-3f4c266.zip

Build time: 36.49 seconds

Git pull log @3f4c266:
Updating 7f532a5…3f4c266
Fast-forward
lib/sfud/inc/sfud_sfdp.c | 2 ±
1 file changed, 1 insertion(+), 1 deletion(-)

Here’s a fresh compile: “spi flash erase, write, verify, dmp to disk”
ci-buspirate5-main-103ebc6.zip

Build time: 36.99 seconds

Git pull log @103ebc6:
Updating 3f4c266…103ebc6
Fast-forward
lib/sfud/inc/sfud_cfg.h | 2 ±
lib/sfud/inc/sfud_port.c | 17 +++±
mode/spiflash.c | 184 ++++++++++++++++++++++++++++++++++++++++++±—
3 files changed, 188 insertions(+), 15 deletions(-)

Here’s a fresh compile: “spi flash programming, bookmark before major rework of command line arguments”
ci-buspirate5-main-9ec2d09.zip

Build time: 37.85 seconds

Git pull log @9ec2d09:
Updating 103ebc6…9ec2d09
Fast-forward
CMakeLists.txt | 4 ±
adc.c | 27 ±-
adc.h | 4 ±
amux.c | 16 ++
amux.h | 1 +
auxpinfunc.c | 26 +±
auxpinfunc.h | 6 ±
commands.c | 398 ++++±----------------------------------
commands.h | 5 ±
display/default.c | 2 ±
display/scope.c | 18 ±
display/scope.h | 2 ±
displays.h | 2 ±
dump.c | 152 ----------------
dump.h | 2 -
flash.c | 252 +++++++++++++++++++++++±-
flash.h | 4 ±
freq.c | 20 ±
freq.h | 4 ±
helpers.c | 31 +±-
helpers.h | 20 ±
lib/sfud/inc/sfud.c | 4 ±
lib/sfud/inc/sfud_sfdp.c | 2 ±
mode/hiz.c | 2 ±
mode/hiz.h | 2 ±
mode/hwspi.c | 5 ±
mode/logicanalyzer.c | 32 +±-
mode/logicanalyzer.h | 2 ±
mode/spiflash.c | 462 ++++++++++++±---------------------------------
mode/spiflash.h | 9 ±
modes.h | 2 ±
opt_args.h | 65 +++±–
psu.c | 4 ±
psu.h | 4 ±
pullups.c | 4 ±
pullups.h | 4 ±
pwm.c | 18 ±
pwm.h | 4 ±
storage.c | 49 ++±-
storage.h | 14 ±
syntax.c | 2 ±
syntax.h | 6 ±
translation/base.h | 8 +
translation/bs-ba.h | 8 +
translation/en-us.h | 11 ±
translation/en-us.json | 8 +
translation/pl-pl.h | 8 +
translation/zh-cn.h | 8 +
ui/ui_args.c | 327 +++++++++++++++++++++++++++++++++
ui/ui_args.h | 14 ++
ui/ui_cmdln.c | 19 ++
ui/ui_cmdln.h | 8 +
ui/ui_config.c | 2 ±
ui/ui_config.h | 2 ±
ui/ui_display.c | 14 ±
ui/ui_display.h | 4 ±
ui/ui_help.c | 29 +±
ui/ui_help.h | 6 ±
ui/ui_info.c | 4 ±
ui/ui_info.h | 4 ±
ui/ui_mode.c | 14 ±
ui/ui_mode.h | 4 ±
ui/ui_parse.c | 50 -----
ui/ui_parse.h | 4 -
ui/ui_process.c | 70 +±----
ui/ui_term.c | 66 +++++±
ui/ui_term.h | 13 ++
wavegen.c | 2 ±
wavegen.h | 2 ±
69 files changed, 1231 insertions(+), 1170 deletions(-)
delete mode 100644 dump.c
delete mode 100644 dump.h
create mode 100644 ui/ui_args.c
create mode 100644 ui/ui_args.h

Here’s a fresh compile: “flash write. handle too small write size”
ci-buspirate5-main-ad7e9fd.zip

Build time: 38.08 seconds

Git pull log @ad7e9fd:
Updating 9ec2d09…ad7e9fd
Fast-forward
flash.c | 102 +++±------------------------------------
mode/spiflash.c | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++±
mode/spiflash.h | 2 +
storage.c | 8 ++++
storage.h | 1 +
5 files changed, 158 insertions(+), 95 deletions(-)

Here’s a fresh compile: “flash verify chip against specified file.”
ci-buspirate5-main-8dccb7b.zip

Build time: 37.46 seconds

Git pull log @8dccb7b:
Updating ad7e9fd…8dccb7b
Fast-forward
flash.c | 10 +++++++±-
mode/spiflash.c | 19 +++++++++±--------
2 files changed, 18 insertions(+), 11 deletions(-)

Here’s a fresh compile: “rename SPI pins, increase flash read buffer”
ci-buspirate5-main-1a72332.zip

Build time: 38.68 seconds

Git pull log @1a72332:
Updating 8dccb7b…1a72332
Fast-forward
mode/hwspi.c | 6 ++±–
mode/spiflash.c | 2 ±
2 files changed, 4 insertions(+), 4 deletions(-)

Here’s a fresh compile: “fix flash size. Fix self-test limited to HiZ mode.”
ci-buspirate5-main-1165736.zip

Build time: 37.67 seconds

Git pull log @1165736:
Updating 1a72332…1165736
Fast-forward
helpers.c | 5 +++++
mode/spiflash.c | 20 ++++++++++++++++++±
2 files changed, 24 insertions(+), 1 deletion(-)

Here is my BP8 with the new compile. I used a different chip in a socket this time.

PI> (1)
Probing:
		Device ID	Manuf ID	Type ID		Capacity ID
RESID (0xAB)	0xbf
REMSID (0x90)	0x41		0xbf
RDID (0x9F)			0xbf		0x25		0x41

SFDP (0x5A): not found
SPI> flash
Flash device manufacturer ID 0xBF, type ID 0x25, capacity ID 0x41
Error: SFDP signature error. It must be 0x50444653 'SFDP'
Warning: Read SFDP parameter header information failed. The SPI_FLASH does not support JEDEC SFDP.
Found a SST SST25VF016B flash chip (2097152 bytes)
Flash device reset success

SPI> flash -p
Flash device manufacturer ID 0xBF, type ID 0x25, capacity ID 0x41
Error: SFDP signature error. It must be 0x50444653 'SFDP'
Warning: Read SFDP parameter header information failed. The SPI_FLASH does not support JEDEC SFDP.
Found a SST SST25VF016B flash chip (2097152 bytes)
Flash device reset success
Probing:
		Device ID	Manuf ID	Type ID		Capacity ID
RESID (0xAB)	0xbf
REMSID (0x90)	0x41		0xbf
RDID (0x9F)			0xbf		0x25		0x41

SFDP (0x5A): not found

Similar results with a WinBond W25Q16BV.

This time I am getting the same results on my rev10 and rev8.
I think I might have a bad solder connection in my rev10.

Updated, On my rev8, and a chip, (1) works but flash doesn’t:

SPI> (1)
Probing:
		Device ID	Manuf ID	Type ID		Capacity ID
RESID (0xAB)	0x15
REMSID (0x90)	0x15		0xef
RDID (0x9F)			0xef		0x40		0x16

SFDP (0x5A): found 0x50444653 "PDFS"
 Version: 1.5
 Headers: 1

**Param Table 0**
		Type		Ver.	Length	Address
Table 0		JEDEC (0x00)	1.5	64	0x010000

MSB-LSB  3    2    1    0
[0001] 0x00 0x00 0x00 0x00
[0002] 0x00 0x00 0x00 0x00
[0003] 0x00 0x00 0x00 0x00
[0004] 0x00 0x00 0x00 0x00
[0005] 0x00 0x00 0x00 0x00
[0006] 0x00 0x00 0x00 0x00
[0007] 0x00 0x00 0x00 0x00
[0008] 0x00 0x00 0x00 0x00
[0009] 0x00 0x00 0x00 0x00
[0010] 0x00 0x00 0x00 0x00

[0011] 0x00 0x00 0x00 0x00
[0012] 0x00 0x00 0x00 0x00
[0013] 0x00 0x00 0x00 0x00
[0014] 0x00 0x00 0x00 0x00
[0015] 0x00 0x00 0x00 0x00
[0016] 0x00 0x00 0x00 0x00

Density: 1 bytes
Address bytes: 3
Write granularity:1B
Write Enable Volatile: 0
Write Enable instruction: 0x50
4K erase instruction: --

Fast read:	1-1-2	1-1-4	1-2-2	1-4-4	2-2-2	4-4-4
Instruction:	--	--	--	--	--	--
Wait states:	0	0	0	0	0	0
Mode clocks:	0	0	0	0	0	0

Erase:		1	2	3	4
Instruction:	0x00	0x00	0x00	0x00
Size:		1B	1B	1B	1B
SPI> flash
Flash device manufacturer ID 0xEF, type ID 0x40, capacity ID 0x16
Error: SFDP signature error. It must be 0x50444653 'SFDP'
Warning: Read SFDP parameter header information failed. The SPI_FLASH does not support JEDEC SFDP.
Found a Winbond W25Q32BV flash chip (4194304 bytes)
Flash device reset success

With my rev8, and a W25Q32BV chip (not the W25Q16BV), macro (1) works, but flash does not.

SPI> (1)
Probing:
		Device ID	Manuf ID	Type ID		Capacity ID
RESID (0xAB)	0x15
REMSID (0x90)	0x15		0xef
RDID (0x9F)			0xef		0x40		0x16

SFDP (0x5A): found 0x50444653 "PDFS"
 Version: 1.5
 Headers: 1

**Param Table 0**
		Type		Ver.	Length	Address
Table 0		JEDEC (0x00)	1.5	64	0x010000

MSB-LSB  3    2    1    0
[0001] 0x00 0x00 0x00 0x00
[0002] 0x00 0x00 0x00 0x00
[0003] 0x00 0x00 0x00 0x00
[0004] 0x00 0x00 0x00 0x00
[0005] 0x00 0x00 0x00 0x00
[0006] 0x00 0x00 0x00 0x00
[0007] 0x00 0x00 0x00 0x00
[0008] 0x00 0x00 0x00 0x00
[0009] 0x00 0x00 0x00 0x00
[0010] 0x00 0x00 0x00 0x00
[0011] 0x00 0x00 0x00 0x00
[0012] 0x00 0x00 0x00 0x00
[0013] 0x00 0x00 0x00 0x00
[0014] 0x00 0x00 0x00 0x00
[0015] 0x00 0x00 0x00 0x00
[0016] 0x00 0x00 0x00 0x00

Density: 1 bytes
Address bytes: 3
Write granularity:1B
Write Enable Volatile: 0
Write Enable instruction: 0x50
4K erase instruction: --

Fast read:	1-1-2	1-1-4	1-2-2	1-4-4	2-2-2	4-4-4
Instruction:	--	--	--	--	--	--
Wait states:	0	0	0	0	0	0
Mode clocks:	0	0	0	0	0	0

Erase:		1	2	3	4
Instruction:	0x00	0x00	0x00	0x00
Size:		1B	1B	1B	1B
SPI> flash
Flash device manufacturer ID 0xEF, type ID 0x40, capacity ID 0x16
Error: SFDP signature error. It must be 0x50444653 'SFDP'
Warning: Read SFDP parameter header information failed. The SPI_FLASH does not support JEDEC SFDP.
Found a Winbond W25Q32BV flash chip (4194304 bytes)
Flash device reset success

That seems to be a code error. I don’t understand why, because it’s the same function. I will check and push a fix. Once again, thank you so much for the bug report.

1 Like

Here’s a fresh compile: “testing”
ci-buspirate5-main-e501cfa.zip

Build time: 39.36 seconds

Git pull log @e501cfa:
Updating 1165736…e501cfa
Fast-forward
adc.c | 5 ±
auxpinfunc.c | 6 ±
display/scope.c | 4 ±
flash.c | 138 +++++++±-------
freq.c | 15 ±
helpers.c | 17 ±
mode/logicanalyzer.c | 13 ±
pwm.c | 9 ±
storage.c | 21 ±-
translation/base.h | 3 +
translation/bs-ba.h | 17 ±
translation/en-us.h | 17 ±
translation/en-us.json | 17 ±
translation/pl-pl.h | 17 ±
translation/zh-cn.h | 17 ±
ui/ui_args.c | 3 +
ui/ui_cmdln.c | 429 ++++++++++++++++++++++++++++++++++++++++++++±—
ui/ui_cmdln.h | 27 ++++
ui/ui_display.c | 20 ±-
ui/ui_mode.c | 21 ±-
ui/ui_process.c | 205 ++++++++++±-----------
21 files changed, 682 insertions(+), 339 deletions(-)

Here’s a fresh compile: “Add pretty default prompts to protocol modes. Add frequency support to I2C PIO program.”
ci-buspirate5-main-0aad4bd.zip

Build time: 39.92 seconds

Git pull log @0aad4bd:
Updating e501cfa…0aad4bd
Fast-forward
mode/hwi2c.c | 25 ++++++++++±-------------
mode/hwled.c | 12 +++±-------
mode/hwspi.c | 16 +++±-----------
mode/i2c.pio | 11 +++++++±–
mode/usart.c | 13 ++++±-------
5 files changed, 32 insertions(+), 45 deletions(-)

Here’s a fresh compile: “Dummy command. Work in progress on 2wire mode - only macro (1) SLE44xx ATR is sort of working.”
ci-buspirate5-main-4c1fd4d.zip

Build time: 41.5 seconds

Git pull log @4c1fd4d:
Updating 0aad4bd…4c1fd4d
Fast-forward
CMakeLists.txt | 3 +
bio.c | 1 +
commands.c | 2 +
dummy.c | 265 +++++++++++++++++++++++++++++++++++
dummy.h | 1 +
mode/hw2wire.c | 370 +++++++++++++++++++++++++++++++++++++++++++++++++
mode/hw2wire.h | 22 +++
mode/hw2wire.pio | 181 ++++++++++++++++++++++++
mode/hw2wire_pio.c | 300 +++++++++++++++++++++++++++++++++++++++
mode/hw2wire_pio.h | 49 +++++++
modes.c | 29 ++++
modes.h | 3 +
pirate.h | 1 +
translation/base.h | 7 +
translation/bs-ba.h | 9 ±
translation/en-us.h | 11 ±
translation/en-us.json | 11 ±
translation/pl-pl.h | 9 ±
translation/zh-cn.h | 9 ±
ui/ui_cmdln.c | 36 ++±-
ui/ui_format.c | 26 ++++
ui/ui_format.h | 3 ±
22 files changed, 1325 insertions(+), 23 deletions(-)
create mode 100644 dummy.c
create mode 100644 dummy.h
create mode 100644 mode/hw2wire.c
create mode 100644 mode/hw2wire.h
create mode 100644 mode/hw2wire.pio
create mode 100644 mode/hw2wire_pio.c
create mode 100644 mode/hw2wire_pio.h

Here’s a fresh compile: “New button handling library. Installed in dummy demo.”
ci-buspirate5-main-aaba7b3.zip

Build time: 38.53 seconds

Git pull log @aaba7b3:
Updating 4c1fd4d…aaba7b3
Fast-forward
CMakeLists.txt | 2 ±
button.c | 27 ++++++++++++++++++
button.h | 10 +++++++
buttons.c | 86 ----------------------------------------------------------
buttons.h | 1 -
dummy.c | 11 ++±----
pirate.c | 6 +±-
7 files changed, 45 insertions(+), 98 deletions(-)
create mode 100644 button.c
create mode 100644 button.h
delete mode 100644 buttons.c
delete mode 100644 buttons.h

Here’s a fresh compile: “SLE44xx chip card decoder. Macro (1) in 2wire mode.”
ci-buspirate5-main-67a28c5.zip

Build time: 41.08 seconds

Git pull log @67a28c5:
Updating aaba7b3…67a28c5
Fast-forward
mode/hw2wire.c | 54 ++++++++++++++++++++±--------------------------------
1 file changed, 21 insertions(+), 33 deletions(-)

1 Like

Here’s a fresh compile: “Added clock tick (^) to 2wire. Implemented I2C style start and stop in 2Wire. TODO: lsb/msb, blocking commands, /-_, a way to track pin direction to send the right instruction to PIO for bitwise operators.”
ci-buspirate5-main-8f24204.zip

Build time: 38.75 seconds

Git pull log @8f24204:
Updating 67a28c5…8f24204
Fast-forward
bytecode.h | 116 ++++++++++++++++±-----------------
mode/hw2wire.c | 160 +++++++++±--------------------------------------
mode/hw2wire.h | 1 +
modes.c | 22 ++±—
modes.h | 2 ±
syntax.c | 11 ++±
translation/base.h | 1 +
translation/bs-ba.h | 1 +
translation/en-us.h | 1 +
translation/en-us.json | 1 +
translation/pl-pl.h | 1 +
translation/zh-cn.h | 1 +
12 files changed, 120 insertions(+), 198 deletions(-)