Commit Graph

15919 Commits

Author SHA1 Message Date
Alexey Bulatov
8369f125ce AP_HAL: Edge: add define HAL_WITH_UAVCAN 2018-02-13 13:52:44 +11:00
Mark Whitehorn
da69832140 AP_HAL_ChibiOS: add #ifdef around toneAlarm thread stack declaration 2018-02-13 07:27:02 +11:00
Lucas De Marchi
755b1cdced AP_HAL_Linux: rpi: sort include headers 2018-02-12 09:05:21 -08:00
Lucas De Marchi
90160a9c52 AP_HAL_Linux: rpi: use const var and fix formatting
Use a const variable instead of a define so we don't polute the
environment with a define specific to this function.

Also remove tabs and replace with proper coding style.
2018-02-12 08:46:36 -08:00
Dmitri Ranfft
05ebabbf6b AP_HAL_Linux: fixed RPi version detection on kernel 4.9 2018-02-12 08:36:58 -08:00
murata
7be15cab45 AP_HAL: disable copter winch on f4light boards 2018-02-12 12:17:12 +09:00
Randy Mackay
ec98cab262 AP_WheelEncoder: hide parameters by default 2018-02-12 12:16:41 +09:00
mirkix
3aa211b325 AP_HAL: fix BeagleBone Blue external I2C number 2018-02-12 09:49:56 +09:00
Tom Pittenger
1db04772b2 AP_UAVCAN: non-functional change - fix style
non-functional change - fix style
2018-02-10 23:48:23 -08:00
Nikita Tomilov
2a34593ed3 AP_UAVCAN: Magnetic: allow more than one compass on one node
To do so, we make use of UAVCAN message MagneticFieldStrength2, which
has a field describing the sensor_id of the node which measurements were
sent, and if a node sends this message we register multiple
AP_Compass_UAVCAN backends for this node. The routing of the messages
between those backends is also implemented here.
2018-02-10 23:48:23 -08:00
Nikita Tomilov
00a013e5be AP_UAVCAN: utilizing MagneticFieldStrength2 message
This makes AP_UAVCAN_Compass work with this message. This will be used
later on for Edge GNSS which has two compasses.
2018-02-10 23:48:23 -08:00
Mark Whitehorn
59b2d44323 AP_HAL_ChibiOS: make ToneAlarm compilation conditional on presence of
alarm pin
2018-02-11 14:55:23 +11:00
Mark Whitehorn
d569e35a0f AP_HAL_ChibiOS: add toneAlarm support for ChibiOS on MindPX-v2 2018-02-11 14:55:23 +11:00
Mark Whitehorn
6baad37e47 AP_HAL_ChibiOS: add ICM208060-am to SPI device table in fmuv3/hwdef.dat 2018-02-11 14:55:23 +11:00
Mark Whitehorn
13c54c0543 AP_HAL_ChibiOS: add missing declaration in chibios_hwdef.py 2018-02-11 14:55:23 +11:00
Mark Whitehorn
3a40ba1d3e AP_HAL_ChibiOS: add buzzer support to hwdef.dat for fmuv3 2018-02-11 14:55:23 +11:00
Mark Whitehorn
fb142422f6 AP_HAL_ChibiOS: pull ALARM_CHANNEL into pwmGroup
and improve formatting of HAL_PWM_ALARM in hwdef.h
2018-02-11 14:55:23 +11:00
Mark Whitehorn
8b216cf182 AP_HAL_ChibiOS: add ToneAlarm thread
fmuv4 hwdef.dat: remove PWM label from buzzer output pin
                 add buzzer pin labeled ALARM
                 remove timer PWM from HAL_PWM_GROUPs
2018-02-11 14:55:23 +11:00
Mark Whitehorn
d200f30cd7 AP_Notify: add ToneAlarm backend for ChibiOS 2018-02-11 14:55:23 +11:00
Randy Mackay
3bec25da85 AP_Compass: resolve compiler warnings 2018-02-10 08:54:34 +09:00
Andrew Tridgell
55358459c7 AP_AHRS: fixed AP_MODULE_SUPPORTED 2018-02-10 10:50:22 +11:00
Andrew Tridgell
d5be04dc8f AP_HAL: fixed AP_MODULE_SUPPORTED 2018-02-10 10:50:22 +11:00
Andrew Tridgell
61892036f8 AP_Module: fixed AP_MODULE_SUPPORTED defines 2018-02-10 10:50:22 +11:00
Andrew Tridgell
b5e5b622c7 AP_InertialSensor: use register header for Revo driver 2018-02-10 09:14:41 +11:00
Andrew Tridgell
0e6497aa85 AP_InertialSensor: merged in Revo driver 2018-02-10 09:14:41 +11:00
Andrew Tridgell
ba32b06c59 StorageManager: fixed header order
fixes build for revomini HAL
2018-02-10 09:14:41 +11:00
Andrew Tridgell
682dcb65cf AP_BoardConfig: added param helper for HAL parameters
only for HAL_REVOMINI for now
2018-02-10 09:14:41 +11:00
night-ghost
0d8c71de71 DataFlash: added F4Light HAL support 2018-02-10 09:14:41 +11:00
night-ghost
2b213b78ab AP_Param_Helper: param table support for HAL
this allows a HAL to have its own parameter table with parameter names
generated by the build system
2018-02-10 09:14:41 +11:00
night-ghost
f8569ac39e AP_HAL: added F4Light HAL 2018-02-10 09:14:41 +11:00
Andrew Tridgell
61793c485a modules: added submodules for HAL_F4Light 2018-02-10 09:14:41 +11:00
night-ghost
04beb45521 HAL_F4Light: new hal for F4 boards, close to bare-metal 2018-02-10 09:14:41 +11:00
night-ghost
739c873991 AP_Frsky_Telem: fixed build warnings 2018-02-10 09:14:41 +11:00
Randy Mackay
2aeda48512 AR_AttitudeControl: minor arg name fix
non-functional change
2018-02-09 17:36:21 +09:00
Tom Pittenger
18caed135e AP_UAVCAN: simply do_cyclic
- non-functional change, just returning early instead of deeper and deeper brackets
2018-02-08 16:57:17 -08:00
Tom Pittenger
52589f3c22 AP_UAVCAN: refactor RC Out functions
- non-functional change
2018-02-08 16:57:17 -08:00
Andrew Tridgell
10f940c8d0 HAL_ChibiOS: adjust RCIN pin settings for fmuv4
thanks to Mark for this change
2018-02-09 10:14:53 +11:00
Andrew Tridgell
9301e4888a HAL_ChibiOS: make not having bus lock a soft error
this is nicer for driver developers
2018-02-09 10:14:49 +11:00
Andrew Tridgell
abd659212e AP_BoardConfig: fixed device semaphore in board detect
thanks to Mark for finding this
2018-02-09 10:14:46 +11:00
Andrew Tridgell
2b86c0e962 HAL_ChibiOS: tweak DMA settings for skyviper-v2450
this resolves a problem with the cypress radio.

Thanks to Sid for working this out
2018-02-08 22:15:41 +11:00
Andrew Tridgell
8226530610 HAL_ChibiOS: added DMA_PRIORITY and DMA_NOSHARE options
this allows finer grained control of DMA streams
2018-02-08 22:13:00 +11:00
Andrew Tridgell
507fcb0f27 Tools: moved make_abin.sh into Tools/scripts
will be used in px4 build
2018-02-08 18:56:51 +11:00
Andrew Tridgell
eb0389caf2 HAL_PX4: used cypress bus defines 2018-02-08 18:56:51 +11:00
Andrew Tridgell
f8e16008f6 AP_HAL: updated cypress radio bus pins for skyviper 2018-02-08 18:56:51 +11:00
Andrew Tridgell
4ce0c2c827 HAL_ChibiOS: simplify skyviper-v2450 config
remove unused peripherals
2018-02-08 17:36:33 +11:00
Andrew Tridgell
b90c0d78f3 HAL_ChibiOS: fixed build warning 2018-02-08 17:36:33 +11:00
Andrew Tridgell
64384fa8c9 AP_Radio: allow build of AP_Radio under PX4 2018-02-08 17:36:33 +11:00
Andrew Tridgell
8eff43a352 HAL_ChibiOS: fixed printf arguments 2018-02-08 17:36:33 +11:00
Andrew Tridgell
f928bd9420 AP_Radio: fixed build warnings 2018-02-08 17:36:33 +11:00
Andrew Tridgell
598c2b9eb1 AP_TempCalibration: fixed build warning 2018-02-08 17:36:33 +11:00
Andrew Tridgell
aee6462deb HAL_ChibiOS: enable I2C clearing on F412 board only
may be needed on other boards in the future, but for now we only know
its needed on an I2C 20789, which is rare
2018-02-08 17:36:33 +11:00
Siddharth Purohit
40142e5aef ChibiOS: implement way to clear i2c bus by toggling clock line 2018-02-08 17:36:33 +11:00
Andrew Tridgell
8d43c6c3dc AP_Radio: implement OTA update for cc2500 2018-02-08 17:36:33 +11:00
Andrew Tridgell
0d089e8116 HAL_ChibiOS: fixed F412 OF reset pin 2018-02-08 17:36:33 +11:00
Andrew Tridgell
eeff485a39 AP_Radio: fixed timing of telem packets 2018-02-08 17:36:33 +11:00
Andrew Tridgell
240b6d57f7 AP_Radio: added SRT packet formats for cc2500 2018-02-08 17:36:33 +11:00
Andrew Tridgell
2b9dd0b394 AP_Radio: fixed startup with stored bind info 2018-02-08 17:36:33 +11:00
Andrew Tridgell
3c3389a005 HAL_ChibiOS: raise I2C bus priority on F412
needed for good scheduling with I2C IMU
2018-02-08 17:36:33 +11:00
Andrew Tridgell
20a008c80a HAL_ChibiOS: disable trace buffers
these were unusued but still allocated
2018-02-08 17:36:33 +11:00
Andrew Tridgell
b380143349 AP_InertialSensor: improved handling of I2C invensense sensor
on I2C the lower bus bandwidth changes the tradeoffs
2018-02-08 17:36:33 +11:00
Andrew Tridgell
b33c815e96 AP_InertialSensor: added whoami for prototype 20789 2018-02-08 17:36:33 +11:00
Andrew Tridgell
b3ed8fd3f9 AP_Scheduler: scale perf_info with loop rate
this allows it to be used for a wide range of loop rates
2018-02-08 17:36:33 +11:00
Andrew Tridgell
875008f2a6 HAL_ChibiOS: lock all DMA channels on reboot
this fixes a problem with the ICM-20789 on I2C where a reboot while the bus is active
leaves the IMU in a dead state where it can't be recovered without a power cycle.
2018-02-08 17:36:33 +11:00
Andrew Tridgell
32ddbca428 AP_Radio: do cypress sends as single transfer
this prevents timing errors to cypress chip on packet send
2018-02-08 17:36:33 +11:00
Andrew Tridgell
65f4c0ba50 AP_Radio: improved timeout abstraction in cypress driver 2018-02-08 17:36:33 +11:00
Andrew Tridgell
6faace278a HAL_ChibiOS: run i2c at 400kHz on F412 2018-02-08 17:36:33 +11:00
Andrew Tridgell
907728e323 AP_Radio: prevent crash if cc2500 device not found 2018-02-08 17:36:33 +11:00
Andrew Tridgell
9f53ae1ea4 HAL_ChibiOS: added F412-rev1 hwdef.dat 2018-02-08 17:36:33 +11:00
Andrew Tridgell
ad8db6cda3 AP_InertialSensor: added sensor type ICM20789_SPI 2018-02-08 17:36:33 +11:00
Andrew Tridgell
2c8e6bb834 AP_Compass: use generic defines for BMM150 2018-02-08 17:36:33 +11:00
Andrew Tridgell
00d3c158db AP_Baro: use generic defines for 20789 2018-02-08 17:36:33 +11:00
Andrew Tridgell
6bc3d126bb AP_HAL: added sensor defines for BMM150 and ICM20789 2018-02-08 17:36:33 +11:00
Andrew Tridgell
47ce37f463 HAL_ChibiOS: report I2C clock downgrades 2018-02-08 17:36:33 +11:00
Andrew Tridgell
8dcf89b2b7 AP_Scheduler: put scheduler debug on console 2018-02-08 17:36:33 +11:00
Andrew Tridgell
73418519eb HAL_ChibiOS: enable analog debug on F412 2018-02-08 17:36:33 +11:00
Andrew Tridgell
fd824e6258 HAL_ChibiOS: enable toy mode on F412 2018-02-08 17:36:33 +11:00
Andrew Tridgell
d208dc69d3 Tools: moved make_abin.sh into ChibiOS scripts 2018-02-08 17:36:33 +11:00
Andrew Tridgell
cc8a37b2fc AP_Radio: pack telemetry structures 2018-02-08 17:36:33 +11:00
Andrew Tridgell
4aa604a193 HAL_ChibiOS: enable pixartflow on skyviper-V2450 2018-02-08 17:36:33 +11:00
Andrew Tridgell
429a2beb86 AP_OpticalFlow: enable pixart flow on PCNC1 boards 2018-02-08 17:36:33 +11:00
Andrew Tridgell
8f1e8e787a GCS_MAVLink: added DATA96 hook for AP_Radio 2018-02-08 17:36:33 +11:00
Andrew Tridgell
0b5e3936fe AP_AHRS: added earth to body 2D rotations 2018-02-08 17:36:33 +11:00
Andrew Tridgell
9cce1e0733 StorageManager: expanded bind info to 56 bytes
cc2500 needs a larger bind area
2018-02-08 17:36:33 +11:00
Andrew Tridgell
7ac6df6f3e AP_Radio: use GDO2 for IRQ on cc2500 2018-02-08 17:36:33 +11:00
Andrew Tridgell
3456d67b2f AP_Radio: some boards won't have a radio reset pin 2018-02-08 17:36:33 +11:00
Andrew Tridgell
591e0c2249 HAL_ChibiOS: allow control of interrupt port
F412 has radio IRQ on port B
2018-02-08 17:36:33 +11:00
Andrew Tridgell
3cacb1d4b5 HAL_ChibiOS: commented the motor order in hwdef 2018-02-08 17:36:33 +11:00
Andrew Tridgell
4e8f8e88d9 AP_TempCalibration: fixed degC units 2018-02-08 17:36:33 +11:00
Andrew Tridgell
42b2843032 AP_Radio: removed obsolete example code 2018-02-08 17:36:33 +11:00
Andrew Tridgell
570a05e9d3 AP_OpticalFlow: fixed pixart SPI name 2018-02-08 17:36:33 +11:00
Andrew Tridgell
3f7934d082 AP_Radio: improvements to cc2500 driver 2018-02-08 17:36:33 +11:00
Andrew Tridgell
e087fc7730 AP_Radio: initial implementation of cc2500 driver
using D16 protocol. It can bind and receive packets, but packet rate
it very low
2018-02-08 17:36:33 +11:00
Andrew Tridgell
f3f6972fc0 HAL_ChibiOS: output panics on system console 2018-02-08 17:36:33 +11:00
Andrew Tridgell
7c8cf0a39e AP_OpticalFlow: fixed SPI name for pixart flow sensor 2018-02-08 17:36:33 +11:00
Andrew Tridgell
5a6831b606 AP_Baro: allow ICM-20789 on SPI or I2C 2018-02-08 17:36:33 +11:00
Andrew Tridgell
a3dabf3c55 AP_Baro: enable 20789 baro on F412 2018-02-08 17:36:33 +11:00
Andrew Tridgell
ac4017e2ae RC_Channel: added set_and_save_radio_trim()
# Conflicts:
#	libraries/RC_Channel/RC_Channel.h
2018-02-08 17:36:33 +11:00
Andrew Tridgell
472eed3847 AP_Baro: enable use of pressure correction
this allows for temperature correction of baro pressure
2018-02-08 17:36:33 +11:00
Andrew Tridgell
177284bd6b AP_TempCalibration: temperature calibration library
this adds opportunistic temperature calibration. This is initially only
for barometers, and has been only tested with the ICM-20789, but can be
extended to other sensors and other barometers
2018-02-08 17:36:33 +11:00
Andrew Tridgell
57a3bc1397 AP_Compass: new compass learning system
this learns compass offsets using magnetic tables and compass
observations
2018-02-08 17:36:33 +11:00
Andrew Tridgell
6a89fdf268 SITL: use AP_Declination for magnetic tables 2018-02-08 17:36:33 +11:00
Andrew Tridgell
252fc9c757 AP_Declination: added inclination and intensity tables
moved from SITL/SIM_Aircraft.h
2018-02-08 17:36:33 +11:00
Andrew Tridgell
ca30f6aec8 AP_Compass: added per-motor compass calibration
this allows for a motor calibration vector per motor
2018-02-08 17:36:33 +11:00
Andrew Tridgell
b1ccf575f7 AP_Radio: support DATA96 packets for fw update
this allows for update of remote radio firmware via MAVLink DATA96
packets
2018-02-08 17:36:33 +11:00
Andrew Tridgell
6ef5f61faa AP_Radio: add ChibiOS support 2018-02-08 17:36:33 +11:00
Andrew Tridgell
14dcee75f1 AP_Notify: added video recording flag 2018-02-08 17:36:33 +11:00
Andrew Tridgell
e2d91535d0 AP_AHRS: fill in have_pos_abs 2018-02-08 17:36:33 +11:00
Andrew Tridgell
b622fe143e AP_Notify: added have_pos_abs flag
used to notify of high-quality GPS lock
2018-02-08 17:36:33 +11:00
Andrew Tridgell
ac324a3760 StorageManager: added bind info storage area 2018-02-08 17:36:33 +11:00
Andrew Tridgell
3afaf81ccc AP_BoardConfig: added param object for AP_Radio 2018-02-08 17:36:33 +11:00
Andrew Tridgell
a8af1974d2 HAL_PX4: hook into AP_Radio for RC input 2018-02-08 17:36:33 +11:00
Peter Barker
ddb2f4b5ad HAL_PX4: define cypress SPI bus 2018-02-08 17:36:33 +11:00
Peter Barker
beb5a41389 AP_HAL: add radio defines for PixHawk
This facilitates testing a diret-attached-radio using a PixHawk1

The AUX5 pin is used as an interrupt line.
2018-02-08 17:36:33 +11:00
Andrew Tridgell
be002665cf AP_Radio: implement CYRF6936 direct attached radio
implement DSM2 and DSMX compatible protocols
2018-02-08 17:36:33 +11:00
Andrew Tridgell
b9e5649888 AP_InertialSensor: support PCNC1 2018-02-08 17:36:33 +11:00
Andrew Tridgell
2cc0f25ca0 AP_Compass: support PCNC1 2018-02-08 17:36:33 +11:00
Andrew Tridgell
b2172a0475 AP_Baro: support PCNC1 2018-02-08 17:36:33 +11:00
Peter Barker
12a3cc1179 AP_Baro: use Invensense defines when configuring ICM20789 IMU part 2018-02-08 17:36:33 +11:00
Peter Barker
71cf3941a7 AP_InertialSensor: move Invensense register defines into separate file 2018-02-08 17:36:33 +11:00
Peter Barker
3ee112843c AP_InertialSensor: configure bypass for 20789 like we do for AK8963 2018-02-08 17:36:33 +11:00
Peter Barker
5d94172ada AP_InertialSensor: remove clearing of BIT_USER_CTRL_I2C_MST_EN bit in user_ctrl
This bit should never be set on 20789
2018-02-08 17:36:33 +11:00
Peter Barker
3a0c5bed85 AP_Baro: ICM20789: example fixes 2018-02-08 17:36:33 +11:00
Peter Barker
bf95be96f3 AP_Baro: ICM20789: stop dev_icm being an instance variable 2018-02-08 17:36:33 +11:00
Peter Barker
c56486a39e AP_Baro: remove pointless destructor overrides 2018-02-08 17:36:33 +11:00
Peter Barker
05fb28c7f9 AP_Baro: use HAL_SEMAPHORE_BLOCK_FOREVER 2018-02-08 17:36:33 +11:00
Peter Barker
ea83a487d4 AP_Baro: create BARO_ICM20789_DEBUG and use it 2018-02-08 17:36:33 +11:00
Peter Barker
31d8b6ba64 AP_Baro: do not take semaphore if HAL_INS_MPU60x0_NAME not set 2018-02-08 17:36:33 +11:00
Andrew Tridgell
bf67153791 AP_Baro: implement ICM20789 barometer 2018-02-08 17:36:33 +11:00
Andrew Tridgell
5a4f0fed2d AP_InertialSensor: added ICM-20789 support 2018-02-08 17:36:33 +11:00
James Stewart
ec5faed133 GCS_MAVLink: send mission item requests to correct destination for partial updates
The correct destination is the GCS which last requested to update the mission (full or partial), not just the last GCS to set the mission count (full only).
2018-02-07 07:01:32 -08:00
Andrew Tridgell
75226ba187 HAL_ChibiOS: enable logging on MindPX-v2
not working yet, seems to be a problem with SDIO interface
2018-02-07 20:33:45 +11:00
Andrew Tridgell
4548fd4d2f HAL_ChibiOS: changed RCIN to PULLDOWN
this fixes a high cpu load with no receiver connected
2018-02-07 20:33:45 +11:00
Andrew Tridgell
86189393a7 HAL_ChibiOS: fixed build warnings 2018-02-07 20:33:45 +11:00
Andrew Tridgell
bc96cb8a19 AP_HAL: fixed build warnings 2018-02-07 20:33:45 +11:00
Andrew Tridgell
9ceddbdab6 AP_ADSB: fixed build warning 2018-02-07 20:33:45 +11:00
Andrew Tridgell
7d2e3c0d04 AP_Notify: fixed build warning 2018-02-07 20:33:45 +11:00
Andrew Tridgell
4886ffbf8a HAL_ChibiOS: fixed build warnings 2018-02-07 20:33:45 +11:00
Andrew Tridgell
0d8cdd2728 AP_Compass: fixed warning 2018-02-07 20:33:45 +11:00
Andrew Tridgell
30e4323c6d HAL_ChibiOS: disable USART1 till USB problem solved
using USART1 causes USB disconnects. The behaviour is like CTS/RTS is
enabled on USART1, but it is disabled.
2018-02-07 20:33:45 +11:00
Andrew Tridgell
d0eb2970c7 HAL_ChibiOS: ensure RTS and CTS are both disabled for no flow control 2018-02-07 20:33:45 +11:00
Andrew Tridgell
82f1f462ae HAL_ChibiOS: ensure we don't init a uart driver twice 2018-02-07 20:33:45 +11:00
Andrew Tridgell
ad5a04fc89 HAL_ChibiOS: added NODMA option
this allows a peripheral to be configured without DMA (for low-use
UARTs)
2018-02-07 20:33:45 +11:00
Andrew Tridgell
74f4d5a3c9 HAL_ChibiOS: push MPU6500 to 4MHz on mindpx-v2 2018-02-07 20:33:45 +11:00
Andrew Tridgell
f4521772c1 AP_InertialSensor: don't try fast sampling on a MPU6500
it can't do it
2018-02-07 20:33:45 +11:00
Andrew Tridgell
d575d676b6 AP_InertialSensor: fixed another transfer without bus semaphore 2018-02-07 20:33:45 +11:00
Andrew Tridgell
f1ce321a2f HAL_ChibiOS: added checking of bus owner
this ensures all bus transfers are only done by the thread that owns
the semaphore
2018-02-07 20:33:45 +11:00
Andrew Tridgell
2ffb8d1583 AP_InertialSensor: fixed a bug where bus semaphore not held
during init of the invensense driver we could do a transfer without
the bus semaphore held. That violates the locking rules for the bus
2018-02-07 20:33:45 +11:00
Andrew Tridgell
fa68210210 HAL_ChibiOS: fixed build with older compilers 2018-02-07 20:33:45 +11:00
Andrew Tridgell
626632989e HAL_ChibiOS: fixed build for boards with no USB 2018-02-07 20:33:45 +11:00
Andrew Tridgell
41758348e5 HAL_ChibiOS: added checking of lock state in shared_dma
and use lock around check for tx completion in UART handler
2018-02-07 20:33:45 +11:00