secopsbot / the-bus-pirate Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/the-bus-pirate
License: Other
Automatically exported from code.google.com/p/the-bus-pirate
License: Other
Send file and write to EEPROM. Requires write and page length settings. Add
as macro to SPI and I2C libraries?
Original issue reported on code.google.com by [email protected]
on 2 Jul 2009 at 6:58
I2C slave mode in hardware library
Original issue reported on code.google.com by [email protected]
on 20 Aug 2009 at 6:22
What steps will reproduce the problem?
1. Connect the Bus Pirate to a board with more than one device on the JTAG
chain. I used a Digilent Spartan-3 Starter board which has an XC3S200 FPGA
and XCF02S Flash PROM on the JTAG chain.
2. Run the JTAG Probe Chain macro.
What is the expected output? What do you see instead?
Only the first device on the chain, the XC3S200, is detected.
What version of the product are you using? On what operating system?
Bus Pirate v2go. Firmware v2.1-RC2.
Please provide any additional information below.
In the code for the probe macro, in jtag.c around line 202, there is a
while-loop which scans the chain. There is an if-test for a timeout/limit
of 250 devices. The test has the wrong comparison operator. It has a "<"
instead of ">" so it breaks out of the while-loop on the first iteration.
Original issue reported on code.google.com by [email protected]
on 25 Aug 2009 at 3:44
Is it possible to make the I2C address for this library configurable at run
time?
Some PCF8574 variants use a different I2C address (e.g. PCF8574A 0x38 to 0x3f)
Perhaps the address could be prompted for when selecting the LCD mode?
Original issue reported on code.google.com by [email protected]
on 5 Jan 2010 at 3:33
Add clock sample and phase options to bitbang library
Original issue reported on code.google.com by [email protected]
on 18 Aug 2009 at 7:04
The UART live capture on Buspirate v2go, does not work. I have tried
different versions 2.5, 3.0.
I believe that it is caused by line 174 in UART.c (current trunk - r87)
if(UART1RX()==' ')break; //escape
This line waits for input from user.
The line should be replaced by something like:
if (U1STAbits.URXDA==1){
if (U1RXREG == ' ') break;
}
do the checking only when data is ready in the buffer.
Original issue reported on code.google.com by michal.demin
on 3 Dec 2009 at 8:24
Add MIDI protocol library
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:35
Add simple stepper motor control. Will require a FET break-out board.
Original issue reported on code.google.com by [email protected]
on 2 Nov 2009 at 7:40
macro in the UART library for bridge
Original issue reported on code.google.com by [email protected]
on 15 Sep 2009 at 11:39
Added library and hardware adapter to drive common HD44780 LCDs
Original issue reported on code.google.com by [email protected]
on 11 May 2009 at 7:58
It would be nice to have an easy way to send and receive data using these
radio modules through BusPirate.
Original issue reported on code.google.com by [email protected]
on 1 Nov 2009 at 1:53
Attachments:
bpWintdec() in base.c doesn't display correct value from bpPWM() in AUXpin.c.
1=1,10=10,100=10,1000=10,10000=10, etc.
Original issue reported on code.google.com by [email protected]
on 6 Apr 2009 at 3:09
Implement a self test.
Part 1: self test on command (~) (implemented in V2go)
Part 2: power-on-self-test to make production faster.
Original issue reported on code.google.com by [email protected]
on 24 Jul 2009 at 12:28
Controller area network protocol.
What type of physical layer transceiver is needed?
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:34
Add a configuration menu and pulse-width modulator to the AUX pin.
Will require:
1. Routine to assign and setup the PWM hardware on the AUX pin.
2. Menu to configure period and duty cycle (in KHz, MHz, ms?).
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:21
Allow binary larger than 8 bits. Break into chunks and process as normal.
Original issue reported on code.google.com by [email protected]
on 29 Jun 2009 at 2:35
0x10 = DS18s20 (DS1820) <- is the older model
0x28 = DS12B20
Original issue reported on code.google.com by [email protected]
on 24 Jul 2009 at 1:51
Schematic complete, need Cadsoft Eagle footprint and part number for MIDI
connector.
Original issue reported on code.google.com by [email protected]
on 14 Apr 2009 at 11:46
Add a feature to repeat the previous command.
Original issue reported on code.google.com by [email protected]
on 3 Apr 2009 at 11:55
This Is a Syncronous Serial Protocol
There have 2 lines. Data and Clock.
Every frame has 128 Clock Cycles.
Cycles 4 a 63 - Main CPU send information for Output
Cycles 68 a 127 - Main CPU Receive information of inputs.
The first Cycles 0 to 3 and 64 to 67 are sync singals. Status and Command
for Write or Read
Original issue reported on code.google.com by [email protected]
on 5 Sep 2009 at 4:10
Add infrared data protocol.
What type of tranceiver is needed? Microchip MCP2120/MCP2140a?
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:36
What steps will reproduce the problem?
Do the usual procedure to start PirateRename (unload kext etc)
What is the expected output? What do you see instead?
Clicking to Read cause some garbage name to appear however comunication with
chip doesn't work
What version of the product are you using? On what operating system?
Latest PirateRename (1.0) compiled by me for PPC since available precompiled
version is Intel only.
Please provide any additional information below.
I'm on an Ibook G4 with latest Leopard and updates with latest FTD2XX driver.
Original issue reported on code.google.com by [email protected]
on 15 Feb 2010 at 5:25
Keyboard protocol depends on the keyboard to give the clock signal. If
there's no keyboard, or an incorrect connection, the Bus Pirate just hangs
while waiting for the clock pulse. This should be corrected with a timeout
in the read and write bit functions.
Original issue reported on code.google.com by [email protected]
on 29 Apr 2009 at 7:03
There's no way to read the current configuration settings from the device.
Are the pull-up resistors on? Who knows.
This item adds a configuration report.
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:31
Give visual indication that the bootloader is active.
Original issue reported on code.google.com by [email protected]
on 21 Jul 2009 at 5:54
The current JTAG programmer uses its own scratch buffer. It would be better
to have a global scratch buffer that is assigned a pointer in the setting
struct and passed to modules as needed.
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:29
Add the automotive OBD-II protocols.
What type of physical layer interface is required?
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:33
Add some facility to quickly calculate CRC values of a packet. Could use
the PIC24 hardware CRC generator.
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:28
The UART bridge mode might include an option for automatic baud detection
if the target device's baud rate is unknown.
When the baud rate is unknown the bus pirate can look at a few incoming
characters and then time the received bits to figure out the proper baud rate.
After the incoming baud rate is detected, then it enters a mode where it
translates from that baud rate to the configured host baud rate (the user
defines it).
With this feature implemented the user can simply plug the bus pirate into
an unknown serial interface and read from it without going through the pain
of manually sweeping all available baud rates until ungarbled data starts
to appear.
Original issue reported on code.google.com by [email protected]
on 7 Aug 2009 at 12:47
Some enhancements for the I2C library
Original issue reported on code.google.com by [email protected]
on 20 Aug 2009 at 6:23
I have started writing a python library for the bus pirate. It's ugly and
messy, but I was able to use it to dump the firmware from the SPI chip on
the DS Lite.
The source code is available at http://github.com/audiohacked/pyBusPirate
You can contact me if you need more information.
Original issue reported on code.google.com by [email protected]
on 22 Sep 2009 at 12:43
For the servomotors, a frequency of 300Hz could be sufficiently low (the
period should be between 3 and 20milliseconds). And then, the time at the
high state will determine the output angle of the servomotor (between 0.5
and 2.5ms approximately, depending on the type of servomotor).
So either you can set a frequency between 400Hz (=2.5ms at the high state)
and 2KHz (=0.5ms at the high state) to drive the servomotor. Or you can set
a fixed frequency of 300Hz for example and change the duty cycle to change
the output angle of the servomotor.
Original issue reported on code.google.com by [email protected]
on 2 Nov 2009 at 7:39
UART->terminal pass through macro in LCD library. Use arrows?
Original issue reported on code.google.com by [email protected]
on 11 May 2009 at 4:29
Need to put second SPI hardware module on the MOSI pin so it snoops data in
both directions.
Add configuration option.
Original issue reported on code.google.com by [email protected]
on 14 Apr 2009 at 11:44
What steps will reproduce the problem?
1. Use python script to set bitbang mode
2. Try to use the raw_set_pins function in BitBang.py
3.
What is the expected output? What do you see instead?
Pins are set. Pins are not set.
What version of the product are you using? On what operating system?
BitBang.py r168, OS X 10.5.8
Please provide any additional information below.
Line 107 uses the "config" parameter, but the function declaration
specifies the "pins" parameter as such:
106 def raw_set_pins(self, pins):
107 self.port.write(0x80 | config)
Line 171 (function cfg_pins) uses pins in the call to self.port.write().
Original issue reported on code.google.com by [email protected]
on 22 Dec 2009 at 2:43
A new syntax command that pauses until the state of the AUX pin changes.
Might include:
1. Configurable direction (H->L, L->H).
2. Escape command/timeout to avoid a stuck device.
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:23
Add UART access to bin mode.
Original issue reported on code.google.com by [email protected]
on 16 Oct 2009 at 10:45
Add the DMX industrial lighting protocol.
Transceiver/physical layer? RS484?
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:38
Allow binary larger than 8 bits. Break into chunks and process as normal.
Original issue reported on code.google.com by [email protected]
on 29 Jun 2009 at 2:35
The bootloader requires interrupt remapping before interrupts will work in
the main firmware.
Original issue reported on code.google.com by [email protected]
on 26 Mar 2009 at 1:55
Current repeat values (e.g. r:10) are up to one byte, or 255. This change
would add integer length repeat values.
1. Update protocol libraries to pass integer repeat values.
2. Update repeat reading routine to read integer values and return integer
repeat values.
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:27
Right now it's easy for the bus sniffers to fall behind because the current
terminal transmit function is blocking (waits until it can send the bytes)
and sniffed bytes can be missed. A better solution is to buffer the
terminal output and periodically check the TX UART to see if more bytes can
be copied. Basically a cooperative multitasking setup.
Original issue reported on code.google.com by [email protected]
on 28 Apr 2009 at 6:49
Store up to 10 (?) command sequences as macros for quick playback.
Original issue reported on code.google.com by [email protected]
on 3 Apr 2009 at 11:56
Add a macro to the I2C library that reads activity from a bus and prints it
to the terminal until stopped with escape.
Since the hardware I2C module doesn't work this will be a bit challenging,
fortunately I2C isn't a high-speed protocol. Best solution is probably to
use the pin change notification interrupts to detect start and stop
sequences, and clock in the bits. This will need a buffer to hold decoded
bytes while the Bus Pirate converts the raw values to ASCII characters for
display.
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:18
save some space on the stack, make extensions and references easier.
Original issue reported on code.google.com by [email protected]
on 15 Sep 2009 at 11:40
Add LIN protocol.
Check the Microchip MCP2021 transceiver.
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:37
If sniffing/capture/buffering is one of the goals, then this could be a great
idea.
provide an internal I/F IC2 for example that would allow a 2nd board to be
attached as a sandwich.
the 2nd board could carry an LCD display, SD card slot for the respective
sniff/capture/data
storage, and a keypad to allow the user to use the interface. associative
support chips (how about
an RTC) would also sit on this board perhaps even with a more robust test cable
interface?
The best thing would be it would be an optional accessory to allow standalone
use, everything
(perhaps more as some functions could not be used in a standalone phase) would
beavailable from
the USB.
Original issue reported on code.google.com by [email protected]
on 1 Nov 2009 at 7:28
What steps will reproduce the problem?
1. Use RealTerm to send 27 bytes of 0x0.
2. BP resturns with "BBIO1BBIO1BBIO1BBIO1BBIO1BBIO1BBIO1BBIO1"
which is correct.
3. Try to exit bit-bang mode by sending 1 byte of 0xF.
4. BP responds with "BBIO1" which is incorrect.
5. Doesn't matter how many 0xF are now sent, cannot exit bit-bang
mode. Also appears you cannot enter any deeper modes, I2C, SPI etc. BP
always responds with BBIO1.
What is the expected output? What do you see instead?
The BP should exit bit-bang mode and report:
Bus Pirate v3
Firmware v4.2 Bootloader v4.2
DEVID:0x0447 REVID:0x3043 (B5)
http://dangerousprototypes.com
Funnily enough if you use the same procedure but only send 26 bytes the BP
responds correctly.
What version of the product are you using? On what operating system?
Bus Pirate v2.go
Firmware v4.2 Bootloader v4.2
DEVID:0x0447 REVID:0x3043 (B5)
Please provide any additional information below.
This is causing a problem when trying to script the BP and reset it from
an unknown state. It is very easy to get it locked up.
Original issue reported on code.google.com by [email protected]
on 17 Mar 2010 at 3:00
This can be implemented by using the hardware SPI slave mode.
The primary challenge is buffering incomming data while the Bus Pirate
converts the raw value into ASCII for the terminal. This will probably
require reconfiguring the UART and SPI to use their buffers, and using
interrupts to move bytes from the SPI slave buffer to a larger processing
buffer.
Original issue reported on code.google.com by [email protected]
on 31 Mar 2009 at 2:14
Promote PWM input to HZ for better resolution and greater range of values.
Will need a long number handling routine, or promote existing integer
number routine to handle longs.
Original issue reported on code.google.com by [email protected]
on 14 Apr 2009 at 11:31
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.