paparazzi/paparazzi — pull request #318 by gtoonstra (2012-11-02 17:42:44+00:00)
Title: W5100 implementation

Complete implementation for the W5100 ethernet chip, which allows telemetry to be sent over ethernet/wifi, replacing the xbee. It also reads command packets. Hooking this up to the ground station requires one to run 2 UDP scripts, which proxy the data from the ethernet connection to the paparazzi UDP ports that are open, reusing earlier work done on UDP links through an overo I think?

See below for possible configuration details.

It is recommended to use the WIZ811MJ breakout board of sparkfun, as others have issues with the SPI_EN gate not connected through an inverter, leaving the chip activate during other comms on the same IP bus (if this appies).

Connect the chip on the external SPI1. You can configure the multicast ip, port and (fixed) ip in the airframe file:

The ground segment includes two additional python scripts, which work as proxies on the local machine. I've attempted to work with the caml script, but that isn't my thing and this seemed the easiest thing to do. I had to pull in one commit regarding the definition of some v_ctl_* parameters to get my airframe to compile.

I'm still looking for a solution on the while loop in the get/set functions. The chip unfortunately cannot send multiple bytes in one transaction, so one byte of telemetry actually costs 4 bytes on the SPI bus, plus more to query read/write pointers and perform the actual sending.

Throughput on SPI is about 0.3Mb/s maximum. I did not change the telemetry file, but it should be possible to increase the frequency of certain messages there. I don't feel the need to do that however and it may slow down other loops.