November 10, 2006
about 4 years ago
Let me say this is a great device! I’m working on a project that needs I2C support (happens to also be a LED driver, the PCA9635PW) and I’m using the LinkM as a generic laptop to I2C interface.
One issue I’m having however is speed. I’m using the linkm-tool from the SVN checkout to control my devices. I’ve altered the source code for that tool to repeatedly call ‘usbhidGetReport’ with 3 bytes of control data for my devices. Adding timing calls around 256 iterations of this I’m seeing about 4 Kbit/s throughput.
I’m sure there’s some loss in translating the USB serial data into the I2C format, but given that the max speed for I2C is 3.4 Mbit/s and USB is at least 1.5 Mbit/s, that’s at least 3 orders of magnitude difference.
Am I missing something? Have others gotten faster transfer rates through this device? Thanks!
about 5 years ago
A few notes on what it took to get me going on this. First, I found that the chip I got with this sequencer was actually the ATmega328P rather than the ATmega168V. Get a bright light and a magnifying glass and double check your chip to make sure you know what you’ve got. Its important for avr-gcc when building the code and for avrdude when programming the device.
Secondly, thanks @mellis for the corrected code. This gets the sequencer lighting the wire were the original did not. I noticed however, that the ‘line_on’ and ‘line_off’ functions were inverted for me, i.e. ‘line_on’ actually turned off the wire and ‘line_off’ turned it on. Also there is superfluous code in those functions to turn off the last lit line. I was confused why this was necessary and my setup has worked just fine without it.
Finally, I noticed that avr-gcc doesn’t recognize atmega328p as a chip name but will accept atmeta324p and build a compatible binary. Avrdude still needs ‘atmega328p’ however, so my Makefile is a bit hacked up now. I thought maybe I had an old avr-gcc but after an update I still had the issue.
No public wish lists :(
Forgot your password?
No account? Register one!