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
Randy Mackay
28c722c157
AC_Circle: rate change takes effect immediately
2015-07-23 16:21:20 +09:00
Tom Pittenger
d51e6d466b
AP_HAL_SITL: add support for airspeed failures
2015-07-23 14:38:06 +10:00
Tom Pittenger
250dcd31a2
SITL: Add ARSP_FAIL param
...
This will allow testing pitot tube hardware failures
2015-07-23 14:38:06 +10:00
Staroselskii Georgii
d7ac725a64
AP_HAL_Linux: fixed signal handler in RCInput_Navio
...
DMA is getting stopped in the separate method now. This is the best we
can get at the current time. It does yield slightly better experience
and works in the majority of cases.
The patch is a no bulletproof solution, though.
There's a possibility of corruption in case of e.g. a SIGKILL. There's
no signal framework at the time and the commit doesn't add one. That's
why all signals are handled in the same erroneous way. This is not a
good nor a final solution to the issue.
For the issue at hand a better fix might be porting the code to kernel
space but it's a rather tediuos task that we cannot undertake in the
couple of weeks.
2015-07-23 08:51:38 +10:00
Staroselskii Georgii
8528a7d159
AP_HAL_Linux: added deinit logic for RCInput_Navio
...
DMA needs to be stopped if a panic occurs.
2015-07-23 08:51:37 +10:00
Staroselskii Georgii
f4d14f73ba
AP_HAL_Linux: extended panic handling with RCInput deinitialization
...
The issue has already come up. There's no deinitialization mechanisms at the moment. As APM is rather software than firmware on Linux, there're some clean-up work that needs to be done. This commit triggers deinitialization of RCInput on a panic.
2015-07-23 08:51:37 +10:00
Vladislav Zakharov
97b51a4bcb
AP_HAL: Added deinit() method to RCInput
...
Add a deinit() counterpart. This is needed for some ports that require some deinitializtion logic. The default implementation is empty. I'm not sure whether we need to inforce it for all.
2015-07-23 08:51:37 +10:00
Tom Pittenger
9737c426eb
SITL: Gazebo index out of bound
...
- imu_orientation_quat[size=3] is fed to Quaternion[size=4] which causes an index-out-of-range problem
2015-07-22 21:33:46 +10:00
Michael du Breuil
59dda49cce
AP_GPS: Fix missing reserved fields in the UBX-RXM-RAWX message
2015-07-22 21:31:10 +10:00
Michael du Breuil
09fef505e0
AP_GPS: With a ublox driver, accept a packet if it will fit in the buffer
2015-07-22 21:31:10 +10:00
Michael du Breuil
22b16b4532
AP_GPS: Enable selecting what GNSS system to use if the reciever supports it
...
Ublox 7 and 8 seires use a UBX-CFG-GNSS message to enable satellite constellations. The default value does not enable any additional ones, and any constellations the reciever doesn't report knowing about are not configured.
2015-07-22 21:31:10 +10:00
Michael du Breuil
47592a1953
AP_GPS: Raise the baud rate on a ublox GPS if using RAW logging
...
the implementation leaves an easy path forward for providing a different startup blob for all the GPS's if raw logging is enabled
2015-07-22 21:31:09 +10:00
Michael du Breuil
19bb96b9cb
AP_GPS: Improve startup logic for detecting what gps is connected
...
Remove race condition on sending intial blob to the GPS, it was possible to send a blob that got the GPS configured enough to allow the autodetect to take over (and then some drivers like ublox would not finish sending the blob, which has potential details that the driver might have needed to send)
Limit the delay to checking for NMEA gps to only checking after all the available baud rates have been checked
Since a UBlox will actually report having DGPS (due to SBAS or RTCM data) actually report this as the highest supported mode
2015-07-22 21:31:09 +10:00
Arthur Benemann
e3398648d7
GCS_MAVLink: fix debug formatting
2015-07-21 21:41:34 +09:00
Randy Mackay
521f3dc4b9
GCS_MAVLink: only forward msg once per channel
...
Issue found and alternative fix provided by Arthur Benemann
2015-07-21 21:41:32 +09:00
Randy Mackay
6f72d202fe
GPS: fix parameter descriptions
2015-07-21 19:50:12 +09:00
Randy Mackay
e31f2d26c4
MotorsMulticopter: move get_hover_throttle_as_pwm to protected
...
No functional change
2015-07-21 16:27:04 +09:00
Randy Mackay
c7c6228b5d
MotorsMulticopter: remove virtual from set_yaw_headroom
2015-07-21 16:27:01 +09:00
Randy Mackay
157c97447d
AC_AttControlHeli: init passthrough_yaw
2015-07-21 16:26:27 +09:00
Randy Mackay
8b4805bfcb
AC_AttControl_heli: add MotorsHeli include
2015-07-21 16:25:56 +09:00
Randy Mackay
bf2bf2e3fa
AC_AttControl_Multi: new multirotor specific attitude control class
2015-07-21 16:25:53 +09:00
Randy Mackay
93dd7dd970
AC_AttControl: get_boosted_throttle purely virtual
2015-07-21 16:25:50 +09:00
Randy Mackay
4843be49de
AP_MotorsTri: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:48 +09:00
Randy Mackay
f906934dfa
AP_MotorsSingle: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:45 +09:00
Randy Mackay
112e934072
AP_MotorsMatrix: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:43 +09:00
Randy Mackay
b1a4a6bf0a
AP_Motors_Coax: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:40 +09:00
Randy Mackay
4d1dfd94f5
AP_MotorsMulticopter: multicopter features moved in from parent
...
Also rename from multirotor to multicopter
2015-07-21 16:25:37 +09:00
Randy Mackay
7355ac9cb8
AP_MotorsHeli: implement empty slow start method
2015-07-21 16:25:34 +09:00
Randy Mackay
a3fab10ef4
AP_MotorsHeli: init roll_radio_passthrough
2015-07-21 16:25:31 +09:00
Randy Mackay
c9dedbd3b2
AP_Motors: remove multicopter only features
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:28 +09:00
Robert Lefebvre
abb6eba291
AP_MotorsHeli: Change allow_arming check to use _rotor_speed_estimate
...
In future, this will be used to check actual rotor speed (measured) if available, to prevent trying to arm with the rotor spinning.
2015-07-21 16:25:21 +09:00