Commit Graph

15843 Commits

Author SHA1 Message Date
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