Addressed much larger flash size with avr-gcc v4.9.2. Refactored reports to save 160KB.

- The newest Arduino IDE 1.6.12 has recently updated to avr-gcc v4.9.2.
Unfortunately, it produces a compiled size almost 0.7KB to 1KB larger
than prior versions! This can easily cause the base build to exceed the
Arduino Duemilanove/Nano flash limit of 30.5KB. The Arduino Uno seems
to be ok still with its 31.5KB flash limit.

- Makefile `-flto` compile flag added to cut down on the horrible flash
size when using the new avr-gcc. (Edit Makefile and remove comment on
COMPILE definition). This brings it in-line with what the IDE produces.

- Functionalized repetitive tasks in report.c to try to reduce overall
flash size. Successfully cut down about 160bytes.

- Removed printFloat_SettingValue() and printFloat_RPMValue()
functions. These aren’t required and can be replaced with a direct call
to printFloat() because they don’t require a unit conversion check.
This commit is contained in:
Sonny Jeon
2016-09-25 00:05:25 -06:00
parent c0f61e4aac
commit b04faaf0d3
6 changed files with 144 additions and 112 deletions

View File

@ -1,3 +1,21 @@
----------------
Date: 2016-09-24
Author: Sonny Jeon
Subject: Serial RX count bug fix. Settings codes CSV. More documentation.
- Reverted back the serial RX count function to how it was. The
variable type was unsigned and cause an integer underflow whenever the
calculation produced a negative number. The old way was the correct way.
- Lots of minor edits to the code CSVs and markdown documents.
- Expanded on explaining feedback messages and startup line execution
feedback.
- Created a new settings codes CSV to help GUIs import the values and
meanings.
----------------
Date: 2016-09-22
Author: Sonny Jeon