Lucas De Marchi
80cf1207b7
AP_HAL_VRBRAIN: UARTDriver: fix writting with failures
...
When the buffer wraps and we do it in 2 steps, we can't actually do the
second part if it fails or if we wrote less bytes than we intended,
otherwise we will corrupt the data being sent.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
68fc08fe52
AP_HAL_VRBRAIN: fix resetting TX buffer
...
We can't give the TX buffer 16 bytes more since next time begin() is
called it will compare the buffer size to the value the caller is trying
to set. In this case we would free and alloc the buffer again each time
begin was called.
2016-10-27 14:23:43 +11:00
Murilo Belluzzo
e8bfcf02a0
VRBRAIN UARTDriver: Make use of ByteBuffer class
...
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.
Although the exchange opens opportunities for improvement and
simplification of this class.
While at it, just like in the write case, explain why we are stopping.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
4df627693d
AP_HAL_PX4: UARTDriver: fix writting with failures
...
When the buffer wraps and we do it in 2 steps, we can't actually do the
second part if it fails or if we wrote less bytes than we intended,
otherwise we will corrupt the data being sent.
While at it, just like in the write case, explain why we are stopping.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
4346f1dd83
AP_HAL_PX4: fix resetting TX buffer
...
We can't give the TX buffer 16 bytes more since next time begin() is
called it will compare the buffer size to the value the caller is trying
to set. In this case we would free and alloc the buffer again each time
begin was called.
2016-10-27 14:23:43 +11:00
Murilo Belluzzo
c7a65a026c
AP_HAL_PX4: UARTDriver: Make use of ByteBuffer class
...
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.
Although the exchange opens opportunities for improvement and
simplification of this class.
2016-10-27 14:23:43 +11:00
Lucas De Marchi
26650049c0
AP_HAL_Linux: UARTDriver: fix writting/reading with failures
...
When the buffer wraps and we do it in 2 steps, we can't actually do the
second part if it fails or if we wrote less bytes than we intended,
otherwise we will corrupt the data being sent.
2016-10-27 14:23:42 +11:00
Murilo Belluzzo
ce81c45f80
AP_HAL_Linux: UARTDriver: Make use of ByteBuffer class
...
This patch replaces the 'old style' ringbuffer by the ByteBuffer class.
An effort was made to keep the exchange as close as possible from a
drop-in replacement to minimize the risk of introducing bugs.
Although the exchange opens opportunities for improvement and
simplification of this class.
2016-10-27 14:23:42 +11:00
Murilo Belluzzo
8526b25654
RingBuffer: Add a faster method to read a single byte
2016-10-27 14:23:42 +11:00
Michael du Breuil
deec4ec6af
Compass: Rework compass calibrator
...
Summary of significant changes:
-Autsave doesn't depend on STREAM_EXTRA3
-Don't risk only saving one compass on copter if CAL_ALWAYS_REBOOT is set
-Only calibrate compasses that are both health and marked for use (there was a inconsistency in handling the mask)
-Fix incorrect failure reporting on DO_ACCEPT_MAG_CAL with a mask of 0 if a channel was specifically not started
-Fix not starting the buzzer if the delay is set to 0 seconds
-Always send MAG_CAL_REPORT until its acknowledged
-Correct the field in MAG_CAL_REPORT for autosave to indicate if the compass had actually been saved, rather then being scheduled to be saved
-Remmove unused public interfaces
2016-10-27 14:04:33 +11:00
floaledm
6869dace08
AP_Frsky_Telem: moved msg queueing of fw string
2016-10-26 09:49:30 -07:00
floaledm
56432f04d3
AP_Frsky_Telem: fixed airspeed; now same as VFR_HUD
2016-10-26 09:36:22 -07:00
Mathieu OTHACEHE
5e42800b5e
Disco: add LED support
...
Use RGBLed generic implementation to support Disco LED.
2016-10-26 11:56:11 -03:00
Leonard Hall
42672de606
AC_PosControl: set Alt_Hold filter for PID not just D
...
We normally don't use the D term here so setting the filter for PID not
just D lets us smooth the throttle response.
2016-10-26 21:00:43 +09:00
Francisco Ferreira
5a7f9a38fe
DataFlash: fix RCIN and RCOU structure types
2016-10-26 10:10:19 +09:00
murata
762a66c9e5
AP_GPS_SBF: Adjust the initial value of HDOP
2016-10-26 09:54:59 +11:00
Peter Barker
2bd13af43d
AP_Param: unhide groups when generating parameters in autotest
2016-10-26 09:53:14 +11:00
Peter Barker
dd7d41b1f3
SITL: unhide groups when generating parameters in autotest
2016-10-26 09:53:14 +11:00
Andrew Tridgell
d2287caf1c
HAL_SITL: removed old servo slew rate code
2016-10-25 20:39:38 +11:00
Andrew Tridgell
5e03358b0b
SITL: added servo filtering
...
SIM_SERVO_SPEED is servo time constant in seconds
2016-10-25 20:39:38 +11:00
Lucas De Marchi
539b727e5e
AP_HAL_Linux: Remove misleading constant
...
The constant passed to cflag is BOTHER, meaning the actual baud is set
in the other specific members. Don't define B* constants as they are
misleading here and this is why it doesn't work with e.g.
cfset[io]speed()... that function expect a B* constant which in Linux
is not the speed, but an index to an array with speeds.
2016-10-25 16:55:33 +11:00
Francisco Ferreira
3a89421c70
AP_BattMonitor: remove Bebop fixed capacity
...
Bebop, Bebop2 and Disco all use this class but it was always setting the capacity to the Bebop one, overriding the parameter
2016-10-24 09:24:11 -03:00
Martin Evans
0e19b8c9a0
AP_HAL_Linux: Set initial rotation on Dark to None
2016-10-24 10:00:24 -02:00
Martin Evans
6f6112d7c2
AP_HAL_Linux: Add setting for GPIO for Dark board
...
Just like other RPI-based boards.
2016-10-24 10:00:24 -02:00
Martin Evans
d2d3119b66
AP_HAL_Linux: PCA9685: Add quinary address
2016-10-24 10:00:06 -02:00
Martin Evans
37b85fd3cd
AP_HAL: Add Dark Linux board
2016-10-24 09:59:02 -02:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Peter Barker
d188504b8b
AC_Fence: remove unused variable _boundary_revalidate
2016-10-24 08:57:56 -02:00
Peter Barker
6e72c899d1
AP_GPS: AP_GPS_GSOF: remove unused variable
2016-10-24 08:57:56 -02:00
Peter Barker
216a6493c9
AP_Compass: AP_Compass_LSM9DS1: remove unused variable
2016-10-24 08:57:56 -02:00
Peter Barker
64154feaef
DataFlash: remove unused semaphore variables
2016-10-24 08:57:56 -02:00
Peter Barker
c664eec93b
AC_WPNav: remove unused variable _last_update
2016-10-24 08:57:56 -02:00
Peter Barker
6f200cdc3d
SITL: SIM_Rover: remove unused variables
2016-10-24 08:57:55 -02:00
Peter Barker
e17a71c6cc
AP_GPS: AP_GPS_NOVA: remove unused variables
2016-10-24 08:57:55 -02:00
Peter Barker
d3422d1653
SITL: SIM_Tracker: remove unused variable
2016-10-24 08:57:55 -02:00
Peter Barker
5dad8745d5
DataFlash: remove bogus function declaration
2016-10-24 08:57:55 -02:00
Andrew Tridgell
9d6a5c6f04
HAL_PX4: make ready_to_arm state latching
...
this fixes a race condition in the handling of the px4io safety switch
2016-10-24 13:36:04 +11:00
Peter Barker
17883f6683
AP_InertialSensor: fix INS_generic example (call BoardConfig.init())
2016-10-24 11:00:22 +09:00
Andrew Tridgell
2a44e6a7d7
HAL_PX4: cope with no px4io on FMUv2
...
don't open px4fmu twice
2016-10-23 17:15:32 +11:00
Andrew Tridgell
68f0777dac
AP_Param: fixed bug with deeply nested parameter trees
...
enumeration could loop forever if the IDs overlapped due to 8 bit
masking
2016-10-23 15:27:42 +11:00
Andrew Tridgell
7bf81c44b0
AP_BoardConfig: allow programmatic setting of default safety mask
2016-10-21 11:53:34 +11:00
Andrew Tridgell
0bd3b8ecbd
AP_BoardConfig: fixed bug in fmu safety mask set
2016-10-21 09:10:55 +11:00
Andrew Tridgell
c825c7b4cc
HAL_PX4: disable FMU outputs again on re-engaging of safety switch
2016-10-21 09:10:55 +11:00
Andrew Tridgell
8cb93ae7c3
AP_BoardConfig: call PWM_SERVO_IGNORE_SAFETY on fmu as well
2016-10-21 09:10:55 +11:00
Andrew Tridgell
07c09ad6dc
AP_BoardConfig: expanded bitmask to 14 channels for safety mask
2016-10-21 09:10:55 +11:00
Andrew Tridgell
d2e4b73eda
Revert "GCS_MAVLink: default to MAVLink2 enabled"
...
Reverting change to MAVLink2 by default until SiK radio firmware issue
with ECC is sorted out
2016-10-21 07:55:02 +11:00
Andrew Tridgell
1171b33419
AP_TECS: added TECS_SYNAIRSPEED parameter
...
this allows for the synthetic airspeed estimate to be used in TECS
2016-10-20 13:22:39 +11:00
Andrew Tridgell
7ee42d3a7e
AP_TECS: fixed missing doc comment
2016-10-20 13:22:22 +11:00
priseborough
9779511425
AP_NavEKF2: Fix bug in median filter code
2016-10-19 19:45:00 +09:00
priseborough
d0ba259d0d
AP_NavEKF: Fix bug in median filter code
2016-10-19 19:44:58 +09:00
Peter Barker
6ccf36439d
AP_Frsky_Telem: actually set _ap.value flags based in is_flying
...
Closes #5017
2016-10-18 22:17:07 -07:00
Randy Mackay
e6e6e36da7
AP_GPS_MAV: fix hdop conversion
2016-10-18 20:24:55 +09:00
Andrew Tridgell
a847520da8
GCS_MAVLink: send RC_CHANNELS_RAW if using MAVLink1
...
this fixes issue #5010
2016-10-18 18:16:16 +11:00
Julien Beraud
20dcd6e082
RCOutput_Bebop: fix motor order
...
Accidentally pushed in commit 298f7bffb9
The order of the motors shouldn't have been changed on version 5 because
it is specific to older versions of the ESC controller firmware
2016-10-17 20:55:49 +11:00
Georacer
54c1efe5e1
Connection to last_letter once again successful
2016-10-17 09:37:23 +11:00
Andrew Tridgell
24d3399fd5
AP_Module: report loaded hooks on startup
...
useful for debugging
2016-10-17 09:31:51 +11:00
Andrew Tridgell
33bff3c79c
HAL_Linux: fixed transmitter failsafe with SBUS RCInput
2016-10-17 06:53:33 +11:00
Andrew Tridgell
8f88d7c784
AP_HAL: fixed comment on XPlus channels
...
thanks for Francisco for noticing
2016-10-17 06:49:40 +11:00
Andrew Tridgell
110355f14e
HAL_Linux: fixed SRXL and DSM
...
fixed default decoder state and fixed mic-recognition of SRXL as DSM
2016-10-16 21:31:37 +11:00
Andrew Tridgell
4d44591e62
AP_HAL: fixed decoding of XPlus channels
2016-10-16 19:05:19 +11:00
Andrew Tridgell
e9633553fb
HAL_Linux: update for changed SRXL API
2016-10-16 19:05:19 +11:00
Andrew Tridgell
ec8c22f26e
AP_HAL: support up to 20 channels on SRXL
...
tested with 18 channels on a DSM18 transmitter with a AR7700 receiver
with SRXL port
2016-10-16 19:05:19 +11:00
Andrew Tridgell
ece0a8721f
AP_HAL: added standalone test program for dsm
...
useful for debugging
2016-10-16 19:05:19 +11:00
Andrew Tridgell
03f9496549
HAL_Linux: lock onto a single decoder on the 115200 port
2016-10-16 19:05:19 +11:00
Andrew Tridgell
513156a4cc
HAL_Linux: make 115200 R/C decoders return a bool
2016-10-16 19:05:19 +11:00
Andrew Tridgell
710d08da6d
HAL_Linux: support SRXL R/C input
2016-10-16 19:05:19 +11:00
Andrew Tridgell
7b3d0234d1
AP_HAL: added an SRXL protocol decoder
...
SRXL ports are commonly found on newer spektrum receivers like the AR7700
2016-10-16 19:05:18 +11:00
murata
bb1a787852
AP_Scheduler: To add a comment to _loop_rate_hz variable.
2016-10-16 00:02:40 -07:00
Andrew Tridgell
f9dd31b6e5
RC_Channel: support automatic servo trimming
2016-10-16 15:20:47 +11:00
Lucas De Marchi
e6d5bac527
AP_Param: don't used reserved word in macros
...
`class` is a reserved word and should not be used as macro arguments.
It's very common in C++ to use "clazz" instead in these cases.
2016-10-15 15:19:17 -03:00
Andrew Tridgell
792f3b8a15
GCS_MAVLink: added handle_rc_bind()
2016-10-15 21:42:38 +11:00
murata
ba60cce0c1
AP_HAL: simplify the processing of milliseconds from the time
2016-10-15 18:33:54 +09:00
Andrew Tridgell
f01f711ff6
GCS_MAVLink: added accept_packet() hook
...
this will allow vehicles to control whether packets are accepted by
GCS sysid or not
2016-10-15 17:11:01 +11:00
Andrew Tridgell
992bf2368e
RC_Channel: cope with SERVO_RNG_ENABLE changing while booted
...
this prevents a one second throttle up on scaled ESCs when
enabling/disabling the servo output mapping
2016-10-15 16:59:37 +11:00
Andrew Tridgell
4a9ddf52e0
RC_Channel: constrain output to servo range
...
don't allow servos past configured range in any mode
2016-10-15 16:59:36 +11:00
Andrew Tridgell
2ceddddd3b
RC_Channel: don't call output() in SRV_Channel
...
we may need to run another mixer
2016-10-15 16:59:36 +11:00
Andrew Tridgell
78ef3b77c6
RC_Channel: added disable_passthrough() method
2016-10-15 16:59:36 +11:00
Andrew Tridgell
2ec439d7e3
RC_Channel: added set_esc_scaling() to SRV_Channels
2016-10-15 16:59:36 +11:00
Andrew Tridgell
73b9123495
RC_Channel: added set_trim() API to SRV_Channels object
2016-10-15 16:59:35 +11:00
Andrew Tridgell
c7f8b255e7
RC_Channel: added SRV_Channels object for remapping output channels
...
this allows for decoupling RC input ranges from servo output ranges
2016-10-15 16:59:35 +11:00
Andrew Tridgell
fea7903aa8
RC_Channel: added get_radio_out_normalised()
2016-10-15 16:59:35 +11:00
Andrew Tridgell
96c7d9dde8
RC_Channel: make output_trim() go via _radio_out
...
this ensures that _radio_out always contains the value that would be
output to the channel. This will be used by the SRV_Channels object
2016-10-15 16:59:35 +11:00
Leonard Hall
bead957a78
AP_MotorsMulticopter: limit hover throttle
2016-10-15 11:27:53 +09:00
Peter Barker
e71c71fcac
AP_HAL: correct casting of get_system_clock_ms
2016-10-14 18:41:56 +11:00
Jonathan Challinger
8df4add729
AC_PrecLand: trust initial velocity less
2016-10-14 10:46:22 +09:00
Jonathan Challinger
ec73f563ad
AC_PrecLand: do not fuse EKF velocity
2016-10-14 10:46:16 +09:00
Jonathan Challinger
7405f82d61
AC_PrecLand: add ekf to estimate vehicle-relative target velocity
2016-10-14 10:46:05 +09:00
Jonathan Challinger
5a8db4f271
AC_PosControl: add interface to override horizontal velocity process variable
2016-10-14 10:46:01 +09:00
Jonathan Challinger
25a14fe0dc
AP_AHRS: add interface to retrieve corrected delta velocities in NED frame
2016-10-14 10:45:58 +09:00
Andrew Tridgell
c1bf23e090
GCS_MAVLink: fixed comment
2016-10-14 11:40:36 +11:00
Randy Mackay
4808664fb6
AC_Avoidance: allow use of AP_Proximity
2016-10-13 20:21:07 +09:00
Randy Mackay
c3087edbe8
AP_Proximity: add library and SF40C driver
2016-10-13 20:21:07 +09:00
Randy Mackay
cc0bfcddcb
AP_SerialManager: add Lidar360 to protocol list
...
This is used for the proximity sensor
2016-10-13 20:21:07 +09:00
Andrew Tridgell
53260969bb
GCS_MAVLink: removed deprecated RC_CHANNELS_RAW and use RC_CHANNELS only
2016-10-13 21:23:39 +11:00
Andrew Tridgell
e78651e8f2
HAL_PX4: fixed DSM bind on Pixracer
2016-10-13 19:58:00 +11:00
Andrew Tridgell
5e829e7720
GCS_MAVLink: most users don't have signing keys
...
prevent noise on startup
2016-10-13 19:58:00 +11:00
Randy Mackay
9722c3a1c3
DataFlash: fix logging of ekf core
2016-10-13 15:22:59 +09:00
John Hsu
fc13efa673
SITL: update SIM_Gazebo SITL interface servo packet to have 16 floats, matching sitl_input struct.
2016-10-13 12:03:20 +11:00
John Hsu
a8cf38b366
SITL: implement Gazebo SITL for IRLock tracking.
2016-10-13 12:03:20 +11:00
Jonathan Challinger
e20687fbce
AP_AHRS: cache trim rotation
2016-10-13 10:02:14 +11:00
Jonathan Challinger
80d9092993
AP_Math: remove rotateXY and rotateXYinv
2016-10-13 10:02:14 +11:00
Jonathan Challinger
dac59cb5da
AP_NavEKF2: use exact matrix for trim rotation
2016-10-13 10:02:14 +11:00
Jonathan Challinger
3eba985afd
AP_NavEKF: use exact matrix for trim rotation
2016-10-13 10:02:13 +11:00
Jonathan Challinger
5ff78b8e47
AP_AHRS: fix rotation of acceleration into earth frame
2016-10-13 10:02:13 +11:00
Jonathan Challinger
a03fa2d3cf
AP_AHRS: use exact matrix for trim rotations
2016-10-13 10:02:13 +11:00
Andrew Tridgell
7f09d20e3b
HAL_Linux: implement cork and push for remaining RCOutput backends
2016-10-13 10:00:04 +11:00
Andrew Tridgell
c8179a0887
HAL_Linux: implement cork/push for RCOutput_AioPRU
2016-10-13 10:00:04 +11:00
Andrew Tridgell
e356797888
AP_HAL: make cork() mandatory in RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
0640b6539c
HAL_Linux: implement cork()/push() for Raspilot
2016-10-13 10:00:04 +11:00
Andrew Tridgell
1d6e4673da
HAL_Empty: add cork() and push() for RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
7ea75aaf95
HAL_QURT: implement cork() and push() for RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
5530e3782d
HAL_VRBrain: fixed cork() for RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
c493ba81e4
HAL_PX4: fixed cork() for RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
a80eea5de4
HAL_Linux: implement cork()/push() for HAL_Linux RCOutput_Sysfs
2016-10-13 10:00:04 +11:00
Andrew Tridgell
97d0553938
HAL_SITL: implement cork() on RCOutput
2016-10-13 10:00:04 +11:00
Andrew Tridgell
7cd7f03d56
AP_Motors: fixed use of trim on heli servos
...
this was broken by the servo range 0 to 1 changes
2016-10-13 09:34:48 +11:00
Andrew Tridgell
0cd3054a4c
HAL_Linux: document the Disco PWM pinout
2016-10-12 21:41:49 +11:00
Andrew Tridgell
c64a020384
GCS_MAVLink: default to MAVLink2 enabled
...
this changes the default to enable MAVLink2 on USB and the primary
telemetry port. Note that unless signing is enabled it won't send a
MAVLink2 packet until the GCS sends a MAVLink2 packet
2016-10-12 11:35:50 +11:00
ShingoMatsuura
8432c5fb4a
AP_RangeFinder: remove number_detections member variable and add number_detections reference argument to parse_response
2016-10-11 07:56:37 -03:00
ShingoMatsuura
43f2482abd
AP_RangeFinder: modify spelling and change C type cast to static_cast
2016-10-11 07:56:37 -03:00
ShingoMatsuura
6123fad124
AP_RangeFinder: change error and ok status defines to LeddarOne_Status enum
2016-10-11 07:56:37 -03:00
Jonathan Challinger
77dbf99cee
AC_PosControl: fix bug related to ekfNavVelGainScaler
2016-10-11 15:25:59 +09:00
Lucas De Marchi
ae53920e5b
build: don't build examples with old build system
...
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file. Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Gustavo Jose de Sousa
06c3102701
SITL: SIM_Calibration: bring angular velocity controller back
...
And fix header documentation.
2016-10-11 12:58:37 +11:00
Andrew Tridgell
9caf44b494
AP_GPS: update drivers for changed inject_data() API
...
need 16 bit length
2016-10-11 11:00:35 +11:00
Andrew Tridgell
500df1edf2
AP_GPS: support GPS_RTCM_DATA fragmented MAVLink message
...
support re-assembly of RTCM data packets
2016-10-11 11:00:35 +11:00
Michael du Breuil
cf5e79f80e
AP_GPS: ublox support user controlled rate updates
...
Also corrects accepting bad nav rates as configured, and fixes a incorrect
index as to which GPS is being updated
2016-10-11 10:44:51 +11:00
Michael du Breuil
86c2b1d84a
AP_GPS: u-blox Remove 5Hz warning
...
The warnings test case is better covered by the rest of the driver
while it is performing the normal settings audit.
2016-10-11 10:44:51 +11:00
Michael du Breuil
3e3f539a6a
AP_GPS: Raise target baud of u-blox devices
...
A knockon effect is that we need less config strings as raw logging
on u-blox will use the same baud rates
2016-10-11 10:44:50 +11:00
floaledm
49e47fd679
AP_Frsky_Telem: airspeed scaling factor fix
2016-10-10 15:29:49 -07:00
Leonard Hall
0a56d69d54
AP_MotorsMulticopter: Use same throttle value used by motors
2016-10-10 16:40:08 +09:00
priseborough
5d09c78f34
AP_NavEKF2: Always perform optical flow takeoff check when receiving data
...
A specialised takeoff check is now always performed when we receive new flow data as the default behaviour is to try and use flow data whenever it is received, rather than limit its use to a use to a flow-only mode of operation that had to be selected via user parameter.
2016-10-10 14:49:48 +09:00
priseborough
a75a383ef2
AP_NavEKF2: Update protection for out of focus flow data
2016-10-10 14:49:41 +09:00
priseborough
635826c056
AP_NavEKF2: Fix reporting of terrain estimator innovations
...
Terrain height is relevant whenever optical flow data is present
2016-10-10 14:49:35 +09:00
priseborough
b0072b587c
AP_NavEKF2: fix reporting of optical flow use status
2016-10-10 14:49:24 +09:00
priseborough
ed9ecb28fb
AP_NavEKF2: Enable entry into relative position mode on start-up
2016-10-10 14:49:21 +09:00
priseborough
e0b8c54194
AP_NavEKF: Update GPS type parameter description
2016-10-10 14:49:18 +09:00
priseborough
f9018fcc1b
AP_NavEKF2: Enable simultaneous optical flow and GPS use
...
Enables simultaneous use of GPS and optical flow data with automatic fallback to relative position mode if GPS is lost and automatic switch-up to absolute position status if GPS gained/re-gained.
2016-10-10 14:49:02 +09:00
priseborough
ab55991b33
AP_NavEKF2: Report position jumps due to lane switches
...
Also moves code required to update reset data due to lane switches into separate functionscto improve readability.
2016-10-10 11:56:14 +09:00
murata
36b5d43efb
AC_Avoid: delete variable that is only used once in a simple calculation
2016-10-05 16:25:57 +09:00
Andrew Tridgell
2fab15dcd5
AP_TECS: added use_synthetic_airspeed() API
...
used by quadplane during transitions
2016-10-05 11:52:34 +11:00
Andy Little
0d113b265c
Examples: fix examples for px4
...
The change to use AP_BoardConfig messed up the examples. Here are some
updated but there are plenty more to do.
2016-10-04 12:50:47 -03:00
Murilo Belluzzo
0b86532b5c
Global: Remove '\r' character from all source code files
2016-10-03 22:13:27 -03:00
Julien Beraud
714c8fd318
AP_InertialSensor_MPU6000: Add support for fsync bit for Bebop
...
Already present on Disco
2016-10-03 12:20:03 -03:00
Andy Little
4b2eedac05
AP_HAL: Split the AP_HAL_Boards.h header into per board sub headers for legibility
2016-09-29 08:26:50 -03:00
Tom Pittenger
3adf8c3e51
AC_AttitudeControl: comment odd math in get_att_target_euler_cd
...
degree(100) = 1 float multiplicaiton
vector3f * degree(100.0f) = 4 float multiplications
degree(vector3f) * 100.0f = 6 float multiplications and needs new degree(vector3f) function
degree(vector3f * 100.0f) = 6 float multiplications and needs new degree(vector3f) function
These all come to the same conclusion but the one that is faster appears to be a bug but is mathematically correct.
2016-09-27 17:04:53 -07:00
floaledm
602b81a4d7
AP_Frsky_Telem: add ekf_status check
2016-09-27 09:20:32 -07:00
floaledm
27e977289a
AP_AHRS: add the get_variances method found in AP_AHRS_NavEKF to AP_AHRS
2016-09-27 09:20:32 -07:00
Peter Barker
a10cde35f5
DataFlash: stop logging before filling SD card on PX4
...
Filling the SD card causes NuttX to have conniptions, including
data loss and failure to boot
2016-09-26 14:02:58 -07:00
Jonathan Challinger
25bee93fcc
DataFlash: fix EKF5 message
2016-09-26 13:42:00 -07:00
Tom Pittenger
99d48d8bbd
AP_FrSky_Telem: cleanup, non-functional change
2016-09-26 13:12:42 -07:00
floaledm
fcfaa98bb6
AP_Frsky_Telem: reworked _statustext_queue.empty() check
2016-09-26 13:07:18 -07:00
Tom Pittenger
8001cc403b
AP_Frsky_Telem: fix is_flying assignment
2016-09-26 13:00:33 -07:00
floaledm
5e022bf631
AP_Frsky_Telem: fix *_ap.value issue for Plane
...
set_is_flying does operations on a nullptr, plus we loose the ability to
update ap_status accordingly for Plane
2016-09-26 12:35:47 -05:00
Francisco Ferreira
42cd8e9721
AP_NavEKF2: Handle yaw jumps due to core switches
...
Based on work from Paul Riseborough (priseborough)
2016-09-25 18:24:11 -07:00
Francisco Ferreira
8da22e441b
Revert 3 commits about yaw reset core switch
...
Revert "AP_NavEKF2: Fix bug in published yaw reset value found during code review"
commit 175faf1e41
.
Revert "AP_NavEKF2: use a struct for all yaw step class variables"
commit 77fad065d1
.
Partially revert "AP_NavEKF2: Handle yaw jumps due to core switches"
commit 885bfd1b4e
.
2016-09-25 18:24:11 -07:00
floaledm
ff0d0b1aa5
AP_Frsky_Telem: use ringbuffer for Frsky message queueing
2016-09-25 18:11:45 -07:00
murata
d58c193c90
AP_RangeFinder: To define the OK status to LEDDARONE status.
2016-09-25 17:46:22 -07:00
Tom Pittenger
b3d5375aa0
AP_Frsky_Telem: simplify init by assuming everything is nullptr
...
- also always queue the firmware message regardless of protocol type
2016-09-25 10:42:02 -07:00
Tom Pittenger
6991ca53b3
AP_Frsky_Telem: allow default arguments in init() to set things to nullptr
2016-09-25 10:42:02 -07:00
floaledm
94aa6c4cfb
AP_Frsky_Telem: consolidate into a single frsky.init()
2016-09-25 10:42:02 -07:00
Michael du Breuil
9c4b3ec1e1
AP_GPS: Fix incorrect incrementing of last_baud rate
...
This is a revert of 7c3b8dceb
which tried to start at index 0 of the
array of baudrates, however because of the way last_baud is used
this lead to a GPS always being reported as being 1 index off which
lead to users getting reports of baud rates that their GPS wasn't
configured for
Also renames last_baud to be current_baud as that is how it's
actuallly used and should reduce future confusion
And fixed some tabs/vs space issues around where the last_baud rate
was incremented.
2016-09-25 08:50:47 -07:00
Andrew Tridgell
36ea946cf5
AP_Compass: use board defined compass ofs max in calibrator
2016-09-23 10:53:00 +10:00
Andrew Tridgell
e7656fb7ac
AP_HAL: raise compass offset max again for Disco
...
values of 1600 happen on Z axis
2016-09-23 10:52:55 +10:00
Jonathan Challinger
17fb7dc88f
AP_Compass: initialize offset before beginning sphere fit
2016-09-23 10:52:51 +10:00
Jonathan Challinger
419f1bc00e
AP_Compass: change fixed point format for more range
2016-09-23 10:52:46 +10:00
Jonathan Challinger
0652d71a72
AP_Compass: correct wrapping behavior in conversion to fixed point
2016-09-23 10:52:44 +10:00
murata
3a1cd20f11
AP_RangeFinder: To move to the place that use the variable definition for the first time.
2016-09-22 08:41:21 +09:00
Tom Pittenger
8eb7a062c7
AP_Frsky_Telem: tiny text change in statusText
2016-09-21 16:11:04 -07:00
floaledm
9e0cfc81ea
AP_Frsky_Telem: updated sensor_status messages according to what is found in Mission Planner
...
added "NO RC Receiver" and "Bad Logging"
2016-09-21 15:51:04 -07:00
floaledm
5125846ac0
AP_Frsky_Telem: Plane support
2016-09-21 12:12:37 -07:00
floaledm
b2b6c88edf
AP_Frsky_Telem: renamed vars and funcs for consistency/clarity
2016-09-21 11:32:21 -07:00
Andrew Tridgell
3eb8b5e99f
HAL_Linux: added RCInput_Multi
...
this allows for multiple RCInput methods on one board. On Disco it
combines RCInput_115200 with RCInput_SBUS
2016-09-21 10:33:15 -03:00
Andrew Tridgell
5909552f67
HAL_Linux: added RCInput_115200
...
this is a RCInput module for multiple R/C uart protocols running at
115200 baud 8-bit. We can decode multiple protocols in parallel with
this module, relying on frame timing and CRCs to get the right
protocol
2016-09-21 10:33:15 -03:00
Andrew Tridgell
2edd914634
AP_HAL: added st24 R/C protocol decoder
...
with thanks to the PX4 project
2016-09-21 10:33:15 -03:00
Andrew Tridgell
9a7af89b30
AP_HAL: added sumd decoder
...
with thanks to the PX4 project
2016-09-21 10:33:15 -03:00
Andrew Tridgell
e913b9a8f7
HAL_Linux: fixed incorrect include
2016-09-21 10:33:15 -03:00
Randy Mackay
2ebb81b02f
AP_NavEKF2: switching compass message to GCS downgraded to INFO
2016-09-21 21:42:44 +09:00
Andrew Tridgell
79ed5c7091
AP_BattMonitor: fixed typo
2016-09-21 17:37:32 +10:00
Andrew Tridgell
06cccd6d3b
AP_BattMonitor: update disco battery lookup table
2016-09-21 13:48:53 +10:00
Tom Pittenger
5512b6de02
AP_RangeFinder: Cleanup and added comments
...
- uart->available(); returns uint32 but was stored locally as int32 and treated as uint32. Now stored correctly as uint32
- some variables were set to zero at start of function, then reset to zero before being used. wasted work
2016-09-21 10:45:25 +09:00
Tom Pittenger
e928e20b11
AP_RangeFinder: Ensure no divide by zeros in LeddarOne
...
Having a critical divide by value as a class member that could change external to the function using it is fragile. It was not very obvious that a divide by zero was not possible in the current design, now it's very obvious and safer in case the code changes later.
2016-09-21 10:45:23 +09:00
priseborough
b6867e085d
AP_NavEKF2: Don't report range finder variance on mavlink if not required
2016-09-21 10:41:21 +09:00
Andrew Tridgell
95db9f61cc
AP_Module: added velocity_ned to AHRS state
2016-09-20 17:34:39 +10:00
Michael Oborne
11c376588d
AP_GPS_NOVA: support tersus/novatel/comnav gps
2016-09-20 10:53:49 +10:00
Peter Barker
8f376944aa
DataFlash: immediately restart logging after erasing logs
2016-09-19 17:57:59 +09:00
Randy Mackay
f94f7e2aa0
AP_RangeFinder: add leddarone to TYPE parameter description
...
No functional change
2016-09-19 14:35:41 +09:00
ShingoMatsuura
3123bd6d7d
AP_RangeFinder: add LeddarOne support
2016-09-19 13:25:35 +09:00
Andrew Tridgell
c275e7c61d
SITL: added SIM_SPEEDUP parameter
...
allows changing speed of simulation while running
2016-09-19 07:45:24 +10:00
murata
13fe8cb4d0
AP_OpticalFlow: Changed short boundary the i2c_integral_frame.
2016-09-17 01:04:06 -03:00
Matthew Brener
06388b0417
Global: Fix typos
2016-09-17 00:36:36 -03:00
Andrew Tridgell
a4c1bc3fd3
HAL_Linux: avoiding setting the SPI mode on every transfer
...
This was causing the Disco kernel to print a debug message on every
SPI transfer, which makes for a very noisy kernel and large kernel logs
2016-09-17 00:35:00 -03:00
Andrew Tridgell
52caf8419e
SITL: fixed sense of wind direction
...
wind direction is where wind is coming from, not going to
2016-09-16 10:59:27 +10:00
Andrew Tridgell
66073413a8
GCS_MAVLink: announce MAVLink2 capability
2016-09-16 09:47:55 +10:00
Andrew Tridgell
8f35305496
SITL: added a simpler compass cal simulation
...
just output 1250 to servo5 and it will go through lots of rotations
2016-09-16 08:59:43 +10:00
Andrew Tridgell
f82827ce79
AP_Compass: removed disco special compass offsets
...
not needed any more with newer hardware
2016-09-14 19:06:06 +10:00
Andrew Tridgell
bb65f4df76
AP_Arming: use HAL defined compass offset max if available
2016-09-14 11:53:13 +10:00
Andrew Tridgell
bf67d4277d
AP_HAL: define a larger compass offset max for Disco
2016-09-14 11:52:55 +10:00
Randy Mackay
ba5db0c5d8
Compass: add CAL_FIT parameter description values
...
No functional change
2016-09-14 09:57:52 +09:00
priseborough
cb1d3c7ed2
AP_NavEKF2: Allow for terrain gradient when using range finder for height
2016-09-13 17:45:03 +09:00
priseborough
60d8adcca0
AP_NavEKF2: Fix height drift on ground using range finder without GPS
2016-09-13 17:44:59 +09:00
priseborough
8797714203
AP_NavEKF2: Fix bug in handling of invalid range finder data
2016-09-13 17:44:43 +09:00
priseborough
175faf1e41
AP_NavEKF2: Fix bug in published yaw reset value found during code review
2016-09-13 17:35:18 +09:00
priseborough
77fad065d1
AP_NavEKF2: use a struct for all yaw step class variables
2016-09-13 17:35:16 +09:00
priseborough
885bfd1b4e
AP_NavEKF2: Handle yaw jumps due to core switches
2016-09-13 17:35:14 +09:00
murata
c78dfd4aa4
AC_Sprayer: Change the comment of the variables in the form of doxygen.
2016-09-13 13:37:35 +09:00
Peter Barker
fce798bc7a
DataFlash: avoid integer underflow
...
Thanks to mbelluzzo: f44b1b3556
2016-09-13 13:32:09 +09:00
Peter Barker
95d4475d45
DataFlash: avoid time going backwards in logs
...
WriteBlockCheckStartupMessages returned true if finished writing out
all startup messages. However, that may have allowed the caller to
then write out their message - but the timestamp on that message would
almost certainly be lower than the messages we've just written out.
2016-09-13 13:32:06 +09:00
William Liu
cc28c8e6ee
AP_Airspeed: AP_Airspeed_I2C: get the right status according to datasheet
2016-09-09 10:32:14 -07:00
William Liu
b1a62d6c8e
AP_HAL_Linux: RCOutput_Bebop: fixed potential deadlock
2016-09-09 09:59:17 -07:00
Andrew Tridgell
aa4cde1aae
AP_BoardConfig: work around issues with bad components on some FMUv4 boards
...
some pixracer copies have poor components which can cause sensor bus
brownout on boot. This resets the sensor bus for 20ms on boot to try
to get clean sensor startup
2016-09-08 13:18:13 +10:00
Benoit Tran
9b89b4f561
AP_HAL: Correct HAL_PARAM_DEFAULTS_PATH for Parrot Disco
2016-09-08 13:05:25 +10:00
Randy Mackay
b63666d188
AP_Motors: increase MOT_THST_HOVER parameter description range
...
No functional change
2016-09-07 15:28:49 +09:00
Niti Rohilla
cadd95fdd8
GCS_MAVLink: Added sanity check for DO_JUMP command on mission load.
2016-09-06 00:40:47 -07:00
floaledm
4d03be94cf
AP_Frsky_Telem: removed reliance on home_distance and home_bearing which are only in copter
2016-09-06 11:42:32 +10:00
floaledm
33bd359463
AP_Frsky_Telem: LANDCOMPLETE switched to to ISFLYING flag
2016-09-06 11:23:29 +10:00
floaledm
4dc98faa48
AP_Frsky_Telem: transmit airspeed instead of groundspeed, if available
2016-09-06 11:15:11 +10:00
floaledm
8deba69715
AP_Frsky_Telem: added 1 to control_mode passed on Frsky link
2016-09-06 11:14:48 +10:00
floaledm
4f8cea6844
AP_Frsky_Telem: simplified constructor
2016-09-06 11:14:48 +10:00
Michael du Breuil
7a18d59099
GCS_MAVLink: On mission_set_current report the requested item if the set was a success
...
The problem with reporting the mission index, is that the mission index will be walked
forward until its referring to a nav target, which means that if a DO_ command was
requested, the requesting mavlink device had no way to validate the command was
accepted, it would have to make a infrence from it's copy of the mission
2016-09-06 08:55:04 +10:00
Leonard Hall
fdcdcb0033
AC_PosControl: check Z-axis accel imax can always overpower hover throttle
...
This removes the possibility of the vehicle constantly climbing if the hover throttle becomes a very large value
2016-09-05 14:19:43 +09:00
Andrew Tridgell
aafd1512e4
HAL_PX4: limit IMU target temperature to 65
2016-09-05 12:59:50 +10:00
Andrew Tridgell
c0d21c5730
AP_Module: added gyro_bias to AHRS structure
2016-09-05 12:56:52 +10:00
Andrew Tridgell
334db0a1a5
AP_AHRS: added get_primary_accel_index() and get_primary_gyro_index()
2016-09-05 12:56:36 +10:00
Andrew Tridgell
902daff3a3
AP_Module: added FSYNC state to raw accel report
2016-09-05 12:55:52 +10:00
Andrew Tridgell
6f9530ebaa
AP_InertialSensor: added optional FSYNC external sync bit
...
used to synchronise with image sensor on Disco
2016-09-05 12:55:32 +10:00
Andrew Tridgell
c62fc336cb
AP_AHRS: use current EKF2 IMU core in gyro estimate
...
The EKF2 implementation uses one IMU per EKF2 core. When reporting the
gyro estimate, accel_ef estimate and gyro bias estimate we need to use
the values associated with the current IMU index being used by the
current EKF2 core. Otherwise we will have an inconsistency between the
gyro estimate and attitude estimate
This affects all multi-IMU systems using EKF2
2016-09-05 12:54:53 +10:00
Andrew Tridgell
dd812cfc0c
AP_NavEKF2: added getPrimaryCoreIMUIndex()
...
needed for correct AHRS gyro estimate
2016-09-05 12:53:53 +10:00
Andrew Tridgell
cfd7268bd5
GCS_MAVLink: check the signing key magic on load
...
or we end up with a bad key when MAVLink2 is first enabled
2016-09-04 19:28:48 +10:00
Andrew Tridgell
b9c4a948d1
AP_BoardConfig: fixed startup ordering change in canbus vs external mag
2016-09-04 18:48:26 +10:00
Gustavo Jose de Sousa
5c5ddc9d4a
AP_HAL: reformat AP_HAL_Boards.h
...
The definitions for each board haven't been reformatted here. They need a
little more thinking on how to format them in order to provide better
readability.
2016-09-03 01:03:17 -03:00
José Roberto de Souza
13287f61e3
AP_Compass: Make COMPASS_AERO probe BMM150
2016-09-03 01:03:17 -03:00
Gustavo Jose de Sousa
68fe536da3
AP_InertialSensor: use BMI160 for Intel Aero
2016-09-03 01:03:07 -03:00
Gustavo Jose de Sousa
025082b280
AP_HAL_Linux: add port to Intel Aero
...
Contributions from:
- Gustavo Jose de Sousa <gustavo.sousa@intel.com>
- José Roberto de Souza <jose.souza@intel.com>
- Lucas De Marchi <lucas.demarchi@intel.com>
- Patrick J.P <patrick.pereira@intel.com>
2016-09-03 01:03:07 -03:00
José Roberto de Souza
0b0be31a29
AP_HAL: add defines for Intel Aero
2016-09-03 01:03:07 -03:00
Gustavo Jose de Sousa
b6c0e11200
AP_InertialSensor: BMI160: convert it to use Device periodic callback
...
Some notes:
- The only place that made sense to use
suspend_timer_procs()/resume_timer_procs() calls were where we registered
the timer process. Now there's no need for that anymore. Remove those calls
from other place in the source too.
- There's no need to acquire the device lock now that we are running as a
periodic callback.
2016-09-03 01:03:07 -03:00
Gustavo Jose de Sousa
b259356703
AP_Compass: BMM150: convert it to use Device periodic callback
2016-09-03 01:03:07 -03:00
Lucas De Marchi
667fca60f5
AP_Compass: BMM150: reduce lock region
...
Use a semaphore to update the accumulated values instead of using the
timer semaphore.
2016-09-03 01:03:07 -03:00
Patrick J.P
c32dc3bc37
AP_HAL_Linux: Add AeroIO communication module
...
Signed-off-by: Patrick J.P <patrick.pereira@intel.com>
2016-09-03 01:03:07 -03:00
Randy Mackay
4858afae6c
AP_Motors: param description update that MOT_SPIN_MIN should be higher than MOT_SPIN_ARM
2016-09-03 11:12:31 +09:00
Andrew Tridgell
bf1e0e1536
AP_AHRS: fixed EKF GPS arming check for fixed wing
...
when in a quadplane mode we set fly_forward to zero. We need to ensure
the GPS checks for EKF health are applied when doing arming checks, so
we use the checks always when disarmed
2016-09-02 11:12:19 +10:00
Andrew Tridgell
232347569f
AP_RPM: use RPM_SCALING in SITL
...
useful for testing low RPM warning in a GCS
2016-09-02 11:12:18 +10:00
Andrew Tridgell
acbeb29fbe
AP_Frsky_Telem: use const references where possible
...
save some stack space
2016-09-02 11:12:18 +10:00
Randy Mackay
44830be172
AC_AttControl: add parameter check of throttle mix
2016-09-02 09:27:15 +09:00
Randy Mackay
535158e0d8
AC_AttControl: move var_info declaration
...
No functional change
2016-09-02 09:27:12 +09:00
Randy Mackay
38b3d3ff3a
AP_GPS_MAV: initialise location while handling_msg
...
This reduces a covarity warning but it likely not really an issue because we always initialise newly allocated memory to zero anyway
2016-09-01 12:01:14 +09:00
murata
59796aaf9c
AP_OpticalFlow: The first value of the register to the value of the definition.
2016-08-31 01:01:59 -03:00
Ralf Ramsauer
71212942da
AP_HAL: AP_HAL_Linux: align I2CDevice::read_registers_multiple()
...
25c7e8b
changed the logic of transfer(). Align
I2CDevice::read_registers_multiple() in the same way.
Signed-off-by: Ralf Ramsauer <ralf.ramsauer@othr.de>
2016-08-31 00:18:50 -03:00
Randy Mackay
e7020b218a
AC_Fence: revert param Enable to be FLAG_ENABLE
...
This reverts commit 5e811b8463
.
2016-08-31 08:55:31 +09:00
Ralf Ramsauer
5b81920737
AP_HAL: AP_HAL_Linux: add comment to I2CDevice::transfer()
...
If I2CDevice::transfer() has to do nothing it returns false. This can be
misleading, as this might feel contradictory.
Let's spend a comment on that.
Signed-off-by: Ralf Ramsauer <ralf.ramsauer@othr.de>
2016-08-29 15:20:14 -03:00