Add links to forum

Changes to be committed:
	modified:   README.md
Merge branch 'battery'
Add ADC library and battery empty detection.
Add LED patterns

Changed x4_set_leds() to be able to set state of individual LEDs.
Implement different patterns for various states: pre-binding, calibration, connection lost etc.
Update README with new features.

Changes to be committed:
	modified:   README.md
	modified:   src/bradwii.c
	modified:   src/config_X4.c
	modified:   src/config_X4.h
	modified:   src/imu.c
	modified:   src/rx_x4.c
Fix formatting
Changes to be committed:
	modified:   README.md
Make lookup tables static const.

I don't see the need to keep them in RAM.

Changes to be committed:
	modified:   lib-Mini51/hal/lib_fp.c
	modified:   lib-Mini51/hal/lib_fp.h
Change control parameters

The control parameters are closer to the original firmware.
Very slow lift-off and flying close to the ground are now possible.

P increased, D increased, I decreased, I limit decreased

The integral part of PID is now nearly disabled.

Changes to be committed:
	modified:   src/bradwii.c
	modified:   src/config_X4.c
Update README for new control parameters

Changes to be committed:
	modified:   README.md
Accelerometer calibration in EEPROM for X4

If there are no calibration parameters in EEPROM, everything stays the same as before: calibration of
accelerometer and gyro is performed after binding with TX and data not saved in EEPROM.
4 slow LED blinks have been added to indicate that no EEPROM data has been found and a level surface is needed.

If parameters have been loaded from EEPROM, only gyro calibration is executed after
binding with the TX. No need to worry about a level surface when flying outside anymore.

To calibrate accelerometer and store the calibration data in EEPROM:
 * put quadcopter on level surface
 * quadcopter must be not armed
 * throttle stick in lowest position
 * move roll stick back and forth 3 times
Rotating LED pattern indicates the calibration process.
Data is stored in EEPROM (=data flash in Mini54) automatically.

When uploading a firmware containing new PID parameters make sure to erase the data flash, otherwise the firmware will still use the old values.
The PID paramaters are stored together with the accelerometer calibration.

Trying to keep the code for the other models working:
On all other  models (not Hubsan X4) EEPROM storage is still disabled.
It should be possible to execute the calibration using the roll stick.
No change for LED.
This is not tested.

Changes to be committed:
	modified:   src/bradwii.c
	modified:   src/config_X4.h
	modified:   src/eeprom.c
	modified:   src/imu.c
	modified:   src/imu.h
	modified:   src/serial.c
New flight mode "yaw hold"

In "yaw hold" mode the yaw PID controller works on the accumulated yaw errors
instead of just the last yaw error. So it controls the angle instead of the
yaw rate. If the quadcopter gets rotated away from its desired heading, it will not actively
try to rotate back. It is similar to compass mode, but without using a compass.
Yaw hold mode can be activated using the checkboxes. It is currently set to AUX2 low.
I don't know if this mode works in combination with acro modes.

PID control parameters for yaw have been changed again.

Changes to be committed:
	modified:   src/checkboxes.c
	modified:   src/checkboxes.h
	modified:   src/config_X4.c
	modified:   src/pilotcontrol.c
Update README with accelerometer calibration and yaw hold mode.

Changes to be committed:
	modified:   README.md
Merge remote-tracking branch 'TheLastMutt/master'
Update README.md