if the buttons grid overlaps vertically with wizard buttons,
move it left to use only the space left to wizard buttons;
Hide the OpenPilot Logo when workspace buttons don't
fir the screen;
Limit the size of community panel on small screen
These compiler options place each function and each global variable
into its own ELF section in each .o file. This, combined with the
linker option --gc-sections allows the linker to evict unused functions
and variables from the final ELF file.
On CC, the firmware flash bank is only 118784 bytes in total.
This commit reduces the .text segment from 114120 to 83536 and .data
from 572 bytes to 560 bytes. That frees up a grand total of 30596 bytes
of flash and 12 bytes of RAM.
The event dispatcher thread is started differently than most other
threads so it was missed in the taskinfo tracking information. Now
it's also included.
Scales each channel only based on max and min calibrated values.
The neutral value is now ignored so the joystick sees a linear
range between min and max.
This is particularly useful to allow the full range of values for
throttle to be passed through to the joystick.
Also copy the default configuration xml files. These are now on
the shared folder together with the stylesheet instead of being
inside a resource file.
Stylesheets and configuration files are now copied from SRC/SHARED to
APP/SHARED
Unlike QPainter::setRenderHints(),
QGraphicsView::setRenderHints() set the render hints to flags passed as parameter,
so QPainter::TextAntialiasing flag is cleared.
changint it to setRenderHint or adding QPainter::TextAntialiasing
value fixes the AA text rendering.
Protecting with mutex stateChanged(Phonon::State)
and starting/stopping playback looks dangerous,
the media player may emit another state change leading to deadlock.
The mutex should not be necessary here
since all the slots are executed in the main thread.
Changing the objectUpdated(UAVObject*) connection type
to Qt::QueuedConnection is not strictly necessary,
signals between threads are queued by default,
it serves more the documentation purpose.
Refactored coordinate conversion names in order to be clearer, since
two identically named functions-- one in revo, one here-- performed
very different maths.