Re: Firmware v5.6

Bus Pirate firmware and hardware development.

Firmware v5.6

Postby ian » Fri Aug 06, 2010 3:24 am

Nothing solid on this yet, maybe an update to the PIC programming commands, maybe an extra version command or something for flashrom.
Got a question? Please ask in the forum for the fastest answers.
User avatar
ian
Crew
Crew
 
Posts: 10803
Joined: Mon Jul 06, 2009 6:14 am

Re: Firmware v5.6

Postby ian » Fri Aug 06, 2010 3:33 am

Couple bugs in servo mode:
*Does not prompt if no value is provided
*Allowed in HiZ
*Needs documentation :)
Got a question? Please ask in the forum for the fastest answers.
User avatar
ian
Crew
Crew
 
Posts: 10803
Joined: Mon Jul 06, 2009 6:14 am

Re: Firmware v5.6

Postby tayken » Sat Aug 07, 2010 2:51 am

I can help with the servo mode code (& other stuff) if it is needed. I don't think it is too bad to have servo mode in HiZ (IMO) but if you think it might cause problems I don't think it is too hard to change that.
User avatar
tayken
Developer
Developer
 
Posts: 1524
Joined: Sat Dec 12, 2009 10:58 am
Location: Tokyo, Japan

Re: Firmware v5.6

Postby Sjaak » Sat Aug 07, 2010 3:21 am

The idea behind HiZ is there is no output/interaction on the pins. basicly in HiZ it is safe to attach the buspirate to anything (almost ;))
For my projects and failures see my blog: http://SMDprutser.nl/
User avatar
Sjaak
Fellow
Fellow
 
Posts: 3297
Joined: Sun Jan 03, 2010 2:45 pm
Location: Hiero

Re: Firmware v5.6

Postby Sjaak » Sat Aug 07, 2010 11:23 am

Looks like we are going to split the firmware up into multiple chunks. See also the poll about this: http://dangerousprototypes.com/forum/in ... opic=794.0

I'm gonna add some #defines to base.h to make two versions of the firmware, that will limit us less in the development ;) Also make the libraries definable. Downside is the textes are currently stored as one big blob into the firmware. I leave this for now, till a good idea pops up.

My vision is to keep at least in each firmware:
- The terminal system (D'uh!)
- scripting
- usermacro
- raw2wire
- raw3wire
- binmode
- sump
- easteregg
- openocd

Firmware 1:
- spi
- i2c
- 1wire

Firmware 2:
- lcd (readd the i2c board?)
- keyboard
- jtag?
For my projects and failures see my blog: http://SMDprutser.nl/
User avatar
Sjaak
Fellow
Fellow
 
Posts: 3297
Joined: Sun Jan 03, 2010 2:45 pm
Location: Hiero

Re: Firmware v5.6

Postby Randy » Sat Aug 07, 2010 12:22 pm

ian wrote:Couple bugs in servo mode:
*Does not prompt if no value is provided
*Allowed in HiZ
*Needs documentation :)


See http://dangerousprototypes.com/forum/index.php?topic=780.0

I guess it should have been posted here.

Randy
Randy
Newbie
Newbie
 
Posts: 33
Joined: Mon Jun 21, 2010 7:30 pm

Re: Firmware v5.6

Postby Sjaak » Sat Aug 07, 2010 1:52 pm

No problem! I was already integrating it into the current source...

Should be ready soon. :)
For my projects and failures see my blog: http://SMDprutser.nl/
User avatar
Sjaak
Fellow
Fellow
 
Posts: 3297
Joined: Sun Jan 03, 2010 2:45 pm
Location: Hiero

Re: Firmware v5.6

Postby Sjaak » Sat Aug 07, 2010 2:52 pm

I just commited rev 467 to the svn:

- improved servo code (provided by Randy)
- updated the text for servo code, added servo command to the help
- split the firmware into essential and demo to temporary address the space issues
- updated the 'i' command (between [] are the modules compiled in)


The essentials firmware:

Code: Select all
HiZ> i
Bus Pirate v3a
Firmware v5.6RC (r467) [HiZ 1-WIRE UART I2C SPI 2WIRE 3WIRE] Bootloader v4.1
DEVID:0x0447 REVID:0x3043 (B5)
http://dangerousprototypes.com
HiZ>


The demonstration firmware:

Code: Select all
HiZ> i
Bus Pirate v3a
Firmware v5.6RC (r467) [HiZ 2WIRE 3WIRE KEYB LCD] Bootloader v4.1
DEVID:0x0447 REVID:0x3043 (B5)
http://dangerousprototypes.com
HiZ>


the new helpscreen:

Code: Select all
General                                 Protocol interaction
---------------------------------------------------------------------------
?       This help                       (0)     List current macros
=X/|X   Converts X/reverse X            (x)     Macro x
~       Selftest                        [       Start
#       Reset                           ]       Stop
$       Jump to bootloader              {       Start with read
&/%     Delay 1 us/ms                   }       Stop
a/A/@   AUXPIN (low/HI/READ)            "abc"   Send string
b       Set baudrate                    123
c/C     AUX assignment (aux/CS)         0x123
d/D     Measure ADC (once/CONT.)        0b110   Send value
f       Measure frequency               r       Read
g/S     Generate PWM/Servo              /       CLK hi
h       Commandhistory                  \       CLK lo
i       Versioninfo/statusinfo          ^       CLK tick
l/L     Bitorder (msb/LSB)              -       DAT hi
m       Change mode                     _       DAT lo
o       Set output type                 .       DAT read
p/P     Pullup resistors (off/ON)       !       Bit read
s       Script engine                   :       Repeat e.g. r:10
v       Show volts/states               .       Bits to read/write e.g. 0x55.2
w/W     PSU (off/ON)            <x>/<x= >/<0>   Usermacro x/assign x/list all
2WIRE>


And here some statistics:

essential firmware: 61269 bytes (96%)
demonstration firmware: 51066 bytes (80%)
For my projects and failures see my blog: http://SMDprutser.nl/
User avatar
Sjaak
Fellow
Fellow
 
Posts: 3297
Joined: Sun Jan 03, 2010 2:45 pm
Location: Hiero

Re: Firmware v5.6

Postby Sjaak » Sat Aug 07, 2010 3:09 pm

And added the command to the wiki
For my projects and failures see my blog: http://SMDprutser.nl/
User avatar
Sjaak
Fellow
Fellow
 
Posts: 3297
Joined: Sun Jan 03, 2010 2:45 pm
Location: Hiero

Re: Firmware v5.6

Postby Randy » Sat Aug 07, 2010 9:26 pm

Sjaak wrote:The idea behind HiZ is there is no output/interaction on the pins. basicly in HiZ it is safe to attach the buspirate to anything (almost ;))


Although being in HiZ mode does prevent you from generating a PWM, returning to HiZ does not remove the AUX pin from the timer and allow the pin to return to an input.

If you add this:

Code: Select all
BP_AUX_RPOUT = 0;    //remove output from AUX pin


to bpInit() in base.c it will disconnect the AUX pin and return it to HiZ.

Randy
Randy
Newbie
Newbie
 
Posts: 33
Joined: Mon Jun 21, 2010 7:30 pm

Re: Firmware v5.6

Postby ian » Sun Aug 08, 2010 3:03 am

Thanks guys, and good catch on the reset when changing modes. I wonder if that effected the PWM too.
Got a question? Please ask in the forum for the fastest answers.
User avatar
ian
Crew
Crew
 
Posts: 10803
Joined: Mon Jul 06, 2009 6:14 am

Re: Firmware v5.6

Postby henkvbeek » Sun Aug 08, 2010 6:01 am

Hello, Ian and other Hero members,

I've firmware 5.5 installed.

I do not understand the voltage monitor. In my opinion pin 10, black, is always GND. Also there are other pins wich cannot get another function.
So, can you guys explain.

Henk.
henkvbeek
Newbie
Newbie
 
Posts: 5
Joined: Sat Aug 07, 2010 3:47 am

Re: Firmware v5.6

Postby Sjaak » Sun Aug 08, 2010 6:41 am

There are two manufacturers of the buspirate and they both make probe cables. Unfortunately they use both the same colourscheme, but backwards. The official outlet is seeed (we sell all our hardware there) and thus we support their cables.

The discussion is here: http://dangerousprototypes.com/forum/in ... opic=502.0 and in the newterm topic http://dangerousprototypes.com/forum/in ... en#msg4653

All the pins (except the powersupplies and gnd) can have other functions. The function of the pin changes with the protocol choosen.

Ps. Kaaskop? :D
For my projects and failures see my blog: http://SMDprutser.nl/
User avatar
Sjaak
Fellow
Fellow
 
Posts: 3297
Joined: Sun Jan 03, 2010 2:45 pm
Location: Hiero

Re: Firmware v5.6

Postby Scorpia » Sun Aug 08, 2010 7:20 am

Sjaak wrote:Looks like we are going to split the firmware up into multiple chunks. See also the poll about this: http://dangerousprototypes.com/forum/in ... opic=794.0

I'm gonna add some #defines to base.h to make two versions of the firmware, that will limit us less in the development ;) Also make the libraries definable. Downside is the textes are currently stored as one big blob into the firmware. I leave this for now, till a good idea pops up.

My vision is to keep at least in each firmware:
- The terminal system (D'uh!)
- scripting
- usermacro
- raw2wire
- raw3wire
- binmode
- sump
- easteregg
- openocd

Firmware 1:
- spi
- i2c
- 1wire

Firmware 2:
- lcd (readd the i2c board?)
- keyboard
- jtag?



Im not sure how much it would save but i would consider making the easter egg option in a compile your owm version.

I figure that if you are compiling your own version then you probably know about the easter egg anyway so wont need it.

I assume it might save some space that could be used by something else.
Scorpia
Global Moderator
Global Moderator
 
Posts: 243
Joined: Thu Jul 23, 2009 6:47 am

Re: Firmware v5.6

Postby henkvbeek » Sun Aug 08, 2010 11:01 am

Thanks to Sjaak for the explanation.

Ps: Yes, Breda
henkvbeek
Newbie
Newbie
 
Posts: 5
Joined: Sat Aug 07, 2010 3:47 am

Next

Return to Bus Pirate Development