Adding R7008SB end byte as a possible end of frame check for S.Bus
RevoMini: fix SBUS definition
RevoMini: include SBUS driver
RevoMini: enable INCLUDE_SBUS flag
Revo: enable clock for SBUS GPIO port
RevoMini: forgot remap for SBUS
Added ESC calibration procedure.

The button for ESC calibration was added to Output page next
to "Test outputs" checkbox. It walks user through the whole
process of calibration, beggining with channel selection that
allow to select specific outputs.

This feature was requested and can be closed here:
https://github.com/TauLabs/TauLabs/issues/1177

Reported-by: cGiesen Signed-off-by: Ivan Sevcik ivan-sevcik@hotmail.com
Flight: remove PyMite

This is some nice code but currently unused and unmaintained.
It has also been surpassed by PicoC.
Merge pull request #1229 from peabody124/pymite

Flight: remove PyMite
Copyright: bump header dates
R70008SB: correct implementation of end byte detection

According to Rusty's data sheet these are the possible
end byte values

 *    00000100
 *    00010100
 *    00100100
 *    00110100

Previously doing a modulo would only detect the second
end byte, which makes the code work but drop 3/4 of the
frames.

The correct implementation is to mask out the 0x30 bits
and check for the constant 0x04. It would also be possible
to have a more robust check for lost packets by looking at
the sequence since Rusty's original diagnostic found it was
deterministic. However, since we don't currently have a
consistent way to determine RSSI from the driver this isn't
done.

This code can be verified by the following python code:
for a in [int('0b00000100',2), int('0b00010100',2), int('0b00100100',2), int('0b00110100',2)]:
   ....:     print `(a % 0xCF, a & 0xCF)`
   ....:
(4, 4)
(20, 4)
(36, 4)
(52, 4)

Showing a mask produces a constant value.
Merge pull request #1116 from peabody124/sbus_fix

Adding R7008SB end byte as a possible end of frame check for S.Bus
Geofence: basic module that sets an alarm

This module provides a warning and error radius from
home and sets an alarm when the PositionActual UAVO
indicates we are further than that from home.

Conflicts:
	flight/targets/flyingf3/fw/Makefile
	flight/targets/freedom/fw/Makefile
	flight/targets/quanton/fw/Makefile
	flight/targets/revolution/fw/Makefile
	flight/targets/revomini/fw/Makefile
	flight/targets/sparky/fw/Makefile
	shared/uavobjectdefinition/modulesettings.xml
Geofence: connect into manual control

The logic is that whenever the geofence module is enabled
and the position is outside the radius, the motors disable,
regardless of what the transmitter says.

The transmitter is still in charge of arming and disarming.
Geofence Fix: did not refresh settings
Freedom: forgot to enable geofence uavo
ManualControl: do not attempt geofence control on CC

We can probably change this at some point since we can
always just use a simple NED translation for CopterControl.
GCS/Modules: add support for geofence configuration

Conflicts:
	ground/gcs/src/plugins/config/configmodulewidget.cpp

Conflicts:
	ground/gcs/src/plugins/config/modules.ui
SparkyBGC: do not try to run geofence
Geofence: comment requested in review