Can anyone help me trim this down? (8,168 of 8,192 used)

The big fish is the floating-point stuff. Unfortunately, removing it requires reworking the PID code.

How good are you at fixed-point (fractional) math?