Arduino libraries and documentation for using the uM-FPU V3.1 floating point coprocessor has been added to the Arduino:Playground.
The uM-FPU coprocessor can be used to offload 32-bit floating point operations from the Arduino. User-defined functions can be stored on the FPU. The FPU also provides support for GPS sentence parsing.
See: http://www.arduino.cc/playground/Code/Fpu
Hi camt, the uM-FPU seems pricy. Is there any real benefit for applications such as GPS parsing compared to using a second SPI connected Arduino to do the floating point. I am wondering if the programmability of an arduino acting as a co-proccessor would offset the theoretical performance benefit of the FPU chip. At the rate the data comes out of a GPS, I would think a second arduino would be more than up to the job.
But I have no experience with that FPU chip, what do you think?
The FPU is a general purpose floating point coprocessor that can be used for a variety of applications, GPS is just one of them. It has more floating point support built-in then would fit on most Arduinos, but a custom application would probably not use all of them. The Arduino is a capable chip, and could certainly be used to as the base platform to develop a variety of coprocessors - including a GPS coprocessor. The FPU is just another option. The main benefit of using the FPU would be to take advantage of the co-processor interface and instructions that are already defined and implemented. Having said that, there's nothing to prevent someone from developing their own coprocessor from scratch.
My post may have sounded more negative than intended, I agree that the chip would be handy for applications that need heavy FP support. My point was that for something like GPS parsing, popping an Arduino GPS library into a runtime board connected via SPI may be a low cost and flexible option. Good to have the choice