I am calculating angles from a 3-axis accelerometer, but my compiler doesn't have a atan or atan2 function. It has a reserved memory slot, but it calls a function i can't find in any files.
My compiler is Keil µVision 4 running the ARMCC compiler. The compiles has the file math.h, but the function is extern and doesn't exist:
extern _ARMABI double atan2(double /*y*/, double /*x*/);
Is there a lib or function I can include that has the function arctan implemented? Or is there an alternative function to calculate angles from accelerometer? I need full 3-axis calibration of the angles.
Edit: I was hoping to avoid a table full of pre-calculated values.
Its not very difficult to implement your own arctan2
. Convert arctan2
to arctan
using this formula. And you can then calculate arctan
using this infinite series. If you sum sufficient number of terms of this infinite series, you will get very close to what the library function arctan2
does.
Here is one similar implementation for exp()
that you could use as a reference.