Dangerous Prototypes

Dangerous Prototypes => Bus Pirate Development => Topic started by: ian on December 20, 2011, 08:36:28 am

Title: Bus Pirate v4 new features and fixes
Post by: ian on December 20, 2011, 08:36:28 am
Quote
base.h - Restructured a tiny bit; moved the settings to the top with descriptions on how to use them; Also added a IF hardware v4 also include the following MODES with BP_MAIN. Only one in there now is BASIC so it will have all the modes available (comment that out); but if your trying to compile a version 3; it wont include those (PC Keyboard and PIC wont compile due to BPGETMSG errors; missing transaltions i guess?)

Nice.

Yes, the errors are missing translations. The translations take space if they are used or not, so some had to be pulled to get the firmware to fit. Splitting the translation file (as you did) is the best option. I feel we should stop making an 'extras' firmware for v3, it just confuses people. It will be so much easier to just include them as added features in v4, and if someone wants it in v3 they're welcome to compile it in themselves.

Quote
ProcMenu.c - Just fixed the 'Unused variable i' message with a if not hardware v4 define

no prob.

Quote
uart.c - Added the autobaud feature to the macro menu; and also added //TRANSLATION-NEEDED command to all strings that need to be converted.
Thanks, that was still on my todo list. I think this should be limited to v4 because it takes a bunch of space.
Quote
Also to note; I couldnt do any real development due to the bootloader not working on v4! Have you tried using the v4 bootloader? Or do you always program the pic direct? Sucks I cant seem to program my new toy :)
Are you still having this issue? The bootloader does work, we tested extensively on dozens of Bus Pirates before releasing it. Can you please upload the firmware that does not work (or is it also the -va4 I released?).

What color is your PCB?

Quote
edit: BASIC is not a mode is it? so that line should be commented out... did it used to be a mode and thats why its on there?

Basic is the scripting mode. I removed it from v3 because there's no space once I added the -a4 patches. It should be enabled in v4 though.

Quote
also I started on the STK500 I understood the UART stuff (using defines to make it work as a BP build) but I didnt understand the SPI stuff; all that SPIBITSa.TXbit=0x01; stuff I am still learning. Sucks because I wish I could contribute faster......

You shouldn't need to mess with the SPI stuff. The BPv4 hardware profile should set the pins correctly. The UART stuff will need to be replaced with the BPv4 USB UART stuff though. I have not had a chance to dig into this part yet.

Quote
Like the _CONFIG2(xx x x x x x xxxX) turn off stuff we need. I assume thats setting configuration bits through source but im guessing we dont want to do that once merged... but guessing isnt as good as knowing :(

Config bits are now set in and protected by the bootloader.
Title: Re: Bus Pirate v4 new features and fixes
Post by: ian on December 20, 2011, 08:50:26 am
Quote
* Added all UART_GETBAUD functions from static 'bpWline' to BPMSGs
* Reformated base.h a bit (moved the defines to the top) and added BUSPIRATEV2GO that just defines v3 anyways; just for no chance of confusion. and enabled BP_USE_BASIC and keyboard on v4 only.
* Removed the color labels on the 'v'
* fixed the '?' and 'v' glitch
* Added a BPMSG for v4 users who press #, it says no software reset on v4 use button
Edit: a few more
* removed hardwarev4.h its not used and matches hardwarev4a.h with some lines added. so i could tell its just some obsolete file; so removed it from the projects and deleted from SVN (revision excists if it needs to be brought back + I have backups)
* Added k/K to the ? menu (c/C/k/K Aux select (A1/CS/A2/A3)
* Moved the k/K from bpWstring to the v4 translation file (matches c now "a/A/@ now controls AUX2" for example)
* there was a few more; you can check the change logs. I made comments on every change so even if I had to commit 6 files; I would commit 3 for example so the comment would be on only the affected files...

I did see the commit logs pour in. These are great fixes, thank you. I will test them on work on getting all the new stuff into the documentation. If you have any notes too, the wiki works with your forum login.

Quote
* there is now a version 3 and version 4 string files so version 3 doesnt have all the compiled v4 strings. They are automatic per selected hardware version and what project you load. but if you add two one you will have to add it to both and compile both s and h files...
Thank you for doign that. It was inevitable that we had to, but we had kind of danced around it for a while.

Quote
For now; some point we should get Sjaak to make a new java converter that makes

BPMSG#####;X1;X2;"<TEXT>"

where X2 means do not include in v3 if 0 or somthing and compile both :)

or something that recognizes #ifdefs. Did you happen to notice if my translator app was working? That would be easier to hack with some advanced features.

Quote
Sjaak also said he thinks it would be good to no longer user numbers BPMSG#### but strings BPMSG_UART_MACROS. I dont know if you are into that; I dont know if its worth it. but if you want that let me know; liek I said im on vacation so I have alot of time to code my beloved BP :D
I think it would certainly make the code must more readable. It is a lot of work though, there are a lot of strings in there :)

Quote
Also I hope you dont mind; I really enjoy working on the BP project with you guys but I want to make my own build (which will be current with the most recent DP buils but I will add my own functions and mode via defines and add on files (so if you upgrade its easy to upgrade mine) and host it on my own VPN to share. Only seems right if I use my own build it should be shared with the world.

this does not mean I want to compete or not work on the real releases. Just want to play with it and add functions you guys may not want on the official release. And if I do make anything you like we can always add it to the offical release

let me know if thats Ok with you. I already have a google code project named pirate-boat for it. but after making it i decided to ask you first.

Whatever you like, the source is yours to do with as you please :) You are also welcome to add defines for your stuff in the official build, we won't get upset if you add a "brentbuild' define in there. I'll even include the alternate build with the official releases.

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.00942047072session_write_close ( )...(null):0
20.00972178648ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.00972179424Database_MySQL->query( ).../DatabaseHandler.php:119
40.05452318144Database_MySQL->error( ).../Db-mysql.class.php:273