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
Ralf Ramsauer
25c7e8bf60
AP_HAL: AP_HAL_Linux: perfect I2CDevice::transfer()
...
According to man 3 ioctl, ioctl returns other values than -1 on success.
So loop while ioctl returns -1.
Furthermore, there is no necessity to initialise r with -EINVAL,
Signed-off-by: Ralf Ramsauer <ralf.ramsauer@othr.de>
2016-08-29 15:20:14 -03:00
Matt
9eca21c26a
AP_Compass: Removed duplicate code
2016-08-29 10:38:41 -03:00
Lucas De Marchi
833f565f09
AP_HAL_Linux: prefix threads with ap
...
This makes it consistent with bus threads and easier to grep from a `ps`
call.
2016-08-29 10:27:36 -03:00
Lucas De Marchi
e1ab44f4a3
Global: remove get_fd() from Device API
...
This was there for compatibility with I2CDriver and SPIDriver. We don't
use them anymore so we can remove the compat method.
2016-08-29 10:27:36 -03:00
Lucas De Marchi
ead01855df
AP_HAL: remove default params for minlure
...
We are currently not using them.
2016-08-29 10:27:36 -03:00
Andrew Tridgell
e9e3a3f491
AP_Motors: added get_pwm_type()
2016-08-29 15:52:21 +10:00
Peter Barker
fd87a4f180
DataFlash: fix unused result warning
2016-08-25 15:53:47 +10:00
Andrew Tridgell
a4ca4dbd9e
AP_FrSky_Telem: use a constant string for firmware version
2016-08-25 11:00:17 +10:00
Andrew Tridgell
62388fc991
AP_FrSky_Telem: use constant strings in message queueing
2016-08-25 10:29:57 +10:00
Andrew Tridgell
183283ba07
AP_FrSky_Telem: make _msg non-static
...
there are no calls to this from outside the library. If we do add some
then we can change the API as needed
2016-08-25 10:23:03 +10:00
floaledm
2f54e67996
AP_FrSky_Telem: fixed sending last message chunk
...
Was sent only once, now sent 3 times (as planned)
2016-08-25 10:16:20 +10:00
Andrew Tridgell
185ef73684
AP_Frsky_Telem: fixed usage of sensor error bits
...
using these asyncronously via pointers is error prone as the updates
to these masks is not atomic relative to the IO callback in
AP_Frsky_Telem
2016-08-25 10:16:19 +10:00
Andrew Tridgell
f4d59d720a
AP_FrSky_Telem: removed use of pointer to control_mode
...
it is an enum, and it is invalid to take a pointer to an enum as a
uint8_t*
2016-08-25 10:16:19 +10:00
Andrew Tridgell
ab77fdfa02
AP_FrSky_Telem: removed dependency on inertialnav
...
the AP_InertialNav library is deprecated in favor of AP_AHRS. We
should not introduce a new dependency on it
2016-08-25 10:16:19 +10:00
floaledm
b71e0d73b9
AP_FrSky_Telem: added SPort passthrough protocol
2016-08-25 10:16:19 +10:00
floaledm
50eecf58a4
AP_SerialManager: added SPort passthrough protocol
2016-08-25 10:16:18 +10:00
floaledm
ec157bd4c2
AP_BattMonitor: Get pack_capacity_mah function
2016-08-25 10:16:18 +10:00
floaledm
a9b01b470c
AP_FrSky_Telem: cosmetic changes
2016-08-25 10:16:17 +10:00
floaledm
5066a5bc73
AP_SerialManager: syntax and minor lib rework
2016-08-25 10:16:17 +10:00
floaledm
de2a7013b4
AP_FrSky: simplified lib rework
2016-08-25 10:16:17 +10:00
Leandro Pereira
bf3f8c05e7
GCS_Mavlink: Correctly check if a channel is streaming
...
In GCS_MAVLINK::stream_trigger(), chan_is_streaming would be checked
with a bitwise OR, instead of a bitwise AND. This way, the condition
would always be true if chan_is_streaming were to be non-zero.
2016-08-24 10:47:12 -03:00
Andrew Tridgell
3aba0d8359
SITL: fixed rover altitude
...
thanks to Grant for noticing this
2016-08-24 13:29:45 +10:00
mirkix
a4d0ad8571
AP_InertialSensor: Fix name of sensor
2016-08-23 11:25:59 +09:00
Andrew Tridgell
25f1dbd8c2
HAL_SITL: allowed SITL to reopen uart connections
2016-08-23 09:30:17 +10:00
Andrew Tridgell
49b82b767f
SITL: added RPM for heli sim
2016-08-23 09:30:14 +10:00
Andrew Tridgell
c87fa13e77
AC_WPNav: added WP_RFND_USE parameter
...
allows disable of rangefinder use for terrain following
2016-08-23 09:27:39 +10:00
Tom Pittenger
330c63b010
AP_Avoidance: handle condition where avoid is disabled while avoiding
2016-08-17 22:38:54 -07:00
Tom Pittenger
c06b63b4cd
AP_Avoidance: provide different default params for copter vs plane
...
copter is unchanged, plane has larger distances
2016-08-17 22:38:54 -07:00
Tom Pittenger
1612110d16
AP_ADSB: fixed signed int compare compile warning/error and reject >24bit ICAO
...
- The value is only 24bits anyway so sign conversion does not matter
- also reject ICAO values > 24bits
2016-08-16 18:49:48 -07:00
Tom Pittenger
78e7acf25c
AP_ADSB: do not detect, and thus avoid, yourself
2016-08-16 17:29:34 -07:00
Tom Pittenger
b6810006eb
AP_ADSB: move mavlink msg handling into library
2016-08-16 16:33:36 -07:00
Andrew Tridgell
3ecf2850a8
SITL: fixed send of MAVLink2 pkt
2016-08-16 16:33:36 -07:00
Tom Pittenger
19ac9bce48
SITL: add Ping2020 simulated device
2016-08-16 16:33:36 -07:00
Andrew Tridgell
38fff6d43d
RC_Channel: expanded docs for RCn_FUNCTION
2016-08-16 16:16:09 +10:00
Andrew Tridgell
62f3818b83
RC_Channel: added k_throttle
...
for secondary throttle on planes
2016-08-16 16:14:34 +10:00
Andrew Tridgell
c1480315f5
AP_AdvancedFailsafe: update AFS_TERMINATE on GCS on termination
2016-08-16 12:56:13 +10:00
Andrew Tridgell
cee1e37391
AP_AdvancedFailsafe: make relationship to OBC clearer in comment
2016-08-16 12:56:12 +10:00
Andrew Tridgell
838728348f
AP_AdvancedFailsafe: re-work for use as vehicle derived class
2016-08-16 12:55:50 +10:00
Andrew Tridgell
8163db1adb
AP_AdvancedFailsafe: cleanups for new naming
2016-08-16 12:55:50 +10:00
Andrew Tridgell
cef4635ad9
AP_AdvancedFailsafe: rename from APM_OBC
2016-08-16 12:55:50 +10:00
Andrew Tridgell
636188014d
APM_OBC: make the ENABLE flag control presence of the parameters
2016-08-16 12:55:50 +10:00
Andrew Tridgell
119e312cd3
AP_BoardConfig: wait up to 0.4s for safety to be off on boot
2016-08-16 12:53:34 +10:00
Andrew Tridgell
dddaded8d4
HAL_PX4: fixed a race condition in force_safety_on/off
...
the status update from IO may not have come through if we force safety
on and then off in quick succession, such as for plane mixer load
this forces the ioctl to be sent at least once
2016-08-16 12:53:34 +10:00
Andrew Tridgell
1fa137caad
GCS_MAVLink: added handle_preflight_reboot()
2016-08-16 12:53:33 +10:00
Lee Hicks
51e8d8a294
AP_GPS: Don't send config blob to GPS unless AUTO_CONFIG=1
...
All GPS types will recieve startup up blob config. For
some recievers this will cause them to hang. This commit
only allows sending of blobs if AUTO_CONFIG=1. Fixes #2622
2016-08-16 10:56:37 +10:00
Lee Hicks
7c3b8dceb9
AP_GPS: Fixed GPS serial speeds starting at 1 instead of 0
...
The counting of this will increment the counter before
selecting the baud speed, skipping the first baud rate.
2016-08-16 10:56:36 +10:00
Lee Hicks
3dd4f30460
AP_GPS: Adding 19200 as serial speed for GPS
...
APM supports baud speeds of 19200, but GPS baud rates
don't support it. This commit adds it to follow APM supported
baud rates.
2016-08-16 10:56:36 +10:00
Leonard Hall
29d4790fc7
AC_AttControl: reduce max_rate_step based on hover throttle
...
This changes reduces AutoTune's twitch size based on the hover throttle
This method is only used by AutoTune
2016-08-12 22:29:53 +09:00
Peter Barker
8d253dec8e
DataFlash: support for mavlink SENSOR message
2016-08-11 17:48:44 -03:00
Grant Morphett
30bcea73cc
PX4: Added detection for MPU6000 on px4slim.
2016-08-11 08:39:16 +10:00
LukeMike
38150a5544
AP_BoardConfig: defined and managed VRBRAIN board type and all functions for sensors startup
2016-08-11 07:52:40 +10:00
LukeMike
e6c8653302
AP_IRLock_PX4: enabled sensor driver startup on bus2 if don't start on bus1
2016-08-11 07:52:39 +10:00
LukeMike
316e5acaec
AP_OpticalFlow_PX4: enabled sensor driver startup for all VR boards
2016-08-11 07:52:39 +10:00
Andrew Tridgell
38ebe582cc
AP_BoardConfig: fixed for VRBrain build
...
needs access to driver start function
2016-08-10 20:43:03 +10:00
Andrew Tridgell
eaa88b1223
AP_BoardConfig: FMUv1 does not have pwm_input driver
2016-08-10 19:54:01 +10:00
Andrew Tridgell
39676d686c
AP_BoardConfig: FMUv1 does not have an L3GD20
2016-08-10 19:54:01 +10:00
Andrew Tridgell
7da89c611d
AP_BoardConfig: use a STATUSTEXT to show better in MP
...
this makes it easier to see why it won't boot
2016-08-10 19:54:01 +10:00
Andrew Tridgell
78b2924c00
AP_OpticalFlow: auto-start px4flow driver if enabled
2016-08-10 19:54:01 +10:00
Andrew Tridgell
74182b6b3d
AP_Notify: auto-start oreoled driver if enabled
2016-08-10 19:54:00 +10:00
Andrew Tridgell
e24cebec33
AP_IRLock: auto-start batt_smbus driver if enabled
2016-08-10 19:54:00 +10:00
Andrew Tridgell
d05a08ff4d
AP_BattMonitor: auto-start batt_smbus driver if enabled
2016-08-10 19:54:00 +10:00
Andrew Tridgell
0d59935847
AP_BoardConfig: fixup for merge after VRBrain changes
2016-08-10 19:54:00 +10:00
Andrew Tridgell
77bee322e9
AP_BoardConfig: support the PHMINI as BRD_TYPE=5
2016-08-10 19:54:00 +10:00
Andrew Tridgell
61e15af3ca
AP_BoardConfig: added BRD_TYPE
...
this allows for PH2SLIM support with BRD_TYPE=6
2016-08-10 19:54:00 +10:00
Andrew Tridgell
7c5171e9b9
AP_BoardConfig: set default temperature on PH2 to 60
2016-08-10 19:54:00 +10:00
Andrew Tridgell
7806aa4274
AP_BoardConfig: moved optional sensors to the sensor startup
...
this makes startup much faster
2016-08-10 19:54:00 +10:00
Andrew Tridgell
36e0c7229a
AP_BoardConfig: implement PX4 driver start in C++
...
this brings driver startup into AP_BoardConfig, so we can start to
make driver startup depend on parameters
2016-08-10 19:53:59 +10:00
Andrew Tridgell
4643d6f314
AP_BoardConfig: break out PX4 setup from main code
...
refactoring in preparation for larger changes
2016-08-10 19:53:59 +10:00
Andrew Tridgell
e82384990d
AP_BoardConfig: moved px4 variables to px4 structure
...
refactoring in preparation for larger changes
2016-08-10 19:53:59 +10:00
Andrew Tridgell
270fa95a8d
AP_Morors: scale colyaw to match previous behaviour
...
this was missed in the motor scaling changes. Thanks to Rob for
noticing this.
2016-08-10 07:58:06 +10:00
Tom Pittenger
a66e248f5c
AP_Airspeed: remove AP_Vehicle::FixedWing dependency
2016-08-08 00:12:42 -07:00
Tom Pittenger
ce7b766d8b
AP_Airspeed: remove AP_Vehicle::FixedWing dependency
2016-08-08 00:02:42 -07:00
Tom Pittenger
ae46c38ff7
AP_Airspeed: pass in max airspeed via function call instead of using aparm
2016-08-08 00:02:42 -07:00
Randy Mackay
ad697243b3
AP_MotorsMulticopter: initialise some members
...
This resolves some Covarity warnings at the cost of a small amount of flash
2016-08-08 13:31:30 +09:00
Randy Mackay
3c87f67212
AC_PrecLand: initialise some members
...
This was not a real problem but it resolves some Covarity warnings
2016-08-08 13:31:28 +09:00
Leonard Hall
50b694444b
AC_AttControl: correct method comments
...
No functional change
2016-08-08 11:24:42 +09:00
priseborough
e6f36f04db
AP_NavEKF2: Enable automatic use of range finder height
...
The EK2_RNG_USE_HGT parameter sets the height (expressed as a percentage of the maximum range of the range finder as set by the RNGFND_MAX_CM parameter) below which the range finder will be used as the primary height source when the vehicle is moving slowly.
When using a height reference other than GPS, the height datum can drift due to air pressure changes if using baro, or due to terrain height changes if using range finder as the primary height source. To ensure that a consistent height datum is available when switching between altitude sources, the WGS-84 height estimate of the EKF's local positi norigin is updated using a
single state Bayes estimator,
If rngfinder or gps height data is lost whilst being used, there will be a fall-back to baro data.
2016-08-08 10:56:44 +09:00
Tom Pittenger
1586abab8d
Revert "AP_Airspeed: Converted library to be stand-alone from APM:Plane."
...
This reverts commit 5439257236
.
2016-08-07 17:54:24 -07:00
Tom Pittenger
82777873af
Revert "APM_Control: Convert references to AP_Airspeed."
...
This reverts commit cc5a2417a6
.
2016-08-07 17:54:24 -07:00
Tom Pittenger
e5bd23e34a
Revert "AP_TECS: Convert references to AP_Airspeed."
...
This reverts commit 09d53eaeca
.
2016-08-07 17:54:24 -07:00
Tom Pittenger
44037c13a1
Revert "AP_Vehicle: Removed unused airspeed_min and airspeed_max as now part of AP_Airspeed."
...
This reverts commit bf7ab052c1
.
2016-08-07 17:54:24 -07:00
Tom Pittenger
8dad05d12e
Revert "Airspeed: store reference in libraries and populate it"
...
This reverts commit c090ba2257
.
2016-08-07 17:54:24 -07:00
LukeMike
5987cc273f
AP_HAL_VRBRAIN: added some new modules for I2C wrapper
2016-08-07 20:31:52 +10:00
LukeMike
7ee8898948
AP_BoardConfig: updated defines for VRBRAIN
2016-08-07 20:31:52 +10:00
LukeMike
95ae69eb1c
VRBRAIN /AP_BoardConfig: changed definition of PWM_SERVO_MODE_12PWM only for VRBRAIN
2016-08-07 20:31:52 +10:00
LukeMike
024d3311b3
VRBRAIN / AP_BoardConfig: enabled PWM configuration and safety management for all VirtualRobotix boards
2016-08-07 20:31:51 +10:00
LukeMike
9f8b66758c
VRBRAIN / AP_OpticalFlow: enabled OpticalFlow_PX4 for all VirtualRobotix boards
2016-08-07 20:31:51 +10:00
LukeMike
6748bdb1a4
AP_Notify/ExternalLED: added HIGH and LOW definition
2016-08-07 20:31:51 +10:00
LukeMike
858c22ae21
VRBRAIN /AP_Notify: enabled tone_alarm for all VirtualRobotix boards
2016-08-07 20:31:51 +10:00
LukeMike
13e3150023
VRBRAIN / AP_HAL_Boards: definition of new board VR Brain 5.4 and VR Core 1.0
2016-08-07 20:31:51 +10:00
LukeMike
b5cf0308cd
VRBRAIN / AP_BattMonitor_Analog: definition of default value for battery monitor for all VirtualRobotix boards
2016-08-07 20:31:51 +10:00
LukeMike
4d8e7f1783
VRBRAIN / AP_Airspeed: defined ARSPD_DEFAULT_PIN for VR Brain 5.4 and VR Core 1.0
2016-08-07 20:31:51 +10:00
LukeMike
d8cc2668cb
VRBRAIN / AP_AHRS_NavEKF: set AP_AHRS_WITH_EKF1 to 1 only for VR Brain 5.4
2016-08-07 20:31:51 +10:00
LukeMike
998033286d
AP_HAL_PX4 / Semaphores: removed AP_HAL_VRBRAIN (for now it's better to have different AP_HAL for PX4 and VRBRAIN)
2016-08-07 20:31:50 +10:00
LukeMike
fde5992b6d
VRBRAIN: updated AP_HAL_VRBRAIN
2016-08-07 20:31:50 +10:00
Leonard Hall
34055944cd
AC_PosControl: fix relax_alt_hold_controllers
2016-08-05 12:40:37 +09:00
Randy Mackay
24044e5611
AC_AttControl: get_throttle_avg_max always returns value in 0 to 1 range
...
throttle_avg_max is the total average throttle level (expressed as a number from 0 to 1) that the motors can safely be raised to in order to maintain attitude control. This level can be higher than the pilot's or autopilot provided throttle level.
Previously passing in a negative throttle_in could result in a negative throttle_avg_max being returned.
2016-08-05 12:40:37 +09:00
Leonard Hall
ac04fcd836
AC_AttControl: fix set_yaw_target_to_current_heading
2016-08-05 12:40:37 +09:00
Leonard Hall
011bc0a350
AC_AttControl: add reset_rate_controller_I_terms()
2016-08-05 12:40:37 +09:00
Tom Pittenger
e63e7a5336
AP_NavEKF: comment that param "Enable" index is moved to top
2016-08-04 11:32:46 -07:00
Tom Pittenger
9b33280795
APM_OBC: set param "Enable" to be FLAG_ENABLE and move to top
2016-08-04 11:32:02 -07:00
Tom Pittenger
28648665b9
AP_Terrain: set param "Enable" to be FLAG_ENABLE
2016-08-04 11:31:37 -07:00
Tom Pittenger
ebe829614d
AP_Parachute: set param "Enable" to be FLAG_ENABLE
2016-08-04 11:31:21 -07:00
Tom Pittenger
b1ef848de6
AP_EPM: set param "Enable" to be FLAG_ENABLE
2016-08-04 11:30:50 -07:00
Tom Pittenger
0d14941eea
AP_Avoidance: set param "Enable" to be FLAG_ENABLE
2016-08-04 11:30:39 -07:00
Tom Pittenger
c07b85f9bb
AP_Airspeed: set param "Enable" to be FLAG_ENABLE
2016-08-04 11:30:22 -07:00
Tom Pittenger
dd5ed7e2e0
AC_Sprayer: set param "Enable" to be FLAG_ENABLE
2016-08-04 11:30:03 -07:00
Tom Pittenger
ccb0151816
AC_PrecLand: set param "Enable" to be FLAG_ENABLE
2016-08-04 11:29:45 -07:00
Tom Pittenger
5e811b8463
AC_Fence: set param "Enable" to be FLAG_ENABLE
2016-08-04 11:29:30 -07:00
Tom Pittenger
c090ba2257
Airspeed: store reference in libraries and populate it
...
- also had to move the initial definition in plane.h so it happened before the others.
2016-08-04 11:06:44 -07:00
AndersonRayner
bf7ab052c1
AP_Vehicle: Removed unused airspeed_min and airspeed_max as now part of AP_Airspeed.
2016-08-04 10:09:04 -07:00
AndersonRayner
09d53eaeca
AP_TECS: Convert references to AP_Airspeed.
2016-08-04 10:09:04 -07:00
AndersonRayner
cc5a2417a6
APM_Control: Convert references to AP_Airspeed.
2016-08-04 10:09:04 -07:00
AndersonRayner
5439257236
AP_Airspeed: Converted library to be stand-alone from APM:Plane.
...
Additional changes:
ARSPD_FBW_MIN and ARSPD_FBW_MAX renamed to ARSPD_MIN and ARSPD_MAX
ARSPD_MIN and ARSPD_MAX changed to floats
2016-08-04 10:09:04 -07:00
Andrew Tridgell
66c4995c9d
AP_Motors: added get_desired_spool_state()
2016-08-04 09:43:40 -07:00
murata
b6c27b58a8
AC_Fence: magic number 4 changed to size of uint32_t
2016-08-04 15:26:18 +09:00
Pavel Kirienko
9b786559d4
Fixed missing definition error UAVCAN_IOCS_HARDPOINT_SET
2016-08-04 09:16:02 +10:00
Pavel Kirienko
fccdcf50c1
EPM: fixed build
2016-08-04 09:16:02 +10:00
Pavel Kirienko
8af6af004d
EPM: fixed parameter comments
2016-08-04 09:16:02 +10:00
Pavel Kirienko
accf118e38
UAVCAN hardpoint control
2016-08-04 09:16:02 +10:00
Murilo Belluzzo
077e03678f
Global: Adapt Stream class to be used with Ringbuffer
2016-08-03 01:44:02 -03:00
Murilo Belluzzo
b856d26087
RingBuffer: ::set_size now returns true or false
2016-08-03 01:44:02 -03:00
Murilo Belluzzo
f7f203efa9
RingBuffer: Add ::clear() method to discard the buffer content
...
The same could be achieved with ::set_size(::get_size()), but was not
obvious and hurts code readability.
2016-08-03 01:44:02 -03:00
Murilo Belluzzo
75a1b102fb
RingBuffer: Handle zero sized better
...
Sometimes (like in DataFlash) the size of the ring buffer will be
determined in run time and the object can have size zero until proper
initialization. When this was the case, an underflow in ::get_size would
mess with the initializing algorithm.
Another issue was that the 'new' operator could fail what was not being
handled. Now, we only set the size member after we are sure 'new'
successfully allocated memory.
2016-08-03 01:44:02 -03:00
Murilo Belluzzo
fe48901db0
AP_ADC_ADS1115: Remove resource leak.
...
Constructor allocate '_samples' but there was no destructor to
deallocate it. Also, initializes '_gain' to silence CID 9144 although
'_gain' wasn't being used uninitialized because of ::init().
CID 91424
2016-08-03 00:24:55 -03:00
Murilo Belluzzo
36bdd7f1f1
AP_InertialSensor: MPU6000: Add missing read() check
2016-08-03 00:18:20 -03:00
Lucas De Marchi
0d4caa3ccc
AP_Math: remove declaration of not implemented functions
2016-08-03 00:16:35 -03:00
Murilo Belluzzo
70942472d3
AP_Math: Matrix: Change deallocator to match allocator used
2016-08-03 00:09:11 -03:00
Murilo Belluzzo
e17fdb2aa9
DataFlash: Avoid null pointer dereference
...
Confirms that the loop successfully found a log structure before using it.
Should fix CID 126742
2016-08-03 00:02:19 -03:00
Holger Steinhaus
cc4fafc3e4
AP_GPS_PX4: fixed GPS epoch calculations
2016-08-02 11:20:48 +10:00
Tom Pittenger
282817eeb9
AP_ADSB: revert default enable = 0
2016-08-01 17:56:04 -07:00
Tom Pittenger
b5ec37b9d8
AP_ADSB: change adsb.enable param to be a flag
2016-08-01 17:51:24 -07:00
Tom Pittenger
2be32e9daa
AP_ADSB: remove all threat logic in adsb lib in favor of avoidance lib
2016-08-01 15:27:40 -07:00
Tom Pittenger
b2b63b4d80
AP_ADSB: change param ADSB_ENABLE default from 0 to 1
2016-08-01 15:27:39 -07:00
Tom Pittenger
89271c29ab
AP_ADSB: move variable into struct like the rest
2016-08-01 15:27:38 -07:00
Tom Pittenger
f7c2df8e91
AP_ADSB: sanity check data via valid_flags before forwarding to avoidance lib
2016-08-01 12:47:18 -07:00
Tom Pittenger
5c0b5f5cd1
AP_ADSB: reject packets that are invalid or already stale
2016-08-01 12:44:20 -07:00
Tom Pittenger
b12edf6a71
AP_ADSB: fix bug where the update timeout wasn't being stored correctly
...
- causes immediate timeout so all samples were dropped
- now the timeout is current and respects the time-since-last-comms/packet so we can ignore stale packets
2016-08-01 12:43:47 -07:00
Tom Pittenger
e0bb77726e
AP_ADSB: do not service transceiver if it is not detected
...
- also allow forced detected (setting chan in header) for testing by not having it time out in that special case (timer = 0)
2016-08-01 09:06:05 -07:00
Peter Barker
2844190e5b
AP_RangeFinder: correct DisplayName comments
2016-08-01 09:55:25 -03:00
Peter Barker
1bb73383ec
AP_RangeFinder: group _ADDR with other first-rangefinder params
2016-08-01 09:55:24 -03:00
Peter Barker
d5ffc8a863
AP_RangeFinder: define 3_ADDR when we have three rangefinders
...
Without this patch this field would only be defined when 4 rangefinders
were specified
2016-08-01 09:55:24 -03:00
Randy Mackay
d5c18dc987
AC_AttControl: remove unused 100hz definition
2016-08-01 17:21:04 +09:00
Randy Mackay
2dc111ff39
Copter: reduce WPNAV_LOIT_MINA parameter description range
2016-08-01 17:09:20 +09:00
Randy Mackay
7d0cac15fb
AP_ICEngine: add casting to avoid compiler warnings
2016-08-01 09:41:32 +09:00
Lucas De Marchi
e217faacab
AP_Baro: MS56XX: cosmetic changes to members
...
- reorder and document members.
- remove tentative of vertical alignement
- like was done for accumulated values, move the calibration
values to a struct
2016-07-30 00:55:28 -03:00
Lucas De Marchi
f7b453359d
AP_Baro: MS56XX: convert to threaded bus
...
This converts MS56XX to use the thread started by SPI/I2C instead of
using the timer thread. This also fixes a possible starvation of the
main thread:
1) INS driver registers itself to be sampled on timer thread
2) MS56XX registers itself to be sampled on timer thread
3) Main thread waits for a sample from INS with
ins.wait_for_sample()
4) timer thread is waiting on update from MS56XX and consequently
the main thread is waiting on an I2C/SPI transfer
Besides this starvation there's another one due to reuse of the timer
lock in order to pump values from the timer thread to the main thread. A
call to the update() method when we have a sample available would need
to wait on any other driver holding the timer lock.
Now there's a lock just to pass the new values from the bus thread to
the main thread with a very tiny critical region, not waiting on any
bus transfers and/or syscalls.
2016-07-30 00:55:28 -03:00
Lucas De Marchi
052f30bc70
AP_HAL: remove macros to use MS5611 in the main thread
2016-07-30 00:55:28 -03:00
Lucas De Marchi
929348ff75
AP_Baro: MS5611: always use timer thread
...
Remove support to run MS5611 on main thread since we shouldn't be doing
I2C transactions there and we are moving to "thread per bus"
nonetheless.
2016-07-30 00:55:28 -03:00
Lucas De Marchi
7b7e73680f
AP_Math: add USEC_PER_MSEC
2016-07-30 00:55:28 -03:00
Lucas De Marchi
8541d5339d
AP_HAL_Linux: Implement threaded SPI
2016-07-30 00:55:27 -03:00
Lucas De Marchi
ea0595c7ac
AP_HAL_Linux: SPIDevice: move implementation to outside
...
As we add methods, it's becoming too complex to be implemented together
with the declaration.
2016-07-30 00:55:27 -03:00
Lucas De Marchi
590539f674
AP_HAL_Linux: implement threaded I2C
2016-07-30 00:55:27 -03:00
Lucas De Marchi
11ddbb8fb8
AP_HAL_Linux: add PollerThread
...
This is the infrastructure needed by both SPIDevice and I2CDevice to
start a poller thread per bus.
2016-07-30 00:55:27 -03:00
Lucas De Marchi
7d451ac876
AP_HAL_Linux: allow to check if thread is running
2016-07-30 00:55:27 -03:00
Lucas De Marchi
eca6f45b68
AP_HAL_Linux: remove unused part of Poller infra
...
We aren't going to use all the poller infra for now and we need it's
behavior a little bit different for what we are going to use:
- Do not use any "fair" time for each ready fd since we don't want
to set a timeout
- Allow to set the fd on Pollable after constructing it since we are
likely to embed Pollable inside other structs and just later be
able to open an fd.
- Let caller use the epoll flags directly - this is not in AP_HAL,
so there's no need to abstract them
2016-07-30 00:55:27 -03:00
Leandro Pereira
0f865a019a
AP_HAL_Linux: Add Pollable/Poller
...
Add system's polling infrastructure to be notified whenever a
file descriptor is ready to be read from or written to.
Adds a few classes:
* Poller, as an interface to epoll()
* Pollable, as an interface to a file descriptor
2016-07-30 00:55:27 -03:00
Lucas De Marchi
c859c5ecd9
AP_HAL_PX4: update Device interface
2016-07-30 00:55:27 -03:00
Lucas De Marchi
eaa1c39a15
AP_HAL_Linux: update Device interface
2016-07-30 00:55:27 -03:00
Lucas De Marchi
7669d54265
AP_HAL_Empty: update Device interface
2016-07-30 00:55:27 -03:00
Lucas De Marchi
37de995960
AP_HAL: update Device interface for periodic tasks
...
Replace the previous not-implemented interface with a set of new methods
that can be resonably implemented:
- register_periodic_callback() now receives a functor returning bool
to easily allow "oneshot" timers
- adjust_periodic_callback() allows the caller to change the timer
for a specific handle. This way drivers like MS5611 can adjust the
timer depending on its state machine: the time to sample
temperature is smaller than the time to get a pressure sample
- add unregister_callback(): since we have an opaque pointer, we
can't tell the user to just delete it in order to unregister the
callback
2016-07-30 00:55:27 -03:00
Lucas De Marchi
8e5aba8653
AP_HAL_Linux: I2CDevice: move implementation to outside
...
As we add methods, it's becoming too complex to be implemented together
with the declaration.
2016-07-30 00:55:27 -03:00
Lucas De Marchi
7b39f3d0a7
AP_HAL_Linux: do not warn for empty table
...
../../libraries/AP_HAL_Linux/SPIDevice.cpp: In member function ‘virtual AP_HAL::OwnPtr<AP_HAL::SPIDevice> Linux::SPIDeviceManager::get_device(const char*)’:
../../libraries/AP_HAL_Linux/SPIDevice.cpp:337:27: warning: comparison is always false due to limited range of data type [-Wtype-limits]
for (uint8_t i = 0; i < _n_device_desc; i++) {
~~^~~~~~~~~~~~~~~~
Define a dummy device to remove warning.
2016-07-30 00:03:23 -03:00
Lucas De Marchi
f37a560295
AP_HAL_Linux: remove private headers
...
This centralized private header encourages centralizing things on
umbrella headers that are a pain to maintain. Force each part of
AP_HAL_Linux to include what is used.
2016-07-29 20:29:46 -03:00
Lucas De Marchi
e8f71a5bd2
AP_HAL_Linux: change define and members visibility
...
Make some member variables protected to follow what we do in other
places (and there's no reason to be private).
Move defines to .cpp to reduce their visibility.
2016-07-29 20:27:12 -03:00
Lucas De Marchi
f36e8d9c05
AP_HAL_Linux: remove AP_HAL_Linux_Namespace header
...
This centralized namespace header encourages centralizing things on
umbrella headers that are a pain to maintain. Force each part of
AP_HAL_Linux to include what is used.
While at it, do some whitespace cleanups and minor changes to adhere to
coding style.
2016-07-29 20:25:03 -03:00
Lucas De Marchi
b044fac4b6
AP_HAL_Linux: rename variable to follow I2CDevice convention
2016-07-29 15:01:15 -03:00
Lucas De Marchi
57ec968b44
AP_HAL: remove SPIDriver
...
SPIDevice now controls all accesses to SPI bus.
2016-07-29 15:01:15 -03:00
Lucas De Marchi
dc91dfb446
AP_HAL_Empty: remove SPIDriver
...
SPIDevice now controls all accesses to SPI bus.
2016-07-29 15:01:15 -03:00
Lucas De Marchi
7b140da6d1
AP_HAL_Linux: remove SPIDriver
...
SPIDevice now controls all accesses to SPI bus.
2016-07-29 15:01:15 -03:00
Lucas De Marchi
5ab1c6ff51
AP_ADC: remove ADS7844
...
It's not used by any board.
2016-07-29 15:01:15 -03:00
Lucas De Marchi
ef81e71afa
AP_ADC: remove example tailored to a single ADC
...
This is the only user of ADS7844 - we don't have it actually used in our
boards. Remove the example since we can later add a more generic one or
at least one that reuses a driver from our boards.
2016-07-29 15:01:15 -03:00
Lucas De Marchi
3a5e8a17c7
AP_HAL: remove enum id for Ublox and RASPIO
2016-07-29 15:01:15 -03:00
Lucas De Marchi
945556bbc3
AP_HAL_Linux: remove id for SPIDevice_Ublox and RASPIO
2016-07-29 15:01:15 -03:00
Lucas De Marchi
065592e7df
AP_HAL_Linux: SPIUARTDriver: add some cosmetic changes
...
Mainly changes to follow the coding style and reduce the complexity a
little bit.
2016-07-29 15:01:15 -03:00
Lucas De Marchi
e3c0476b8a
AP_HAL_Linux: SPIUARTDriver: initialize device once
2016-07-29 15:01:14 -03:00
Lucas De Marchi
418cc817a3
AP_HAL_Linux: SPIUARTDriver: fix conversion to SPIDevice
...
We need to use the fullduplex method to transfer both tx and rx at the
same time.
2016-07-29 15:01:14 -03:00
Lucas De Marchi
cbbd6f9d78
AP_HAL_Linux: SPIDevice: implement fullduplex transfer
2016-07-29 15:01:14 -03:00
Lucas De Marchi
9fda608d4a
AP_HAL_Empty: SPIDevice: implement fullduplex transfer
2016-07-29 15:01:14 -03:00
Lucas De Marchi
01452bf922
AP_HAL: SPIDevice: add fullduplex method
...
This method is needed when we want to transfer both tx and rx at the
same time, as opposed to common cases for sensors in which they are like
in the I2C interface: half-duplex.
2016-07-29 15:01:14 -03:00
Luiz Ywata
7ded01cf24
AP_HAL_Linux: SPIUARTDriver: use SPIDevice interface
2016-07-29 15:01:14 -03:00
Luiz Ywata
c8bb5e6469
AP_HAL_Linux: RCInput_Raspilot use SPIDevice interface
2016-07-29 15:01:14 -03:00
Luiz Ywata
e8d3229492
AP_HAL_Linux: RPIOUARTDriver: use SPIDevice interface
2016-07-29 15:01:14 -03:00
Luiz Ywata
bfd840c5ca
AP_HAL_Linux: RCOutput_Raspilot: use SPIDevice interface
2016-07-29 15:01:14 -03:00
Lucas De Marchi
86ac9bc367
AP_HAL_Linux: AnalogIn_Raspilot: use SPIDevice interface
2016-07-29 14:47:04 -03:00
Lucas De Marchi
81345cc112
AP_HAL: Remove enum for Dataflash
2016-07-29 14:47:04 -03:00
Lucas De Marchi
8681d23cbd
AP_HAL_Linux: remove unused Dataflash
...
This is selectable by a define and is never changed. Just remove
everything referencing it: we can come up with a better solution if it
is actually used later.
2016-07-29 14:47:04 -03:00
Peter Barker
9749b91d46
SITL: initialise sigaction structs - valgrind fix
2016-07-29 10:38:03 -03:00
Jonathan Challinger
d1ecc63bf1
AP_NavEKF2: change priority of statustext messages
2016-07-29 13:19:51 +09:00
Lucas De Marchi
1841313f73
AP_HAL_VRBRAIN: remove I2CDriver
...
I2CDevice now serves for the same purpose.
2016-07-28 18:08:57 -03:00
Lucas De Marchi
d418338e22
AP_HAL_SITL: remove I2CDriver
...
I2CDevice now serves for the same purpose.
2016-07-28 18:08:57 -03:00
Lucas De Marchi
13848f0f3f
AP_HAL_QURT: remove I2CDriver
...
I2CDevice now serves for the same purpose.
2016-07-28 18:08:57 -03:00
Lucas De Marchi
2ef78051c1
AP_HAL_PX4: remove I2CDriver
...
I2CDevice now serves for the same purpose.
2016-07-28 18:08:56 -03:00
Lucas De Marchi
73bb371918
AP_HAL_Linux: remove I2CDriver
...
I2CDevice now serves for the same purpose.
2016-07-28 18:08:56 -03:00
Lucas De Marchi
3eb0a48d59
AP_HAL_Empty: remove I2CDriver
...
I2CDevice now serves for the same purpose.
2016-07-28 18:08:56 -03:00
Lucas De Marchi
b21ad36676
AP_HAL: remove I2CDriver
2016-07-28 18:08:56 -03:00
Lucas De Marchi
8f11bf7373
AP_ADC: ADS1115: fix typo
2016-07-28 18:05:45 -03:00
Lucas De Marchi
4595a2b7d8
AP_Compass: Remove i2c lockup count
...
This was returned only for a single bus and on all supported platforms
this is hardcoded to 0.
2016-07-28 18:03:09 -03:00
Lucas De Marchi
84f45f09a3
AP_HAL_Linux: convert CameraSensor_Mt9v117 to I2CDevice
2016-07-28 18:03:09 -03:00
Lucas De Marchi
9acffc8868
AP_HAL_Linux: use Empty version if not implemented
...
There's little point in having the Linux::AnalogIn just to implement and
empty interface. All implementations inside AP_HAL_Linux are already
inheriting directly from AP_HAL, so just remove it.
2016-07-28 16:42:38 -03:00
Lucas De Marchi
47d2f8dc6d
AP_HAL_Linux: AnalogIn_ADS1115: return 5V on board_voltage
...
board voltage is not available - don't return 0V since that prevents
arming.
2016-07-28 16:42:38 -03:00
Tom Pittenger
59135fc615
AP_ADSB: fixed comment for default chan -1 means transceiver is not detected
2016-07-28 09:41:38 -07:00
Andrew Tridgell
c6d3f07b5f
AP_RPM: provide an RPM quality in SITL
2016-07-28 12:39:07 +10:00
Staroselskii Georgii
4ca1b58408
AP_HAL_Linux: add ConsoleDevice a handler for TTIN signal
...
In a case ArduPilot is launched as a background process without
detaching with *nohup* like this ./arduplane -C /dev/ttyAMA0 ConsoleDevice
is created and an attempt to read from it is made. This yields in a stopped
process. This is an endeavour to overcome this problem.
2016-07-27 21:30:19 +10:00
Staroselskii Georgii
8d2b587f71
AP_HAL_Linux: RPI: set signal handler iff nobody has already done it before
2016-07-27 21:30:19 +10:00
Staroselskii Georgii
5e8edcb1db
AP_HAL_Linux: use NSIG instead of a hardcoded number in RCInput_RPI
2016-07-27 21:30:19 +10:00
Staroselskii Georgii
d69aeb4808
AP_HAL_SITL: use sigaction over signal API in SITL_State
2016-07-27 21:30:19 +10:00
Randy Mackay
d19c074ba1
AP_ADC_ADS1115.h: changed member declaration order to resolve compiler warning
...
No functional change
2016-07-27 13:39:32 +09:00
hiro2233
3ae36c4a6c
AP_HAL_Linux:RCInput: Minimun input channels defined
2016-07-27 00:55:55 -03:00
hiro2233
4a6447575c
AP_HAL: fixed and updated RCInput example.
2016-07-27 00:52:13 -03:00
Andrew Tridgell
9df58e1e0a
AP_Arming: don't show the GPS arming error in SITL
...
it just makes users think something is wrong
2016-07-27 07:46:04 +10:00
Lucas De Marchi
a159eedd8c
AP_RangeFinder: fix bus for Lightware on some boards
2016-07-26 00:52:54 -03:00