I'm new to DIYDrones and have been poking around the ArduPilot-Mega code a bit, fetching the latest GIT repo contents. My project is to make an autonomous vehicle, but using a different board, the Arduino Uno. For the 3 RC channels, GPS, Sonar, and compass, the Uno has enough I/O pins for the task, but I'm not sure if it has enough SRAM and flash (2K and 32K respectively) for a usable AP engine.
What I would like to do is derive a minimal set of AP_* libraries necessary for my agv (no GCS, no telemetry), remap the board configuration, and just see if I can get this to fit on the Uno. Not necessarily work yet, but fit first.
One of the first things to do is define a board description/configuration for the Uno, but I've not seen what this entails yet. Can anybody describe or point me to any documentation that describes how this is done?
For future searches regarding the Arduino Uno...
This has been an interesting exercise, but I've learned a few things that convinced me to not continue on this. Being new to the ArduPilot (&Mega) code base, I was unaware of the relationships between the old ArduPilot hardware, its code, and the newer ArduPilot-Mega HW & Code, vs APM2. I think I have it all straight now, and see my work would have been redundant.
One technical issue I could not resolve was due to the Uno hardware itself. With UART0 connected to the USB bridge, I could not use that for the GPS. I tried using SoftSerial, NewSoftSerial (arduino <1.0) and other combinations, but eventually the GPS stream gets corrupted and I lose data. I don't know if it was interference, but it didn't seem so.
At this point I've switched development to the 2560 chip, primarily for the extra UARTs and external interrupts that will make it easier.