Commit Graph

17571 Commits

Author SHA1 Message Date
dgrat
f56f584233 Compass: Improved field rounding in learning
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2015-07-06 11:31:58 +10:00
Daniel Frenzel
c49e44d02c HAL_LInux: RCInput for Navio
Cleaned the code a bit

Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2015-07-06 11:19:33 +10:00
kozinalexey
20a04bad77 AP_GPS: request RMC message in NMEA driver 2015-07-06 11:16:12 +10:00
dzollo
5d5d9dc137 AP_GPS: Fix max/min bug on SBP buffering. Log messages whether SBP driver recognizes the msg_type or not. 2015-07-06 10:53:35 +10:00
Lucas De Marchi
efec7723ff AP_InertialSensor: reset the MPU9250 chip on startup
Now that the initialization of MPU9250 is shared between the
AP_InertialSensor and other drivers using it as a backend, we can reset
the MPU9250 in order to put it in a known state.
2015-07-06 10:48:07 +10:00
Lucas De Marchi
1deb837e70 AP_Compass: Use common function in MPU9250 for initialization 2015-07-06 10:48:07 +10:00
Lucas De Marchi
eb4e2ac2e5 AP_InertialSensor: factor out MPU9250 initialization
Now we have the initialization code split in 2 parts:

1) Making sure the MPU9250 chip is alive and working: this is now in a
static function that may be called by other drivers that use MPU9250 as
backend.

2) The configuration of gyro and accel. Once the first part is completed
successfully the AP_InertialSensor_MPU9250 finishes the configuration of
the sensors it uses.

The only change in behavior here is that before we would try 25 time (5x
inside _hardware_init time 5x inside _init_sensor() that calls the first
function) to "boot the chip" and now we are doing "only" 5.
2015-07-06 10:48:07 +10:00
Lucas De Marchi
953bfbd3fe AP_InertialSensor: provide static methods for spi transactions
Add static methods to do the SPI transactions and provide the wrapper
methods when we have an instance of the object. This is useful so these
methods can be called from other contexts when the AP_InertialSensor
hasn't been initialized yet.
2015-07-06 10:48:07 +10:00
Lucas De Marchi
fde43a77b3 AP_HAL_Linux: allow to change spi device state
Allowing to change the SPI device state allows us to save the
information whether the device was already initialized and avoid 2
separate drivers to initialize it.
2015-07-06 10:48:06 +10:00
Lucas De Marchi
384d650a23 AP_HAL: allow to have spi device state 2015-07-06 10:48:06 +10:00
Staroselskii Georgii
26c8007c96 AP_Compass: updated backend detect method
Uses reimplemented AK8963 driver. There's also no need trying to detect this
compass twice. Actually, it might even be bad, because the current code can
allocate an AK8963 object twice.
2015-07-06 10:48:06 +10:00
Staroselskii Georgii
7a417d1151 AP_Compass: AK8963 rework
Got rid of extra abstraction layer. There is no need for that now.
2015-07-06 10:48:06 +10:00
mirkix
f82344358f AP_InertialSensor: Change BBBMINI standard orientation 2015-07-06 10:12:39 +10:00
mirkix
e6363ea95d AP_HAL_Linux: BBBMINI uses /dev/i2c-2 2015-07-06 10:09:21 +10:00
Lucas De Marchi
b211b86204 AP_HAL_Linux: don't manually define number of spi devices
It's error-prone, let's make the compiler define it for us.
2015-07-06 10:07:22 +10:00
Lucas De Marchi
82314ee4a3 AP_Common: add helper macro ARRAY_SIZE 2015-07-06 10:07:21 +10:00
Tom Pittenger
f1ee129423 Plane: compiler warnings
- float to double in gcs_send_test (x2)
- float to bool
2015-07-06 09:30:19 +10:00
Andrew Tridgell
1f58e0080a SITL: fixed some build warnings 2015-07-06 09:21:49 +10:00
Andrew Tridgell
698312a32c build: added more warnings and errors to SITL build
more closely match PX4 build
2015-07-06 09:21:39 +10:00
Andrew Tridgell
8f41d97548 AP_Math: fixed build error on PX4
variable set but not used with recent longitude_scale change
2015-07-06 08:19:57 +10:00
Andrew Tridgell
099392d3ca AP_Math: don't optimise longitude_scale on faster CPUs
it causes problems with replay
2015-07-05 17:27:53 +10:00
Andrew Tridgell
bdddfae57f Replay: don't write out duplicate FMT messages
this makes replay output the same as input for when input is a replay
log
2015-07-04 22:43:54 +10:00
Andrew Tridgell
88a90495b2 HAL_SITL: allow for more data before GPS pipe flush 2015-07-04 15:14:39 +10:00
Andrew Tridgell
93800fb3a1 Replay: automatically find message types, and improve rate detection 2015-07-04 15:14:14 +10:00
Andrew Tridgell
21c895f6f3 AP_GPS: prevent extra NMEA messages causing rapid fix rates
unexpected messages could cause the GPS driver to report a very high
fix rate, which can confuse the EKF
2015-07-03 22:08:05 +10:00
Andrew Tridgell
b20318aaeb Replay: remap msgids on pass-through to avoid conflicts
if msg IDs have changed since the log was produced they need to be
remapped
2015-07-03 09:32:05 +10:00
Paul Riseborough
4fb7beba4b AP_NAvEKF: Prevent failure due to magnetometer fusion numerical errors
If a badly conditioned covariance matrix causes negative innovation variances, then the filter will diverge. The previous approach of increasing process noise was not effective in some cases, so a hard reset of the covariance matrix has been adopted to guarantee recovery.
This fixes a numerical error observed using the replay on flight log which had significant periods of compass rejection.
2015-07-02 18:07:22 +10:00
Andrew Tridgell
bd27fed241 Replay: fixed missing import 2015-07-02 17:14:42 +10:00
Andrew Tridgell
ef36d74a1c Replay: added generation of -checked logs 2015-07-02 17:05:09 +10:00
Andrew Tridgell
c74d39558c Replay: initial version of CheckLogs.py 2015-07-02 17:05:09 +10:00
Andrew Tridgell
4f9ccf727a Replay: cope with bad NSats field from old logs 2015-07-02 17:05:09 +10:00
Randy Mackay
af8b9e703c Copter: fix compiler warning from pid_tuning_send call 2015-07-02 14:22:53 +09:00
Randy Mackay
43b1694c76 Compass: add third compass to PRIMARY param description 2015-07-02 14:19:30 +09:00
Randy Mackay
63052ff874 Copter: pre-arm check of battery voltage 2015-07-02 14:19:13 +09:00
Andre Kjellstrup
edc32092ce Plane: Do not run long_failsafe during final or landing. 2015-07-02 14:28:45 +10:00
Andre Kjellstrup
9d525d4382 Plane: Do not run FailSafe if on final approach or landing.
A failsafe (Circle, RTL) would easily become a disaster if trigged
during approach or final.
2015-07-02 14:28:45 +10:00
Andre Kjellstrup
baf4989a80 Plane: Ignore low voltage failsafe during landing
Log it, but do not switch to RTL if already in final or landing.
2015-07-02 14:28:44 +10:00
Andrew Tridgell
a5abb7c698 Replay: use tabs in replay_results.txt 2015-07-02 14:28:44 +10:00
Andrew Tridgell
f79ae4b749 Replay: add to replay_results.txt when run with --check 2015-07-02 14:28:44 +10:00
Randy Mackay
c57b4f9c8c Copter: add Flip, AutoTune to FLTMODE param descriptions 2015-07-02 13:24:20 +09:00
Peter Barker
844f050cf3 DataFlash: correct zero-byte-file handling in CLI
-rw-rw-r-- 1 pbarker pbarker   2105344 Jul  1 16:10 1.BIN
-rw-rw-r-- 1 pbarker pbarker         0 Jul  1 19:35 2.BIN
-rw-rw-r-- 1 pbarker pbarker   2494464 Jul  1 16:58 3.BIN
-rw-rw-r-- 1 pbarker pbarker 128503808 Jul  1 20:22 4.BIN
-rw-rw-r-- 1 pbarker pbarker         3 Jul  1 19:46 LASTLOG.TXT

Before fix:

2 logs
Log 3 in logs/3.BIN of size 2494464 2015/7/1 6:58
Log 4 in logs/4.BIN of size 128503808 2015/7/1 10:22

After Fix:

4 logs
Log 1 in logs/1.BIN of size 2105344 2015/7/1 6:10
Log 2 in logs/2.BIN of size 0 2015/7/1 9:35
Log 3 in logs/3.BIN of size 2494464 2015/7/1 6:58
Log 4 in logs/4.BIN of size 128503808 2015/7/1 10:22

If the last file was zero bytes, no files would be shown.
2015-07-02 08:53:18 +10:00
Igor Vereninov
89baeb0c78 Update Navio maintainer in README.MD
Make Georgii Staroselskii maintainer of Navio.
2015-07-02 08:50:54 +10:00
Andrew Tridgell
5b0394eb05 AP_Compass: start MPU9250 driver at low speed
this raises the chances of successful init of the MPU9250
2015-07-02 08:48:06 +10:00
Staroselskii Georgii
d40b45c9ae AP_InertialSensor: disable reset on MPU9250
The Compass library is initialized before the InertialSensor. AK8963 with
MPU9250 as backend already takes care of resetting MPU9250. The problem with
also resetting it in the MPU9250 initialization code is that if the reset
happens during an internal I2C transaction, the AK8963 may hang. So here we
remove the reset inside MPU9250. There still a possibility that the first
MPU9250 initialization is not successful and it resets the chip, but it's not
happening in tests.
2015-07-01 20:44:09 +03:00
Andrew Tridgell
b93101b1bf Replay: reduced verbosity 2015-07-01 21:11:46 +10:00
Andrew Tridgell
2c0d6c0406 Replay: fixed yaw error calculation 2015-07-01 20:44:08 +10:00
Andrew Tridgell
d07b93e661 Replay: fixed writing of CHEK messages 2015-07-01 20:44:08 +10:00
Andrew Tridgell
5f0302ed9f HAL_Linux: fixed chaining of getopt calls 2015-07-01 20:44:07 +10:00
Randy Mackay
ea30e5151d Copter: pre-arm check thr is above failsafe 2015-07-01 16:36:11 +09:00
Andrew Tridgell
355575f793 HAL_Linux: fixed chaining of getopt instances 2015-07-01 15:42:07 +10:00