"I am already looking at the C++ stuff - and have been for a year or two. The avr-g++ compiler does have some issues and hence I abandoned a pure C++ version of the library - but I may start by wrapping the C code with a thin C++ layer (like Arduino and others do). This would allow existing user code to continue to function in C only mode as well as allowing C++ notation."
Im assuming this is what Webbot did, and what is being uploaded to the Axon is a hex file compiled from C "wraped in a thin C++ layer" for ease of use.
Oddly enough, making a minor change eliminated that problems, and neatened up my code abit.
if (leftticks < rampdownticks)
leftspeed = interpolate(leftticks, rampdownticks, backtotaldistanceticks, -40, DRIVE_SPEED_MIN);
This does exactly the same thing, but it uploads fine. I went to mirror the code for the right wheel, and ran into the same problem, with the identical line of code. It doesnt matter what I put in the if statement, it fails to upload. Anything from declaring a variable, making leftspeed a specific number, anything at all and the program wont load.
I was going to do this all by hand as a coding exercise, and then was going to implement PID as I believe that would be a better solution in the long run anyway.