
Bus Pirate firmware v2.3 is available for download. This version fixes a major bug with the speed settings in all modes, but especially in the UART library.
There’s also two new binary IO modes for controlling the Bus Pirate from a PC, which should allow a number of complicated programmer functions that couldn’t fit in the firmware. The first new mode is a raw bitbang IO mode, similar to the bitbang mode of an FTDI232 chip. The second mode is a raw SPI mode written for high-speed communications with AVRDude.
On a side note, our reticence to include programmer functions in the Bus Pirate was wrong. We had always thought about it as uploading a .HEX to the Bus Pirate, and the Bus Pirate knowing how to program the .HEX into a chip. This would take a ton of code space and be difficult to maintain.
Michal’s patch for AVRDude presented a much better alternative: control the Bus Pirate’s pins from existing PC software. The Bus Pirate just twiddles pins, software handles the programming algorithms. This also makes it easier for PC software developers to use their Bus Pirate in new ways. We hope to soon have Bus Pirate support in AVR and JTAG programming software.
-
I’m getting nothing, terminal doesn’t even respond, you guys change the default baud rate perhaps? flashing back to v2.2 works fine but v2.3 doesn’t. I’m using a BPv2go.
-
Update: Some baud rates do give a response, 14400 echoes back characters but 115200 echoes back null on each keypress.
-
The updated one works from time to time and I’ve gotten the original v2.3 to work once but they’re extremely temperamental. I’m using the windows updater and Tera Term. Thanks for all the trouble, think it might be my board though, if no one else mentions this in a day or so I guess that’s the problem. When updating the firmware I get a list of errors almost a thousand lines long, that acceptable?
-
posted version 2.3 works fine for me using teraterm @ 115k.. I have version v2go from seed (second preorder).. I think it has a b5 processor.
-
Thanks for the reports.
@ James – I’m really sorry you’re having troubles, it seems like it wouldn’t be a hardware problem if v2.2 works fine. The crippled version removed any new code and reverted to 2.2 with the UART fix, I don’t know why it would have the same problems. I’ll keep looking into it.
-
@Ian – FWIW the original v2.3 does NOT give me a prompt with my v2.go board, while v2.3-crippled DOES give me a prompt (using SecureCRT as terminal)
-
@Ton – Thanks for the report.
If you are willing, would you try running PORTMON while you connect with the terminal and look for the value 0×00 from the PC->Bus Pirate:
http://technet.microsoft.com/en-us/sysinternals/bb896644.aspx
-
@ Ian – Here are the results of both versions
v2.3-crippled
SecureCRT.EXE IRP_MJ_READ VCP2 TIMEOUT Length 1: 3F
SecureCRT.EXE IRP_MJ_WRITE VCP2 SUCCESS Length 1: 3F
SecureCRT.EXE IRP_MJ_READ VCP2 TIMEOUT Length 49: 0D 0A 4D 45 4E 55 53 0D 0A 3F 20 48 65 6C 70 0D 0A 49 20 53 74
SecureCRT.EXE IRP_MJ_WRITE VCP2 SUCCESS Length 1: 0Dv2.3-normal
SecureCRT.EXE IRP_MJ_READ VCP6 TIMEOUT Length 1: 00
SecureCRT.EXE IRP_MJ_WRITE VCP6 SUCCESS Length 1: 3F
SecureCRT.EXE IRP_MJ_READ VCP6 TIMEOUT Length 1: 00
SecureCRT.EXE IRP_MJ_WRITE VCP6 SUCCESS Length 1: 0D
SecureCRT.EXE IRP_MJ_READ VCP6 Length 64-
Thank you. That makes me think it’s going into binary bitbang mode even before the terminal is active, like when the FTDI chip connects it sends a bit of garbage, or there’s a 0×00 being read out of the RX buffer once it’s engaged. Your terminal writes 3f (00111111) and the Bus Pirate responds 0×00 (illegal command code in bitbang mode).
If you’ve got it working with the crippled version and the new 2.4 nightly, then I think we’ve found the culprit. There were only two changes to 2.3, and that was the one that would cause a dead terminal. You can try the 2.4 nightly here:
http://dangerousprototypes.com/2009/10/09/bus-pirate-firmware-v2-3-problems/
-
-
v2.4-nightly works fine.
v2.4-nightly
SecureCRT.EXE IRP_MJ_READ VCP9 TIMEOUT Length 1: 3F
SecureCRT.EXE IRP_MJ_WRITE VCP9 SUCCESS Length 1: 3F
SecureCRT.EXE IRP_MJ_READ VCP9 SUCCESS Length 64: 0D 0A 4D 45 4E 55 53 0D 0A 3F 20 48 65 6C 70 0D 0A 49 20 53 74
SecureCRT.EXE IRP_MJ_WRITE VCP9 SUCCESS Length 1: 0DGood job!
-
-
v2.4 works perfectly :)

17 comments
Comments feed for this article