Copter: switch to block based logs for SITL
Plane: Enable CURRENT logging by default onto Dataflash
Rover: Enable CURRENT logging by default to dataflash
Copter: Enable CURRENT logging by default to dataflash
Copter: make if statement clearer
Plane : AP_L1_Control : Added readme with reference to research paper and Simulink model
Merge branch 'master' of git://github.com/diydrones/ardupilot

# By Andrew Tridgell (62) and others
# Via Andrew Tridgell (1) and Craig Elder (1)
* 'master' of git://github.com/diydrones/ardupilot: (91 commits)
  Copter: make if statement clearer
  Copter: Enable CURRENT logging by default to dataflash
  Rover: Enable CURRENT logging by default to dataflash
  Plane: Enable CURRENT logging by default onto Dataflash
  Copter: switch to block based logs for SITL
  autotest: fixed dump of file based logs
  Plane: fixed APM1-1280 build
  .gitignore: added files commonly produced by autotest
  Copter: add SONAR_GAIN to tune reaction to sonar
  Copter: replace fabs with fabsf
  Copter: add fourth yaw behaviour, look-at-home
  Rover: print mode as string in logs
  Copter: print flight mode as string
  Plane: print flight mode as string in logs
  DataFlash: added support for printing flight mode as a string
  AP_GPS: removed duplicate print_latlon()
  Copter: removed duplicate print_latlon() declarations
  DataFlash_File: fixed creation of 0.log
  Copter: added board voltage to current message
  DataFlash: convert example sketch to new API
  ...
Plane : APM_Control : Changes to roll and pitch to improve robustness and performance

Changed rate feedback to body rates and added servo demand sensitive integrator windup protection to roll and pitch
Plane : APM_Control : Added rate feed forward compensation for banking in pitch law
Plane : APM_Control : Fixed potential NaN in pitch control.
Plane : APM_Control/AP_PitchController.cpp : Removed legacy turn compensation and replaced with new calculation

Calculation feeds forward the component of turn rate about the pitch axis
Plane : APM_Control/AP_PitchController.cpp : Changed call to airspeed to use airspeed estimate from ahrs

This ensures that an airspeed estimate is available even when an airspeed sensor is not fitted.
Plane : APM_Control/AP_PitchController.cpp,h : Fixed bugs in roll compensation and added protection for bad airspeed values
Plane : Updated APM_Control/AP_PitchController.cpp, APM_Control/AP_PitchController.h and Attitude.pde to catch airspeed errors
Plane : APM_Control/AP_PitchController.cpp, APM_Control/AP_PitchController.h : Fixed compiler error message in SITL build
Plane : APM_Control/AP_PitchController : Modified noise filter to use FOH discretisation and cleaned up code
Plane : APM_Control, Attitude.pde : Roll noise filter, integrator logic & tidy-up

Improved FOH discretised noise filter added to roll channel
Roll integrator inhibited below FBW min airspeed
Roll processing changed to use degrees as much as practical
Commenting improved
Plane : APM_Control/AP_PitchController.cpp : Moved roll compensation in pitch controller to after roll rate limit.

This prevents small values on the pitch rate limit causing nose dropping in turns.
Plane : APM_Control/AP_PitchController.cpp : changed abs call to fabsf to improve efficiency
Plane : AP_L1_Control.cpp : Added error trap to catch invalid loiter_direction values and set them to a default value of +1