W5100 Driver
#1
Posted 08 September 2010 - 07:05 AM
#2
Posted 08 September 2010 - 09:02 AM
#3
Posted 08 September 2010 - 03:24 PM
Krisw,
Thanks for the post, and welcome to the Netduino community!
Speaking of which...would you be willing to share your code for the W5100 shield with the community?
We're working on a few Ethernet options as well... As far as integrating W5100 into the .NET MF, that can be done either in managed code (by creating a replacement for the System.Net classes) or in native code (by writing a "native driver" for the shield).
Chris
Sure, although I will admit the code is fudged out of various bits of other peoples efforts on the net. I need to tidy it up and check it all works without blowing up!
Is there a default place that all drivers get deposited?
#4
Posted 08 September 2010 - 05:04 PM
Sure, although I will admit the code is fudged out of various bits of other peoples efforts on the net. I need to tidy it up and check it all works without blowing up!
Is there a default place that all drivers get deposited?
Right now, we're sharing projects and code in the "Project Showcase" forum:
http://forums.netdui...oject-showcase/
We're also working on a Sandbox wiki which should be launching later this year--and should provide an even nicer repository.
If you post something online, please make sure that attribute the original authors as appropriate and that you're not using any legally-restricted 3rd-party source code.
Chris
#5
Posted 08 September 2010 - 09:18 PM
Unlike the Fez stuff, it will use the interrupt, and implement all the async stuff.
I wasn't going to say anything till it was done, but since someone else is looking at using the chip, I figured I would let you know that it was in progress.
The chip doesn't seem to work according to spec, and I'm trying to figure out why. The SPI timing diagrams that they have in their app note, seem to be wrong.
For example to read a register on the chip the following works as it should:
snip... var outbuf = new byte[3]; var inbuf = new byte[1]l oputbuf[0] = 0x0f; outbuf[1] = //high byte of address; outbuf[2] = //low byte of address; spi.WriteRead(outbuf, inbuf, 3); snip...The correct value is read from the register.
However doing a 4 byte write, to write a value to the register does not work. You have to do four one byte writes. This should not work, since raising SS should clear the input sequence.
In about a week or so, since I have to work on what I get paid for, as well, I should have something to upload to the board.
--Dave
#6
Posted 09 September 2010 - 12:47 AM
#7
Posted 13 September 2010 - 07:25 AM
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users