Reorganized code for pixel framebuffer in order to have it instantiated once
and for all the possible display drivers. Dropped the display_getFrameBuffer()
function.
Using the newlib's printing functions without floating point support in order
to reduce the overall binary size. This allows to free up around 15kB of space
in the .text section.
Switched to int32_t for RSSI representation to allow running the code also
on devices with limited resources. Defined a new ad-hoc type to still keep
the possibility of using floating points on more capable devices.
Removing 18pt and 24pt fonts from graphics layer since currently are unused
and take up flash space. On MD-380, removal freed up 12'928 bytes in the
.text section.
General code optimization allowing to reduce the overall binary size, especially
for devices without hardware floating point support. On the MD-380 (which has the
FPU) the .text size has been reduced of 4'928 bytes.
This will change the bahavior of the left and right button in callsign input:
The right button will add a new character to the input starting at `A`.
The right button will stop at the maximum allowed length.
The left button will delete the current charater.
The left button will go back one character and make it editable again.
The left button will not do anything when only one character is displayed.
Restructured the M17Demodulator class and rewritten the
demodulator logic to have a more solid lock on the
baseband stream. This fixes the long standing bug of the
demodulator causing random losses of lock even when
receiving a solid baseband stream.
Audio path from codec2 to speaker is now set up only when an incoming stream
with matching CAN and destination callsign is received. Speaker is then turned
off when the demodulator goes back in unlocked state.
GD77 and DM-1801 already have an hardware low-pass filter on the battery measurement
probe which causes the low battery protection to trigger at boot if the digital low
pass filter is also used. Given that the hardware one is good enough for our purposes,
the digital filter is now excluded.
Provides a fix for #221
The "revisions since last tag" version field is now accurately named and no longer checked. Extra parentheses also added to reduce compiler warnings.
Fix#217
Append the sources of the main entrypoint only when defining the build
targets for the executables. This avoids having the symbol for main()
defined twice when building the unit tests.