This project is based on the PUF (PIC USB Framework http://vasco.gforge.enseeiht.fr/) and adds functionnalities allowing basic transfers with a PIC18F4550. It is intended as a test for transfers between kernel-space and a PIC18Fx5xx, using OSS only, and out of the box just sends the value of a counter.
The main particularity of this project is that it provides a kernel module that creates a /dev/ device allowing raw transfers from the PIC to the PC.
The maximum transfer speed obtained is around 300kB/s (and is quite stable), with some pre-loading of the packets done in the module to try to compensate for the slow PICs used. The firmware uses a double buffering trick to also boost the max data rate (ping pong buffering is not used, as not to have to change the PUF bootloader).
The circuit needed to use this is exactly the same as for the PUF (and can be simplified even more).
What you will find in this package :