Commit Graph

15824 Commits

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