Commit Graph

17462 Commits

Author SHA1 Message Date
Andrew Tridgell d15a4ad92a AP_Compass: improved error reporting, check all compasses
this uses extensions to the MAG_CAL_REPORT message to convey failures
of orientation checking.

It also checks all compasses, external or internal. It only tries to
fix the orientation if it is external
2018-07-18 16:07:19 +10:00
Andrew Tridgell a5749c1869 AP_Compass: allow diagonals and off-diagonals to be calculated on rot change
this re-runs the fit on change in orientation
2018-07-18 16:07:19 +10:00
Andrew Tridgell b4c7d1925e AP_Compass: allow for runtime changes to SIM_MAG_DIA_?
this makes for easier testing
2018-07-18 16:07:19 +10:00
Andrew Tridgell 3c2e8baee2 AP_Compass: improved orientation reporting
and fail magcal if we fail orientation detection for an external
compass
2018-07-18 16:07:19 +10:00
Andrew Tridgell 8b0f40b402 AP_Compass: implement automatic compass orientation
this automatically determines the compass orientation when doing a 3D
compass calibration, if COMPASS_ROT_AUTO is enabled.
2018-07-18 16:07:19 +10:00
Andrew Tridgell 4acc06df87 AP_Compass: support diagonal, off-diagonal and rotation in SITL
compass
2018-07-18 16:07:19 +10:00
Andrew Tridgell 8170fbcf80 AP_Math: added a comment on conventions for to_euler() 2018-07-18 16:07:19 +10:00
Andrew Tridgell d1f67f6ded SITL: added diagonal, off-diagonal and orientation of SITL compass 2018-07-18 16:07:19 +10:00
Andrew Tridgell 1056e64419 AP_AHRS: added get_DCM_rotation_body_to_ned()
this specifically asks for the DCM attitude, which will be used for
the comass calibration to help determine compass orientation
2018-07-18 16:07:19 +10:00
Andrew Tridgell 5b0b9ef962 AP_AHRS: don't do yaw correction in DCM while calibrating compass
this avoids applying bad compass yaw, and helps the compass
calibration code
2018-07-18 16:07:19 +10:00
Andrew Tridgell caa553e727 HAL_ChibiOS: fixed internal i2c mask for Pixracer 2018-07-18 12:04:01 +10:00
Andrew Tridgell 59aab9987e HAL_ChibiOS: account for I2C base in compass masks 2018-07-18 12:04:01 +10:00
Randy Mackay 3d72022f6e EKF: modify ALT_SOURCE param description
We regularly find users changing the ALT_SOURCE to 1 (range finder) when trying to implement terrain following which is not the correct way to do it
2018-07-18 08:31:09 +09:00
Patrick José Pereira 2ba6f64281 SITL: Remove unused variables
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-07-17 20:25:22 +09:00
Michael du Breuil e4a8e9deb1 AP_RCMapper: Mark sub specific parameters as sub only for docs 2018-07-17 12:08:27 +10:00
Michael du Breuil fc44f693e5 AP_Airspeed: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil 65df5c3ff6 AP_AHRS: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil 08ef60d436 AP_ADC: Remove unused AP_ADC class 2018-07-17 09:29:50 +10:00
Michael du Breuil 1e7a06ef6b AP_Mount: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil a5b8279ea4 AP_Motors: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil dddb1e6a58 AP_Module: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil 1efad07a84 AP_InertialSensor: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil 2e135f4fc4 AP_HAL_Linux: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil fcb1c4cdfd AP_GPS: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil 875e03bdd9 AP_BattMonitor: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Michael du Breuil 57f3e9cd88 AP_Airspeed: Remove unused ADC include 2018-07-17 09:29:50 +10:00
bnsgeyer 0f75866042 AP_Motors: Tradheli-corrected get_motor_mask method 2018-07-16 12:41:16 +10:00
bnsgeyer dec8c5de77 AP_Motors: convert heli code to use SRV_Channels
this converts the heli code to use the SRV_Channels output
functions. It does not change behaviour, but removes the last vehicle
type that did its own servo output calculations.  This change also
fixed servo initialization conflicts.

Note that this also allows helis to be setup with more than one
channel for a particular output (eg. two separate channels for tail
servo if they are wanted). This isn't likely to be used much, but does
make heli consistent with other vehicle types
2018-07-16 12:41:16 +10:00
bnsgeyer c3d4b792ad SRV_Channel: fixes channel numbering for channel already assigned message 2018-07-16 12:41:16 +10:00
bnsgeyer 73df3e0af2 SRV_Channel: modified set_output_pwm_trimmed for reverse property
Modified function to account for servo reverse property
2018-07-16 12:41:16 +10:00
Andrew Tridgell e94177e469 SRV_Channel: added function based set_output_min_max
this is for a conversion of AP_Motors heli code to servo functions
2018-07-16 12:41:16 +10:00
Alexander Malishev 4342dae065 HAL_ChibiOS: define BOARD_RSSI_ANA_PIN to simpify tuning 2018-07-16 08:29:49 +10:00
Alexander Malishev e04f438ce3 HAL_ChibiOS: fix analog pins on MatekF405 2018-07-16 08:29:49 +10:00
Alexander Malishev 89f7d652e0 HAL_ChibiOS: removed wrong led pin 2018-07-16 08:29:49 +10:00
Alexander Malishev 13b56d5870 AP_OSD: improve AHI for large roll angles 2018-07-14 18:08:36 +10:00
Andrew Tridgell 3c0ed01fd0 AP_Compass: prevent use of null dev_icm device in ICM20948 driver 2018-07-14 17:51:50 +10:00
Andrew Tridgell ed09467f06 AP_BoardConfig: removed verbose SPI probe debug messages
these are just confusing for users
2018-07-14 17:51:50 +10:00
Andrew Tridgell 71647cfc6b AP_Compass: removed HMC5843 compass probe error 2018-07-14 17:51:50 +10:00
Andrew Tridgell 2a62938fb1 AP_BoardConfig: enable get_board_type() on all boards
return BOARD_TYPE_UNKNOWN for boards that don't use board detection
2018-07-14 17:51:50 +10:00
Andrew Tridgell 9ab55f6838 HAL_ChibiOS: probe for external compasses on several boards
boards that have no internal compass will now probe for all external
compass types
2018-07-14 17:51:50 +10:00
Andrew Tridgell ff6d639ed7 AP_Compass: separated out external compass probing
this allows any ChibiOS board to specify that it wants to probe for
all possible external compass types with a define in hwdef.dat

It also implements duplicate compass detection for all i2c drivers,
ensuring we can't get a load of a driver on the same bus/address twice
2018-07-14 17:51:50 +10:00
Andrew Tridgell 476bddd9a3 HAL_ChibiOS: use HAL_I2C_INTERNAL_MASK 2018-07-14 17:51:50 +10:00
Andrew Tridgell 0fc6ca22f7 AP_HAL: setup HAL_I2C_INTERNAL_MASK for ChibiOS 2018-07-14 17:51:50 +10:00
Andrew Tridgell 63d385ffb1 AP_AHRS: fixed arming with no compass in plane
allow arming if the GPS quality is good, the yaw alignment and
position will fix itself once the vehicle starts moving
2018-07-14 17:49:52 +10:00
Andrew Tridgell ac40a20c02 AP_NavEKF3: fill in gps_quality_good flag 2018-07-14 17:49:52 +10:00
Andrew Tridgell 3d31773fb4 AP_NavEKF2: fill in gps_quality_good flag 2018-07-14 17:49:52 +10:00
Andrew Tridgell 103d1aea41 AP_NavEKF: added gps_quality_good EKF flag 2018-07-14 17:49:52 +10:00
heitiane 2c24bac79e BARO_generic: add Dummy GCS to meet the requirement of AP_Baro::calibrate(). 2018-07-14 10:32:51 +10:00
vierfuffzig 78386ed080 AP_OSD: added OSD_MSG_TIME parameter 2018-07-14 09:07:42 +10:00
Andrew Tridgell 7eabee04a3 HAL_ChibiOS: enable OSD on KakuteF7 2018-07-13 14:53:53 +10:00
Andrew Tridgell b96f24c80e HAL_ChibiOS: added KakuteF7
thanks to Huibean for the fixes!
2018-07-13 14:53:53 +10:00
Andrew Tridgell dc54babe41 SITL: setup more defaults with flightaxis
with copters now you only need to set FRAME_CLASS to fly
2018-07-13 10:19:01 +10:00
Andrew Tridgell 7ec6522b9d AP_Compass: default to right mag offsets for SITL 2018-07-13 10:19:01 +10:00
Andrew Tridgell 2fe2c8fbda AP_Compass: initialise compass IDs saved in SITL
this ensures we don't get uncalibrates compasses in SITL
2018-07-13 10:19:01 +10:00
Andrew Tridgell 5f8b57ba19 AP_InertialSensor: added SITL device IDs 2018-07-13 10:19:01 +10:00
Andrew Tridgell 823c4523b3 AP_Compass: added SITL device IDs 2018-07-13 10:19:01 +10:00
Andrew Tridgell 464dc9102f AP_HAL: added device types for SITL
and fixed a stack init bug for make_bus_id
2018-07-13 10:19:01 +10:00
Andrew Tridgell f2d602690e HAL_ChibiOS: fixed build error with some compilers 2018-07-13 08:50:46 +10:00
Andrew Tridgell 83f38d536e HAL_ChibiOS: fixed flow control auto-detect without DMA
this fixes automatic flow control detection when we are not using DMA
for TX
2018-07-13 07:34:30 +10:00
Andrew Tridgell 0201893f7c HAL_ChibiOS: fixed peripheral power-up on fmuv5
we need to do the powerup before we initialise the UARTs
2018-07-13 07:34:30 +10:00
Andrew Tridgell 409e857f6b HAL_ChibiOS: use pullup on CTS line
this makes life less difficult for SiK radios which go into bootloader
mode on low CTS
2018-07-13 07:34:30 +10:00
Andrew Tridgell 11e09a846c HAL_ChibiOS: setup RTS pins as pullup
this prevents RTS pins from keeping SiK radios in bootloader mode on
peripheral powerup
2018-07-13 07:34:30 +10:00
Andrew Tridgell 63a0a4979c HAL_ChibiOS: delay peripheral power on for fmuv5
this should prevent SiK radios staying in the bootloader
2018-07-13 07:34:30 +10:00
Michael du Breuil 0aaa029f9b AP_HAL_Linux: GPIO_RPi: Fix UB when reading a pin
You can't shift by more then the word width
2018-07-11 23:09:52 -07:00
Michael du Breuil d06a82af1d AP_HAL_VRBrain: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Michael du Breuil 1ac78d3a80 AP_HAL_SITL: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Michael du Breuil 039e146dec AP_HAL_PX4: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Michael du Breuil 1f7ee55211 AP_HAL_Linux: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Michael du Breuil 312e21dc2f AP_HAL_F4Light: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Michael du Breuil f4b1d530c1 AP_HAL_Empty: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Michael du Breuil 6fba374069 AP_HAL_ChibiOS: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Michael du Breuil 3419b045e1 AP_HAL: Remove GPIO::analogPinToDigitalPin() 2018-07-11 23:09:52 -07:00
Michael du Breuil 6925dfb4ae AP_Camera: Remove usage of analogPinToDigitalPin 2018-07-11 23:09:52 -07:00
Andrew Tridgell 10e9182c21 HAL_SITL: fixed delay() for SITL threads
with the new thread_create() interface we need to handle delays a bit
differently
2018-07-12 15:04:43 +10:00
Alexander Malishev 785cf293cd AP_OSD: use software blink
This should fix blink issue with some hardware
2018-07-12 15:04:32 +10:00
Andrew Tridgell f083b80700 HAL_ChibiOS: added preallocation of DMA bouncebuffers
we need 512 bytes for microSD
2018-07-12 14:34:04 +10:00
Andrew Tridgell e193a161f2 HAL_ChibiOS: enable SDIOv1 bouncebuffers 2018-07-12 14:34:04 +10:00
Andrew Tridgell f84424cca4 HAL_ChibiOS: added specific builds for the Pixracer and mRoX21 boards 2018-07-12 12:33:32 +10:00
Andrew Tridgell e52176e23b AP_BoardConfig: allow hwdef.dat override of BRD_TYPE 2018-07-12 12:33:32 +10:00
Andrew Tridgell 721f5d86b1 HAL_ChibiOS: fixed mRoX21 IMU setup 2018-07-12 12:33:32 +10:00
Andrew Tridgell 0310bd468c HAL_ChibiOS: changed uart order for KakuteF4
thanks to feedback from Arther
2018-07-12 11:50:10 +10:00
Andrew Tridgell 48747be494 HAL_VRBrain: don't clear buffers on no baud change 2018-07-12 11:41:31 +10:00
Andrew Tridgell 1d1af5fd68 HAL_Linux: don't clear buffers on no baud change 2018-07-12 11:41:31 +10:00
Andrew Tridgell fe07a73935 HAL_PX4: don't clear buffers if no baudrate change 2018-07-12 11:41:31 +10:00
Andrew Tridgell 50f7e55f0b HAL_ChibiOS: don't clear buffers if no baudrate change 2018-07-12 11:41:31 +10:00
fnoop 374c46bd57 HAL_ChibiOS: MatekF405-Wing UART reorder 2018-07-11 16:26:04 -07:00
Dr.-Ing. Amilcar do Carmo Lucas fe90618e3e AP_TempCalibration: remove duplicated parameter 2018-07-11 12:16:42 -07:00
Randy Mackay ce9857d77d AP_BattMonitor: add BLHeli ESC to MONITOR param desc 2018-07-11 17:44:00 +09:00
Andrew Tridgell 1f2c24ef7b HAL_ChibiOS: backup storage to microSD if possible
very useful for diagnostics.

This also fixes a bug on boards with flash storage, to not switch to
microSD storage if flash storage available
2018-07-11 16:38:03 +10:00
Andrew Tridgell 66ee202e24 HAL_PX4: backup storage to microSD if possible
very useful for diagnostics
2018-07-11 16:38:03 +10:00
fnoop 922a9762df HAL_ChibiOS: Fix MatekF405-Wing default compass rotation 2018-07-11 10:10:34 +10:00
Andrew Tridgell 985a319c42 AP_FlashStorage: fixed build of example on small memory boards 2018-07-11 10:07:38 +10:00
Lucas De Marchi d2446e1219 AP_HAL_Linux: use Thread abstraction to create thread
The open coded version has the same problem fixed by Thread abstraction:
the order of the calls matters and it's easy to call in the wrong order.
Here pthread_attr_setschedparam() and pthread_attr_setschedpolicy()
should be swapped, like in 62c2f737d5 (AP_HAL_Linux: fix setting RT priorities.)
2018-07-11 10:00:29 +10:00
Lucas De Marchi e11d268818 AP_HAL_Linux: Thread: allow loose running thread 2018-07-11 10:00:29 +10:00
Andrew Tridgell ba0fb3d9d2 AP_IOMCU: fixed repeated upload of IO fw 2018-07-11 09:51:43 +10:00
Andrew Tridgell 2d8dbc05d0 HAL_ChibiOS: fixed omnibusf4pro I2C
many thanks to Kelly-Foster and @sh83
2018-07-11 08:33:49 +10:00
Andrew Tridgell fff4b3b4a0 HAL_ChibiOS: fixed build on some F4 boards 2018-07-11 07:24:39 +10:00
Jack 4b24a61023 AP_HAL_Linux: fix spelling of generated in panics 2018-07-10 09:55:01 -07:00
liang.tang c03e50660c AC_WPNav: check validity of kP 2018-07-10 18:07:50 +09:00
Andrew Tridgell ece10082e2 HAL_ChibiOS: added separate builds for Pixhawk4 and CUAVv5
this makes it easier to distinguish boards in logs, plus makes life
easier when the user is selecting the right firmware.

It also gives us the flexibility to make parameter changes as needed
2018-07-10 18:29:14 +10:00
Andrew Tridgell f88a4b3a2f AP_Compass: fixed compass orientations on PH4 2018-07-10 18:29:14 +10:00
Andrew Tridgell b647dde28f HAL_ChibiOS: changed which I2C bus is internal on fmuv5
match PH4 arrangement
2018-07-10 18:29:14 +10:00
Andrew Tridgell 385713abdd HAL_ChibiOS: support for PH4-mini board 2018-07-10 18:29:14 +10:00
Andrew Tridgell 9ca2c11333 AP_Arming: use check_enabled() in storage check 2018-07-10 15:41:44 +10:00
Andrew Tridgell bf1bca6820 AP_Arming: added arming check for storage health 2018-07-10 15:41:44 +10:00
Andrew Tridgell 63a9b903ba HAL_ChibiOS: added fallback to microSD for param storage
useful for boards without flash sectors setup in bootloader for
storage, but can use microSD
2018-07-10 15:41:44 +10:00
Andrew Tridgell d35abe67ae AP_HAL: added optional healthy check on storage object
used to check parameter storage is functional
2018-07-10 15:41:44 +10:00
Andrew Tridgell 3e5d5b4095 HAL_VRBRAIN: ensure system_id is nul terminated 2018-07-10 15:40:08 +10:00
Andrew Tridgell 7beb8b4872 HAL_PX4: ensure system_id is nul terminated 2018-07-10 15:40:08 +10:00
Andrew Tridgell 5d8b4c1e23 HAL_ChibiOS: ensure system_id is nul terminated 2018-07-10 15:40:08 +10:00
Andrew Tridgell 6328a7233f AP_OSD: cope with no EKF for vspeed 2018-07-10 15:40:08 +10:00
Andrew Tridgell 4939f30ec4 AP_HAL: make linux internal i2c be 0xffff
based on feedback from Lucas
2018-07-10 15:39:47 +10:00
Andrew Tridgell b19219d636 HAL_Linux: allow for 16 I2C buses on Linux 2018-07-10 15:39:47 +10:00
Andrew Tridgell 8fd69250bd AP_Compass: use I2C bus masks
this allows for external compasses on all external I2C ports, while
retaining existing device ordering
2018-07-10 15:39:47 +10:00
Andrew Tridgell 6bf3dea5e7 AP_Notify: use I2C bus masks 2018-07-10 15:39:47 +10:00
Andrew Tridgell cb77cc772c HAL_PX4: implement I2C bus masks 2018-07-10 15:39:47 +10:00
Andrew Tridgell 070e3cf37b HAL_Linux: implement I2C bus masks 2018-07-10 15:39:47 +10:00
Andrew Tridgell 4f9bd50038 HAL_ChibiOS: implement I2C bus masks 2018-07-10 15:39:47 +10:00
Andrew Tridgell 281a1b6569 AP_HAL: added I2C bus mask functions and macros 2018-07-10 15:39:47 +10:00
vierfuffzig bdede462e8 AP_OSD: updated fonts 2018-07-10 12:34:42 +10:00
vierfuffzig 02bc49f6b5 AP_OSD: added roll and pitch angle items 2018-07-10 12:34:42 +10:00
Andrew Tridgell 33653b6734 AP_OSD: added SI and Aviation units 2018-07-10 12:34:42 +10:00
Andrew Tridgell 3292abaa19 HAL_ChibiOS: fixed F412 build 2018-07-10 11:48:06 +10:00
Michael du Breuil f8e9e57523 AP_Camera: reduce feedback pin timer work, remove unneeded inits 2018-07-09 16:42:17 -07:00
Dr.-Ing. Amilcar do Carmo Lucas 59e087214f AP_NavEKF2: spell in comments (NFC) 2018-07-10 08:17:57 +09:00
Andrew Tridgell a561aa2f6d AP_OSD: allow for runtime H and V offset change 2018-07-10 08:52:02 +10:00
Andrew Tridgell a085b33729 AP_OSD: make units tables a bit easier to read
and add OSD_UNITS parameter
2018-07-10 08:52:02 +10:00
Alexander Malishev d2e05eb927 AP_OSD: ensure spi_buffer space 2018-07-10 08:52:02 +10:00
Alexander Malishev ac71a181d6 AP_OSD: refactoring based on review suggestions 2018-07-10 08:52:02 +10:00
Alexander Malishev e364a815f8 AP_OSD: add warning levels for vbat, rssi and nsat 2018-07-10 08:52:02 +10:00
Alexander Malishev 731ae44ffa AP_OSD: add imperial units option 2018-07-10 08:52:02 +10:00
Alexander Malishev eaac477131 AP_OSD: add inverted roll AH and inverted wind direction 2018-07-10 08:52:02 +10:00
Alexander Malishev 7873aff0b8 AP_OSD: allow to fine tune osd position 2018-07-10 08:52:02 +10:00
Alexander Malishev dc454881df AP_OSD: increased lat/lon field
Lattitude integer part could be 4 char wide like -171.123
2018-07-10 08:52:02 +10:00
Alexander Malishev 8dd4108f3c AP_OSD: create usable default osd layout 2018-07-10 08:52:02 +10:00
Andrew Tridgell 6eb00b92fd AP_OSD: don't panic on bad font num in SITL 2018-07-10 07:21:20 +10:00
Randy Mackay af6c5ebda1 AP_HAL_ChibiOS: reduce default BRD_PWM_COUNT to 4 for fmv3
also default relay pins to use aux out 5 and 6
2018-07-10 05:30:05 +10:00
Andrew Tridgell a7d9f4eef7 HAL_ChibiOS: don't add defaults.parm when building bootloader 2018-07-09 20:59:51 +10:00
Andrew Tridgell 52a8198311 AP_OSD: added font switching at runtime for SITL 2018-07-09 20:48:59 +10:00
Andrew Tridgell 64fae25882 AP_OSD: added runtime font switching 2018-07-09 19:48:09 +10:00
Andrew Tridgell 5682cef162 AP_OSD: created font binaries 2018-07-09 19:48:09 +10:00
vierfuffzig 4f1db0f979 AP_OSD: added fonts and styles 2018-07-09 19:48:09 +10:00
vierfuffzig 795947b405 AP_OSD: Addded README.md for fonts 2018-07-09 19:46:48 +10:00
Andrew Tridgell 7454c9f8c5 AP_OSD: load font on startup
this reduces memory fragmemtation and maximises available memory
during update
2018-07-09 19:41:56 +10:00
Andrew Tridgell 6347de2b89 AP_OSD: added OSD_FONT parameter
allow for user selection of font
2018-07-09 19:41:56 +10:00
Andrew Tridgell 4055f28bc5 AP_OSD: use font*.bin as font name 2018-07-09 19:41:56 +10:00
Andrew Tridgell fd02865a8b HAL_ChibiOS: use wildcard ROMFS name for fonts 2018-07-09 19:41:56 +10:00
Andrew Tridgell 822e20f830 AP_OSD: rename clarity.bin to font0.bin 2018-07-09 19:41:56 +10:00
Andrew Tridgell e200de1f57 AP_IOMCU: use compressed interface for IO fw upload 2018-07-09 19:41:56 +10:00
Andrew Tridgell 27c435e217 HAL_ChibiOS: use compressed ROMFS for bootloader update 2018-07-09 19:41:56 +10:00