Makefile: enable LTO

This rearranges Makefile a bit and enables Link Time Optimisation
which leads to a smaller code (77724 text with gcc 4.7.3).

Unconditionally adding -ggdb3 doesn't affect code size anyhow as all
the debugging info is stored in separate sections.

Build-tested only.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Makefile: link with -nostartfiles

This saves a bit more space and a reasonable thing to do since a
custom startup is used anyway.

Build-tested only.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Makefile: switch to newlib-nano

This makes the binary considerably smaller (73852 text with gcc
4.7.3, 71620 text with gcc 4.9.0 from TNT).

Build-tested only.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Merge pull request #140 from paulfertser/master

Flash size optimisations, LTO support. Tested with rev5 hw and 4.7.3 gcc-arm-embedded.
Make code warnings-free with -pedantic

This removes a function that's no longer used, and inline specifiers
from include file (where they're useless anyway). This makes the whole
default project warnings-free with -Wall -pedantic.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
making boxes[] in serial.c static const to move them to rodata and free ~200bytes RAM
Merge pull request #141 from paulfertser/master

Make code warnings-free with -pedantic, this should guard against more programming errors in the future
Makefile: add -lc to make debug build with -nostartfiles happy

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Merge pull request #142 from paulfertser/master

Makefile: add -lc to make debug build with -nostartfiles happy
Fix more warnings to make it pass -Wextra -Wshadow -Wunsafe-loop-optimizations

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Merge pull request #143 from paulfertser/master

Fix more warnings to make it pass -Wextra -Wshadow -Wunsafe-loop-optimiz...
Update cli.c

let user set small angle to 180 , let user arm in any orientation , test ok
Merge pull request #144 from treymarc/patch-1

user can arm in any orientation with small angle to 180
Ignore some isdight project files
CN - Another ignored insight project file
CN - Speed up timer IRQ handlers by removing loops executed with each interrupt.
CN - Ignore more Insight project files
CN - Clear EXTI interrupt ASAP in IRQ handler.
CN - Combined separate calls to sensors() to reduce unnecessary function call.
CN - Change so that some calculation of motor values is only done if the device is armed. Seems a waste of time otherwise.