Da wird schon ziemlich viel RAM für die globalen Variablen verbraucht. Die restlichen 32% müssen noch für den Stack und die lokalen Variablen reichen. Da könnten such eventuell die Schachtelungstiefe der Funktionen rächen. Da wäre ggf. ein lauf im Simulator angesagt um zu testen ob der Platz reicht.

Ein Punkt um etwas Platz auf dem Stack zu sparen wäre es Funktionen wie turn_deg_x, die nicht so oft genutzt werden als "static inline " deklariert. Es könnte sein das der Compiler auch schon so darauf kommt und ohne den Hinweis die entsprechende Optimierung macht.