Commit Graph

8521 Commits

Author SHA1 Message Date
Randy Mackay 539c6fe525 BattMon_SMBus: remove unnecessary I2C semaphore give 2015-08-19 20:04:12 +09:00
Randy Mackay ac8c708327 Compass_HMC5843: remove unnecessary i2c semaphore give 2015-08-19 20:04:11 +09:00
Randy Mackay 328332d6c0 DataFlash: consolidate GPS, GPS2 messages
Remove unused dgps_numch, dgps_age from GPS2
Add U field (for use) to both GPS and GPS2
2015-08-19 20:04:07 +09:00
Andrew Tridgell 9fbd739ebe AP_AHRS: protect against zero deltat in DCM
fixes issue #2657
2015-08-19 20:04:05 +09:00
Randy Mackay 34a5c46bfd AC_WPNav: remove unused definitions 2015-08-19 20:04:04 +09:00
Randy Mackay 7fb7b4d74e AC_WPNav: replace hardcoded 0.02 with pos_control dt 2015-08-19 20:04:03 +09:00
Leonard Hall 2ec34b14fc AC_WPNav: fix spline height loss 2015-08-19 20:04:02 +09:00
Michael du Breuil 2e699095a6 AP_GPS: Default the value of hdop to 99.99 if no value has been read yet. 2015-08-19 20:04:00 +09:00
Randy Mackay aeef23c183 Rally: rename RALLY_HOME_INC param to INCL_HOME
Also default include-home to 1 only for copter
Also minor formatting and comment changes
2015-08-19 20:03:59 +09:00
KiwiHC16 7e99a052b8 Rally: add RALLY_HOME_INC param to use Home as a Rally point 2015-08-19 20:03:58 +09:00
Julien BERAUD 407bb5933b AP_Compass_AK8963: suspend timer while reading
Protection in case a timer falls while reading data, because it could end up
with corrupted data
2015-08-19 20:03:57 +09:00
Julien BERAUD de7cf019ef AP_Compass_AK8963: fix sem handling
In case of error or zeroed data, the i2c semaphore wasn't given.
It happened at first startup on Bebop and caused a failure:
"PANIC: failed to take _bus->sem 100 times in a row..."
2015-08-19 20:03:56 +09:00
Leonard Hall 5b133934db AP_Motors: calc_roll_pwm based on throttle pwm range 2015-08-19 20:03:55 +09:00
Randy Mackay cdd64fc43d AHRS_NavEKF: fix blended accel to use primary accel 2015-08-19 20:03:48 +09:00
Randy Mackay 5412ce9819 Terrain: set HAL capabilities bit 2015-08-19 20:03:44 +09:00
Randy Mackay f08c34fe73 GCS_MAVLink: retrieve capabilities from HAL 2015-08-19 20:03:43 +09:00
Randy Mackay 66b0b5c7d6 HAL: define capability bitmask 2015-08-19 20:03:42 +09:00
squilter ad00e97447 GCS_MAVLink: add optional param to support capability bitmask 2015-08-19 20:03:40 +09:00
Andrew Tridgell 0a66bcbae5 AP_InertialSensor: don't use INT_STATUS drdy to lower SPI bus speed
as pointed out by Lucas in PR#2604 this is probably a bad idea
2015-08-19 20:03:39 +09:00
Grant Morphett eb63293498 SITL: fix coverity warning - removed unused variable heli_servos 2015-08-19 20:03:37 +09:00
Grant Morphett 0de992c5f9 DataFlash: fix coverity warnings - add param init in constructor 2015-08-19 20:03:36 +09:00
Grant Morphett 4c1de1abf3 AP_InertialSensor: fix coverity warnings - param init in construct 2015-08-19 20:03:35 +09:00
Grant Morphett ff97bdd605 AP_Baro: coverity fixes - add param init in constructor 2015-08-19 20:03:34 +09:00
Andrew Tridgell 9f4ab28352 AP_GPS: re-enable SBAS config on APM2 for uBlox 2015-08-19 20:03:28 +09:00
Andrew Tridgell 27a098be9f AP_AHRS: use delta_velocity and delta_angle in DCM
this prevents an aliasing effect by using the correct delta velocity
time value for each accelerometer sample used
2015-08-19 20:03:27 +09:00
Andrew Tridgell a9efbf7e4a AP_GPS: save some memory and code space on APM2 for ublox
don't include structures we don't need for low end CPUs
2015-08-19 20:03:26 +09:00
Randy Mackay 4d9325c582 GPS: suppress compile warning 2015-08-19 20:03:25 +09:00
Randy Mackay 04f7a07bad GPS: fix compile warning for NMEA logging 2015-08-19 20:03:24 +09:00
Randy Mackay d2f7c21eb3 Baro: update climb rate only if healthy 2015-08-19 20:03:23 +09:00
Andrew Tridgell 50e07ccad6 HAL_Linux: added bcast flag for udp broadcast 2015-08-19 20:03:20 +09:00
Andrew Tridgell dfdedb3f33 AP_HAL: allow for broadcast packets on UDP IPv4 2015-08-19 20:03:19 +09:00
Andrew Tridgell 28bdeaf5d9 GCS_MAVLink: use a larger log send queue for Linux
often on UDP or TCP with more bandwidth
2015-08-19 20:03:18 +09:00
Andrew Tridgell 19dee8419b AP_HAL: added pollout() function to socket API 2015-08-19 20:03:17 +09:00
Andrew Tridgell a5f01c7ada HAL_Linux: sped up UDP transfers by about 25x
allow more than 1 packetised transfer per tick
2015-08-19 20:03:16 +09:00
Andrew Tridgell ab7f9807a2 AP_GPS: added optional NMEA debug log
compile time option for debugging
2015-08-19 20:03:15 +09:00
Andrew Tridgell 81a3d439a3 HAL_Linux: allow startup before network bringup
this makes it possible to bootup ardupilot before the desired network
interface is available. This is very useful for when using 3G dongles
in aircraft
2015-08-19 20:03:13 +09:00
Andrew Tridgell 288c20a58e HAL_Linux: implemented TCP server as a single driver
the wait flag just changes startup behaviour. The TCP server should
always be a server with listen and accept. We don't need two drivers
2015-08-19 20:03:11 +09:00
Andrew Tridgell ef47a27ac8 AP_HAL: added listen and accept APIs to socket API 2015-08-19 20:03:10 +09:00
Andrew Tridgell fa40e7245e AP_HAL: added pollin() interface for Socket API 2015-08-19 20:03:09 +09:00
Andrew Tridgell bd1b35804a HAL_Linux: replace recvfrom with recv 2015-08-19 20:03:08 +09:00
Andrew Tridgell a48f0db405 AP_HAL: fixed socket destructor 2015-08-19 20:03:07 +09:00
Andrew Tridgell bbc8bdcef3 HAL_Linux: removed 0 timeout from sendto call 2015-08-19 20:03:06 +09:00
Staroselskii Georgii 879f4f7555 AP_HAL_Linux: fixed _parseDevicePath() in LinuxUARTDRiver
The current implementation doesn't throw an error on a malformed path string.

i.e. udp:192.168.1.1.14550 instead of udp:192.168.1.1:14550 may result in a memory leak or whatsoever.

The commit fixes the issue and outputs a nice error message if anything's wrong.
2015-08-19 20:03:05 +09:00
Staroselskii Georgii f66f583843 AP_HAL_Linux: renamed TCPClientDevice 2015-08-19 20:03:04 +09:00
Staroselskii Georgii 39048229cd AP_HAL_Linux: renamed TCPServerDevice
A more appropriate name for the class.
2015-08-19 20:03:03 +09:00
Staroselskii Georgii 50765229ca AP_HAL_Linux: made UARTDriver use TCPServerDevice 2015-08-19 20:03:02 +09:00
Staroselskii Georgii 0ec64a5d13 AP_HAL_Linux: added TCPServerDevice 2015-08-19 20:03:01 +09:00
Staroselskii Georgii 34c1fe6e66 AP_HAL_Linux: made UARTDriver use TCPClientDevice 2015-08-19 20:03:00 +09:00
Staroselskii Georgii 244cdb3507 AP_HAL_Linux: added TCPClientDevice 2015-08-19 20:02:59 +09:00
Staroselskii Georgii 595903f17c AP_HAL_Linux: got rid of TCP connection 2015-08-19 20:02:58 +09:00
Staroselskii Georgii 179fc4a781 AP_HAL_Linux: made UARTDriver use ConsoleDevice 2015-08-19 20:02:57 +09:00
Staroselskii Georgii 7ba960f265 AP_HAL_Linux: added ConsoleDevice 2015-08-19 20:02:56 +09:00
Staroselskii Georgii 4a79713081 AP_HAL_Linux: made UARTDriver use UDPDevice 2015-08-19 20:02:55 +09:00
Staroselskii Georgii 9e6c4fe176 AP_HAL_Linux: added UDPDevice 2015-08-19 20:02:54 +09:00
Staroselskii Georgii b59264007c AP_HAL_Linux: encapsulated LinuxUARTDriver::_deallocate_buffers 2015-08-19 20:02:53 +09:00
Staroselskii Georgii 26382e63df AP_HAL_Linux: made UARTDriver use UARTDevice 2015-08-19 20:02:52 +09:00
Staroselskii Georgii 0c582eeae6 AP_HAL_Linux: added UARTDevice 2015-08-19 20:02:51 +09:00
Staroselskii Georgii 7160c88d39 AP_HAL_Linux: added SerialDevice interface
Adds the interface that will be used for encapsulating various mediums
that can be used in the Linux port.
2015-08-19 20:02:50 +09:00
Staroselskii Georgii 9b25217757 AP_HAL_Linux: added _serial_start_connection 2015-08-19 20:02:49 +09:00
Staroselskii Georgii ed431e9857 AP_HAL_Linux: encapsulated LinuxUARTDriver::allocate_buffers 2015-08-19 20:02:48 +09:00
Staroselskii Georgii 4d28b4a962 AP_HAL_Linux: use defines instead of hardcoding fd numbers in UARTDriver 2015-08-19 20:02:47 +09:00
Staroselskii Georgii 6d1133378b AP_HAL: added destructor for Socket 2015-08-19 20:02:46 +09:00
Staroselskii Georgii 3134634af6 AP_HAL: improved constness of Socket API 2015-08-19 20:02:45 +09:00
Michael du Breuil 3a7cc03f67 AP_GPS: Fix copy/paste error in ublox (uncovered by coverity) 2015-08-19 20:02:44 +09:00
Randy Mackay 77b97f8643 AC_AttControl: relax earth frame rate targets along with bf 2015-08-19 20:02:41 +09:00
rentt 1c8180a41f Scheduler: fix compiler warning in example sketch
printf except a unsigned long value, but the hal.scheduler->millis() return a uint32_t
2015-08-19 20:02:38 +09:00
Tom Pittenger bced0a3734 SITL: param SITL_ARSP_FAIL should be a float instead of byte
this param was meant to represent an airspeed which is a float
2015-08-19 20:02:37 +09:00
Andrew Tridgell 1b1bc9f3b1 RC_Channel: prevent floating exception on bad MIN/MAX/TRIM values 2015-08-19 20:02:34 +09:00
Tom Pittenger ffe1561f31 AP_InitialSensor_MPU6000: compiler warning - init order 2015-08-19 20:02:33 +09:00
Tom Pittenger e7a7f43260 AC_WPNav: compiler warnings: float to double 2015-08-19 20:02:32 +09:00
Robert Lefebvre 0615d7a058 AC_Heli_PID: Deprecate Accel Feedforward. 2015-07-30 14:22:55 +09:00
Robert Lefebvre bfc10c1969 AC_AttitudeControl_Heli: Remove Accel Feedforward. 2015-07-30 14:22:53 +09:00
Randy Mackay 5032cf9fbc Copter: init multicopter flags
Resolves coverity warning

Also fixed indentation
2015-07-25 14:00:29 +09:00
Michael du Breuil 9d53aa77eb AP_GPS: Add reboot required docstring 2015-07-25 10:56:19 +09:00
Randy Mackay b13921a7aa Mount_SToRM32: find gimbal channel on startup 2015-07-25 10:53:05 +09:00
Randy Mackay e7df54ca75 GCS_MAVLink: static find_by_mavtype method 2015-07-25 10:53:03 +09:00
Randy Mackay e092902613 GCS_MAVLink: add find_by_mavtype 2015-07-25 10:52:59 +09:00
Peter Barker 1ee330ebb2 DataFlash: CLI log dumping - don't truncate lines that contain doubles
We currently print doubles out as if they were floats.  The ftoa_engine isn't something to replicate for doubles lightly!
2015-07-24 08:08:51 +10:00
Peter Barker 39b2cdcc3c AP_Menu: avoid segmentation fault
Insufficient input would cause a segfault
2015-07-24 08:05:13 +10:00
Randy Mackay 3dfb447fd7 BattMon: has_current true for Bebop
The bebop does not actually provide current but it does estimate the
percentage of battery remaining
2015-07-23 21:49:32 +09:00
Randy Mackay 8403b504d1 BattMon: add Bebop to monitor param description 2015-07-23 21:49:32 +09:00
Randy Mackay 9482578c60 BattMon: Bebop always uses bebop batt monitor 2015-07-23 21:49:31 +09:00
Randy Mackay 84b6ab0707 BattMon_Bebop: use ARRAY_SIZE
Also remove printf of failure message, instead we should add the battery
monitor health to the SYS_STATUS message sent to the ground station
2015-07-23 21:49:30 +09:00
Randy Mackay 3b36178a0b BattMon_Bebop: init members in constructor 2015-07-23 21:49:29 +09:00
Jean-Baptiste Dubois f6aba6c952 HAL_Linux: add read_obs_data to RCOutput_Bebop 2015-07-23 21:49:28 +09:00
Jean-Baptiste Dubois 35ae562dbe AP_BattMonitor: Add battery support for Bebop Hardware 2015-07-23 21:49:27 +09:00
Andrew Tridgell 54254c89d7 AP_Arming: control rudder arming with ARMING_RUDDER parameter
allow for 3 states:

 0: no rudder arming
 1: arm only
 2: arm and disarm
2015-07-23 21:48:50 +10:00
Lucas De Marchi 8240e5ae65 AP_Compass: AK8963: reduce bytes read
We are not using INFO and ST1 registers, so there's no need to read
extra 2 bytes for each transaction.
2015-07-23 17:44:36 +10:00
Lucas De Marchi 2b9c46e1ff AP_Compass: AK8963: don't oversample AK8963
Reduce the frequency with which MPU9250 reads AK8963 to reduce the
chance of errors.
2015-07-23 17:44:36 +10:00
Lucas De Marchi 6c2ceea165 AP_Compass: AK8963: remove author and connection comment
Authorship and how sensor is connected get outdated (as it already is).
Our code is on git so let it track who wrote each line.
2015-07-23 17:44:36 +10:00
Staroselskii Georgii 8ab33c46ce AP_Compass: revisited AK8963 code
Reduced duplication a bit and revisited the update method which is now
split into several logical hunks.
2015-07-23 17:44:36 +10:00
Lucas De Marchi fffedae3e0 AP_Compass: AK8963: reduce stack usage and zero out buffers
Since we are not using MPU9250's fifo to get samples from AK8963 we will
always read only 1 sample (+ control registers).
2015-07-23 17:44:35 +10:00
Lucas De Marchi 37734886a5 AP_Compass: AK8963: remove repeated comments
No need to repeat the same comments on 3 different places. Instead add a
single comment to explain how start_measurements() and read_raw() are
related.
2015-07-23 17:44:35 +10:00
Lucas De Marchi 27d95b67a8 AP_Compass: AK8963: remove state machine
Don't use a state machine in AK8963: the start_measurements() method
should be called only once.  Even if there's a magnetic sensor overflow
the only thing we should do is to discard the new data.

This also moves the _collect_samples() method to be inside _update()
since it's the only place it should be called from, the one running on
the timer thread.
2015-07-23 17:44:35 +10:00
Lucas De Marchi e232543fca AP_Compass: AK8963: change initialization and rename methods
We need to check the AK8963's id before anything else Here we are
reordering the calls to _calibrate() and _check_id(). After that we
don't need to read and write again the AK8963_CNTL1 register.

While at it do some renames as well:
	- _configure() -> _setup_mode(): since now there's a
 	  _bus->configure() it became confusing what actually it's
	  doing.
	- make error messages say what we were actually trying to do but
	  couldn't. Also remove PSTR since this is linux-only.
	- start_conversion() -> start_measurements():  We are instructing the
          bus to start to get the samples, not to tell the chip to start an
          analog->digital conversion like in other sensors.
2015-07-23 17:44:35 +10:00
Lucas De Marchi ae5d9baddb AP_Compass: AK8963: remove defines not used anymore
The MPUREG_PWR_MGMT_1 defines were used when we cared about the MPU9250
initialization code. Now all initialization is done by the MPU9250 class
itself, so remove these defines.

Also remove AK8983_SELFTEST_MAGNETIC_FIELD_ON that is never used and let
the defines always with 2 bytes to improve readability.
2015-07-23 17:44:34 +10:00
Lucas De Marchi cae895bfdf AP_Compass: AK8963: group members together
Besides being semantically related, this removes the hole due to
alignment. The size is the same since the hole is actually turned into
padding.
2015-07-23 17:44:34 +10:00
Lucas De Marchi 28d3d775a4 AP_Compass: AK8963: remove resolution member
We only use the highest one and there's no intention to support the
14bits one. Just use the define rather than saving it as a member.
2015-07-23 17:44:34 +10:00
Lucas De Marchi 86b3312112 AP_Compass: AK8963: factor out common code of read_raw()
Similar code was added in the read_raw() implementation for each bus.
Add a new POD struct read_raw to contain the registers from the AK8963
and use it instead as argument.
2015-07-23 17:44:33 +10:00
dgrat d941174978 AP_Compass: AK8963: enhance the readability
Reduce the deepness of indentation and fix coding style.
2015-07-23 17:44:33 +10:00