avr-fw-modules/core/src/fp_normalize_arc.c

19 lines
269 B
C
Executable File

#include "hwo/fixpoint.h"
/* "Normalize" an arc to range 0..360° */
fixpoint_t fp_normalize_arc(fixpoint_t arc)
{
fixpoint_t a;
if ((arc >= 0) && (arc < fp_make(360)))
return arc;
a = arc % fp_make(360);
if (a < 0)
return a + fp_make(360);
return a;
};