Commit Graph

6324 Commits

Author SHA1 Message Date
Holger Steinhaus
abad58874c AP_GPS: enable GNSS modules handled by PX4 firmware via GPS_TYPE
GNSS modules handled by PX4 drivers are not auto-detectable, some are not even
connected to a UART port. The activation is therefore controlled by GPS_TYPE
only. Baud rate and port settings (if applicable) have to be handled by the PX4
firmware.
2014-11-14 14:36:10 +11:00
Holger Steinhaus
442aafbd1e AP_GPS: add proxy driver for GNSS modules handled by PX4 firmware 2014-11-14 14:36:10 +11:00
John Williams
57d2fc1dd5 HAL_Linux: RCInput support for Zynq 2014-11-14 14:10:35 +11:00
Jason Short
7ee5b58535 AP_Mount: Axis mask speedup
Using a simple bit mask to avoid calculating an unneeded ATAN2() for AVR users.
2014-11-14 13:51:16 +11:00
Matthias Badaire
1d3a49e466 AP_HAL_PX4 : make UARTDriver capable to be called from different threads.
The modification allows the read and write functions to be called by any thread but the calling thread must be the last one that called the begin() function.
2014-11-14 13:51:16 +11:00
Andrew Tridgell
154bf51279 HAL_PX4: minor tidy up of if statement 2014-11-14 13:51:16 +11:00
Holger Steinhaus
9e9c62d245 HAL_PX4: work-around for periodic enable_ch() calls 2014-11-14 13:51:16 +11:00
Holger Steinhaus
e5549c90a1 HAL_PX4: do not overwrite disabled channels with zeros
Fixes #1321
2014-11-14 13:51:16 +11:00
Randy Mackay
d34ea4c124 AC_PosControl: fix to default force_descend param 2014-11-13 18:40:45 -08:00
Jonathan Challinger
e81c1dd5a1 AC_PosControl: add force_descend option to set_alt_target_from_climb_rate 2014-11-13 18:40:38 -08:00
Andrew Tridgell
2270a904ce RC_Channel: make flaperson range from -4500 to 4500 2014-11-14 11:23:52 +11:00
Jonathan Challinger
cc955b738b AP_NavEKF: Clean up flight detector logic 2014-11-14 10:34:49 +11:00
priseborough
5359da9c68 AP_NavEKF : Improved Magnetometer Error Handling
(Plane Only) If the yaw and GPS heading disagree by more than 45 degrees on takeoff, then the magnetometer is declared as failed. The heading is then reset based on the difference between GPS ground track and stgate velocity vector.
Magnetometer fusion uses corrected data and bias states are initialised to zero. This allows the compass to be switched in flight.
For persistent compass errors that trigger a timeout, the compass is not permanently failed, however for non-forward fly vehicles the compass weighting is reduced.
2014-11-14 10:34:48 +11:00
Staroselskii Georgii
a55db1c25d AP_HAL_Linux: fixed LinuxGPIO_RPI::read() 2014-11-14 10:28:34 +11:00
Mikhail Avkhimenia
49d3035ee5 HAL_Linux: fix types, remove printfs in GPIO_RPI 2014-11-14 10:28:34 +11:00
Mikhail Avkhimenia
6f993fe64a HAL_Linux: add prototype RCInput code for Navio 2014-11-14 10:28:34 +11:00
Staroselskii Georgii
ef420a2544 AP_HAL_Linux: changed SPI mode for MPU9250 2014-11-14 10:28:34 +11:00
Staroselskii Georgii
bf860ee41f AP_HAL_Linux: Ublox SPI stub 2014-11-14 10:28:34 +11:00
Víctor Mayoral Vilches
ce4c4c43dc AP_HAL_Linux: Scheduler reboot fix
exit from the autpilot when reboot is commanded.
The software assumes that the code is being
launched in an infinite loop thereby an exit
will make it reboot.
2014-11-14 10:27:19 +11:00
John Williams
ae87399919 HAL_Linux: Basic Zynq Linux platform support
Preliminary support for Zynq/Linux on the 'ZyboPilot' HW platform.

see https://github.com/trjw/ZyboPilot-bsp for the PetaLinux / Vivado project
files.

At this stage CPPM/Pulse in and PWM out work, and in CLI mode the passthru
test works correctly.

The platform has passed minimal smoke testing in HIL mode.

ZYNQ IS NOT FLIGHT TESTED YET!  FLY THIS PLATFORM AT YOUR OWN RISK!

Signed-off-by: John Williams <john@whelanwilliams.net>
2014-11-14 10:21:04 +11:00
Andrew Tridgell
adcf994356 AP_HAL: added Zynq platform type 2014-11-14 10:21:04 +11:00
Staroselskii Georgii
7f00dd413f AP_Compass: fixed HMC5883's initialisation code 2014-11-14 10:21:04 +11:00
Andrew Tridgell
3b6c732b3b APM_Control: changed default I gain for roll/pitch controllers to non-zero
too many people are still not tuning. At least this will give them a
chance to get their aircraft back in a cross-wind
2014-11-13 22:13:25 +11:00
Andrew Tridgell
258542b939 AP_Airspeed: added ARSPD_SKIP_CAL parameter
allows airspeed calibration to be skipped for easier startup
2014-11-13 21:12:37 +11:00
Andrew Tridgell
9c631944f7 AP_Airspeed: expose raw pressure for logging 2014-11-13 17:49:04 +11:00
Andrew Tridgell
f04f8e226d SITL: abort on floating point error
this creates a core file
2014-11-13 17:27:20 +11:00
Andrew Tridgell
1fc8116069 AP_L1_Control: update NAV_L1_PERIOD docs 2014-11-13 14:26:42 +11:00
Andrew Tridgell
1552278fa3 AP_TECS: use aparm.stall_prevention 2014-11-13 14:05:33 +11:00
Andrew Tridgell
04b63a61bf AP_Vehicle: added stall_prevention variable 2014-11-13 14:05:22 +11:00
Andrew Tridgell
3667900e84 AP_SpdHgtControl: added load_factor in update_pitch_throttle() 2014-11-12 13:36:02 +11:00
Andrew Tridgell
bf591b0008 AP_TECS: take load factor into account in min airspeed
this will push up minimum airspeed when turning
2014-11-12 13:36:02 +11:00
Andrew Tridgell
d404cc6542 AP_Baro: add set_external_temperature()
this allows the use of an external temperature sensor for calibration
purposes, such as the sensor built in to the digital airspeed sensor.

The main affect this has is on the EAS2TAS calculation

The get_calibration_temperature() is used to choose either an external
temperature or an internal one. If an internal one is used then it is
clamped at no higher than 25 degrees C, to prevent hot electronics
on startup affecting altitude scaling and EAS2TAS
2014-11-12 13:36:01 +11:00
Andrew Tridgell
8b794602d1 AP_Baro: make get_temperature() a const function 2014-11-12 13:36:01 +11:00
Andrew Tridgell
986b7bf894 AP_InertialSensor: fixed frequency to 16 bit in LDM303D and L3GD20 drivers 2014-11-11 17:06:22 +11:00
Andrew Tridgell
c750cbebfb GCS_MAVLink: prevent asan errors in send_text_all 2014-11-11 15:16:26 +11:00
Andrew Tridgell
a566ebe4ec HAL_SITL: prevent array overruns in RCInput/RCOutput 2014-11-11 15:16:26 +11:00
Randy Mackay
67690553c5 BaroGlitch: add reset method 2014-11-09 13:34:15 -08:00
Andrew Tridgell
2eeec3fabe AP_RangeFinder: fixed oversized parameter RNGFND2_SETTLE_MS 2014-11-10 08:09:41 +11:00
Andrew Tridgell
ec17c5806e AP_Param: check parameter tables for bad suffix lengths 2014-11-10 08:09:08 +11:00
Andrew Tridgell
00526359b0 HAL_Linux: use dprintf() instead of sprintf and write 2014-11-10 06:51:53 +11:00
Andrew Tridgell
bec1c05773 AP_Notify: fixed bitfields 2014-11-10 06:33:54 +11:00
bugobliterator
e48fcf2df7 AP_Notify:change tonealarm-type bitmask to bool type,
change parameter data type from const uint8_t to uint8_t,
initialise tonealarm error flag to value -1 at tonealarm class initiallisation

This is a part of a set of fixes for the bugs and typos tridge discovered and shared inside earlier commits for setting up tonealarm.
2014-11-10 06:27:49 +11:00
bugobliterator
9f5f5871f2 AP_Notify:Fix the typo, usage of toshibaled.init() instead of toshibaled.update()
This is a part of a set of fixes for the bugs and typos tridge discovered and shared inside earlier commits for setting up tonealarm.
2014-11-10 06:27:48 +11:00
bugobliterator
af203760bd HAL_Linux: change the return type of AP_HAL::Util::tonealarm_init() to signed int8_t.
This is a part of a set of fixes for the bugs and typos tridge discovered and shared inside earlier commits for setting up tonealarm.
2014-11-10 06:27:48 +11:00
bugobliterator
fa6e83318d AP_HAL: Add virtual toneAlarm member functions to be declared under Linux_HAL 2014-11-10 06:27:48 +11:00
bugobliterator
298b27444a HAL_Linux: Add ToneAlarm Driver to Linux_HAL
ToneAlarm is setup for Beaglebone Black using pwm, toneAlarm thread runs on second last priority.
2014-11-10 06:27:48 +11:00
bugobliterator
5d6af51517 AP_Notify:Add ToneAlarm Support for HAL_Linux Boards 2014-11-10 06:27:48 +11:00
Jonathan Challinger
2d288d46a4 AP_HAL_AVR_SITL: fill in ublox accuracy metrics with reasonable values 2014-11-08 19:07:50 +11:00
Randy Mackay
31087e4f20 Compass: shorten EXTERNAL2/3 to EXTERN2/3
Bug discovered by Michael Day
2014-11-08 10:21:22 +09:00
Robert Lefebvre
a2958e2ffd AP_MotorsSingle: Fix parameter comments. 2014-11-08 10:18:03 +09:00
Randy Mackay
98f5a93e10 AC_AttControl: remove unused logging structure 2014-11-08 10:17:32 +09:00
Andrew Tridgell
02581f4c05 HAL_Linux: re-fix dirty mask bug in Storage
when conversion to a single parent class was done it re-introduced a
bug that was fixed a while ago

See commit d238ff7c5d
2014-11-08 11:55:55 +11:00
Andrew Tridgell
330dab2fe3 HAL_Linux: fixed some warnings 2014-11-08 11:49:09 +11:00
bugobliterator
4908e335d2 HAL_Linux: Add Storage.cpp containing common storage class member definitions 2014-11-08 11:36:12 +11:00
bugobliterator
dd6d520385 HAL_Linux:Create subclass to handle FRAM Storage under main Storage Class 2014-11-08 11:36:09 +11:00
Victor Mayoral Vilches
46c8714996 AP_GPS: make the examples compile in Linux 2014-11-08 11:25:35 +11:00
Andrew Tridgell
14a6878bcd HAL_Linux: fixed termios settings on BBB initial boot
this should fix the problem of losing the GPS in flight
2014-11-07 22:15:28 +11:00
Andrew Tridgell
e22c8b27a9 HAL_PX4: if there are no enabled channels don't send to PX4IO
this makes it possible to disable PWM output to IO to test override
2014-11-07 10:39:07 +11:00
Andrew Tridgell
16fd113020 RC_Channel: added channel_function()
this is used in the plane mixing code
2014-11-07 10:39:07 +11:00
Clay McClure
71586d40e3 AC_WPNav: minor fix to comments 2014-11-06 11:53:56 +09:00
squilter
cab2010a8f AP_Arming: remove abbreviations from GCS messages 2014-11-06 11:13:26 +09:00
Jonathan Challinger
6c4d4713aa AP_NavEKF: Add parameter that specifies EKF-to-DCM/INAV fallback strictness 2014-11-06 10:03:52 +11:00
Jonathan Challinger
2293070a5b AP_GPS: Add uBlox accuracy metrics interface and logging 2014-11-06 07:38:41 +11:00
Jonathan Challinger
9be7039be1 DataFlash: add UBX3 message for accuracy logging 2014-11-06 07:38:41 +11:00
Jonathan Challinger
d03ed7a2c3 AP_Mount: Added lead filter 2014-11-06 07:35:32 +11:00
Andrew Tridgell
7e3b8a30f5 HAL_PX4: use px4io generated values for servo output readback
this makes it easier to observe the behaviour of IO failsafe
2014-11-05 21:54:53 +11:00
Andrew Tridgell
2b48434e60 AP_TECS: fixed throttle demand on underspeed
thanks to Philipp Oettershagen for finding this bug!
2014-11-05 07:55:18 +11:00
priseborough
d6508acfa5 AP_TECS : Prevent throttle undershoot after climb
If the plane was unable to achieve the climb and got significantly below the internal TECS demanded climb profile, the the PD term would be a large value at the top of climb, and would take some time to reduce due to the rate limiter. This meant that the integrator state could be pushed to a very low value and effectively cause the throttle to sit on the lower limit for longer than desired after levelling out.
2014-11-05 07:49:03 +11:00
Andrew Tridgell
3518cf5480 AP_InertialSensor: fixed default MPU9250 orientation for NavIO 2014-11-04 16:18:35 +11:00
Jonathan Challinger
369839c7ca AC_WPNav: Use target yaw instead of current yaw for close waypoints 2014-10-31 15:23:52 +09:00
Randy Mackay
1e4ec5f6a2 Camera: add f to float constants 2014-10-31 14:46:51 +09:00
Randy Mackay
ad7a9bf81b Camera: initialise image_index 2014-10-31 14:46:49 +09:00
Arthur Benemann
7bb4a39608 Camera: record number of pictures taken since boot
The field is useful for detecting in a GCS if a mavlink_msg_camera_feedback message was dropped.
2014-10-31 14:46:45 +09:00
Arthur Benemann
b48edf479b GCS_MAVLink: add CAMERA_FEEDBACK to enum 2014-10-31 14:46:40 +09:00
Arthur Benemann
2e4812afb5 Camera: Added feedback message support
Now the autopilot can publish the state of the camera via the mavlink_msg_camera_feedback message.
2014-10-31 14:46:38 +09:00
Jonathan Challinger
84da5d2d98 DataFlash: use new interface functions for EKF IMU weighting and accel biases 2014-10-30 18:17:38 +11:00
Jonathan Challinger
967986d5c6 AP_NavEKF: Split getAccelBias into getAccelZBias and getIMU1Weighting 2014-10-30 18:17:38 +11:00
Jonathan Challinger
ac2e5f644c DataFlash: fix bug in ekf gyro bias logging 2014-10-30 18:17:37 +11:00
Jonathan Challinger
bb6d8fd44a AP_NavEKF: Set prevDelAng after using it 2014-10-30 18:17:37 +11:00
priseborough
aca78d321f DataFlash : Remove unused numerical divergence metric 2014-10-30 18:17:37 +11:00
Jonathan Challinger
0727ac5c79 AP_NavEKF: clean up unused variable lastDivergeTime_ms 2014-10-30 18:17:37 +11:00
priseborough
5e51c09978 AP_NavEKF : Remove ineffective numerical divergence checks 2014-10-30 18:17:37 +11:00
priseborough
638d63aa90 DataFlash : Change to more descriptive EKF logging names 2014-10-30 18:17:37 +11:00
priseborough
6f759fdb8e AP_AHRS : Tidy up logic used to enable synthetic sideslip fusion 2014-10-30 18:17:36 +11:00
Andrew Tridgell
8506e8b5fb HAL_Linux: fixed linux build 2014-10-30 17:47:18 +11:00
John Williams
b9f0310b82 hal_ap_linux: Make PRU constants private to reduce #define namespace pollution.
Forthcoming Zynq port AP_HAL_Linux uses similar constants with different
values - move these as private member constants to avoid collisions.

Signed-off-by: John Williams <john@whelanwilliams.net>
2014-10-30 13:51:41 +11:00
Mikhail Avkhimenia
81de994fef HAL_Linux: separate RCInput for PRU and Navio 2014-10-30 13:30:07 +11:00
Mikhail Avkhimenia
e05151f0e0 HAL_Linux: Initialize i2c before rcoutput (required by i2c pwm chips for initialization) 2014-10-30 13:30:07 +11:00
Mikhail Avkhimenia
2f0900b0a8 HAL_Linux: add GPIO driver for Raspberry Pi 2014-10-30 13:30:07 +11:00
Mikhail Avkhimenia
07ed93cea0 HAL_Linux: add PCA9685 based RCOutput for Navio 2014-10-30 13:30:07 +11:00
Alexander Mergel
14c401c0f4 AP_HAL_Linux: [Bugfix] prevent memory acces violation in process_dsm_pulse
When a S.Bus signal is fed into the rcin-Pin AruPlane on the BBB get's a
Segmentation fault. This patch prevents the memory acces to dsm_state.bytes[16] outside
of the array bounds. The patch should be reviewed by sombody who knows the DSM protocol,
as i don't.
2014-10-30 11:57:35 +11:00
priseborough
6a85753a5b AP_NavEKF : add INIT_GYRO_BIAS_UNCERTAINTY definition 2014-10-29 17:39:47 +09:00
priseborough
fb14da7a4b AP_NavEKF : Add public method to reset gyro bias states 2014-10-29 15:32:21 +09:00
priseborough
2c07299c04 AP_AHRS : Add reset of EKF gyro bias states 2014-10-29 15:32:18 +09:00
Randy Mackay
8a776f8ff8 GPS: init primary_instance to zero 2014-10-29 12:04:13 +09:00
Benoit PEREIRA DA SILVA
010d267376 GPS: use primary for Notification 2014-10-29 12:04:12 +09:00
Jonathan Challinger
6848897999 AP_GPS: Add agcCnt to UBX1 message 2014-10-29 08:18:04 +11:00
Randy Mackay
dffcfb42bc AHRS: add reset_gyro_drift method 2014-10-28 20:25:33 +09:00
Randy Mackay
7d48704f82 AP_NavEKF: fix parameter descriptions
Errors pointed out by Richard (DK)
2014-10-27 22:20:03 +09:00
Randy Mackay
ac7ea2a12c AC_PosControl: use AttControl's sqrt_controller 2014-10-27 15:20:48 +09:00