Commit Graph

15878 Commits

Author SHA1 Message Date
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
Andrew Tridgell
dce4c90467 HAL_ChibiOS: moved UART thread to UART driver
use an event model for triggering sends from tx complete DMA handler
for unbuffered uarts
2018-02-07 20:33:45 +11:00
Andrew Tridgell
5fc12f82fb HAL_ChibiOS: expanded interrupt stack to 256
this is very conservative, and may be trimmed later based on analysis
of stack usage
2018-02-07 20:33:45 +11:00
Andrew Tridgell
aae1cc22f4 HAL_ChibiOS: updated USB device strings
use defaults or add in serial number
2018-02-07 20:33:45 +11:00
Andrew Tridgell
4b8bde746e HAL_ChibiOS: improved default USB strings
use board name and serial number to make IDs unique
2018-02-07 20:33:45 +11:00
Andrew Tridgell
23e1b2e271 HAL_ChibiOS: added paranoid state checking on I2C
this is here just while debugging an issue with Mark
2018-02-07 20:33:45 +11:00
Andrew Tridgell
7e19f49e42 HAL_ChibiOS: fixed DMA lock in SoftSigReader 2018-02-07 20:33:45 +11:00
Andrew Tridgell
1aa6a0068a HAL_ChibiOS: fixed order of I2C DMA
this was harmless, but confusing for debugging
2018-02-07 20:33:45 +11:00
Andrew Tridgell
111e5b6268 HAL_ChibiOS: change USB ID for revo-mini 2018-02-07 20:33:45 +11:00
Andrew Tridgell
4d018cf5e2 HAL_ChibiOS: take lock on DMA allocate/deallocate
this is required for the stm32_dma_stream bitmask manipulation
2018-02-07 20:33:45 +11:00
Andrew Tridgell
bc49c0d2c5 HAL_ChibiOS: make hwdef.h the same on python2 and python3
and output to /tmp by default to prevent accidental use of old hwdef.h
in the build
2018-02-07 20:33:45 +11:00
Andrew Tridgell
e002fbdb8d HAL_ChibiOS: fixed a build warning 2018-02-07 20:33:45 +11:00
Andrew Tridgell
23803df038 AP_Compass: allows boards to define orientation of HMC5843 2018-02-07 20:33:45 +11:00
Andrew Tridgell
077aa24c6d HAL_ChibiOS: add more pins for revo-mini port 2018-02-07 20:33:45 +11:00
Andrew Tridgell
e91144cc8e HAL_ChibiOS: allow for empty UART drivers
allows for boards with no default GPS port
2018-02-07 20:33:45 +11:00
Andrew Tridgell
e0212ebe85 HAL_ChibiOS: cope with ETR timer channels
trean the ETR capability as a separate AF
2018-02-07 20:33:45 +11:00
Andrew Tridgell
c1df2a8a4b HAL_ChibiOS: cope with timers 10 and later 2018-02-07 20:33:45 +11:00
Andrew Tridgell
d191b37520 HAL_ChibiOS: cope with having no ADC inputs 2018-02-07 20:33:45 +11:00
Andrew Tridgell
87389e0fdc HAL_ChibiOS: fixed double DMA allocation on i2c 2018-02-07 20:33:45 +11:00
Andrew Tridgell
19e1349d0a HAL_ChibiOS: setup serial5 for fmuv3 ESP8266 2018-02-07 20:33:45 +11:00
Andrew Tridgell
fca0ad4f85 AP_SerialManager: allow hwdef.dat setup of serial5 config 2018-02-07 20:33:45 +11:00
Andrew Tridgell
560948dc69 HAL_ChibiOS: fixed GPIOs for ESP8266 port 2018-02-07 20:33:45 +11:00
Andrew Tridgell
fa96e23552 HAL_ChibiOS: setup correct volt and current pins
use hwdef.dat to specify battery pins
2018-02-07 20:33:45 +11:00
Andrew Tridgell
626b9289be AP_BattMonitor: allow hwdef.dat config of battery pins 2018-02-07 20:33:45 +11:00
Andrew Tridgell
85acbcb21d HAL_ChibiOS: fixed UART send from TX complete IRQ 2018-02-07 20:33:45 +11:00
Andrew Tridgell
65b762ddfe AP_Notify: support OLED display on ChibiOS 2018-02-07 20:33:45 +11:00
Andrew Tridgell
63a825dd2c HAL_ChibiOS: don't call spiStart() unless bus is stopped 2018-02-07 20:33:45 +11:00
Andrew Tridgell
2513e60e3c AP_SerialManager: use unbuffered writes for volz 2018-02-07 20:33:45 +11:00
Andrew Tridgell
e29b79f41b HAL_ChibiOS: fixed DMA allocation bug on SPI
thanks to Mark Whitehorn for finding this crash
2018-02-07 20:33:45 +11:00
Andrew Tridgell
29add8a880 HAL_ChibiOS: fixed build without FATFS enabled 2018-02-07 20:33:45 +11:00
Andrew Tridgell
6b187b393a HAL_ChibiOS: fixed fmuv4 build 2018-02-07 20:33:45 +11:00
Siddharth Purohit
e1a8bba58b HAL_ChibiOS: increase the stack size for uavcan thread 2018-02-07 20:33:45 +11:00
Siddharth Purohit
17fef4b630 HAL_PX4: add support for api change in AP_HAL::CANManager 2018-02-07 20:33:45 +11:00
Siddharth Purohit
a55f1c85af HAL_Linux: add support for api change in AP_HAL::CANManager 2018-02-07 20:33:45 +11:00
Siddharth Purohit
8d5667afa0 AP_UAVCAN: add method to read driver from parent can manager 2018-02-07 20:33:45 +11:00
Siddharth Purohit
77f8acd7a1 HAL_ChibiOS: add CAN to supported peripherals list 2018-02-07 20:33:45 +11:00
Siddharth Purohit
6f21c1583f HAL_ChibiOS: add definitions to support uavcan in fmuv3 2018-02-07 20:33:45 +11:00
Siddharth Purohit
edd0e8d2f5 HAL_ChibiOS: add CANManager to ChibiOS namespace 2018-02-07 20:33:45 +11:00
Siddharth Purohit
143686f70d HAL_ChibiOS: add placeholder cstdio header 2018-02-07 20:33:45 +11:00
Siddharth Purohit
539d5adc13 hwdef: add more posix methods 2018-02-07 20:33:45 +11:00
Siddharth Purohit
288f6b1fa0 HAL_ChibiOS: add chibios cpp wrapers, libuavcan's stm32 driver uses it 2018-02-07 20:33:45 +11:00
Siddharth Purohit
f2e77ab773 AP_HAL_ChibiOS: add uavcan thread 2018-02-07 20:33:45 +11:00
Siddharth Purohit
3c009cf02c AP_HAL_ChibiOS: add CAN driver 2018-02-07 20:33:45 +11:00
Siddharth Purohit
5bcbc4c142 AP_HAL: default to not UAVCAN support for chibios boards 2018-02-07 20:33:45 +11:00
Siddharth Purohit
d539a157b7 AP_HAL: move to having ICanDriver as member instead of inheriting it
this is to support having drivers using libuavcan supplied helper objects, a method which can lead to much less duplication of code
2018-02-07 20:33:45 +11:00
Siddharth Purohit
f0f4239d4a AP_Compass: skip using posix headers for non posix systems 2018-02-07 20:33:45 +11:00
Siddharth Purohit
a413fef77f AP_BoardConfig: add support for UAVCAN setup on ChibiOS boards 2018-02-07 20:33:45 +11:00
Siddharth Purohit
175d806b5f AP_Baro: skip using posix headers for non-posix systems 2018-02-07 20:33:45 +11:00
Andrew Tridgell
b992b5e02a HAL_ChibiOS: allow for 16kHz brushed on all timers 2018-02-07 20:33:45 +11:00
Andrew Tridgell
b0d0ee1f01 HAL_ChibiOS: reformat using yapf and support python3
allow hwdef.h compilation using python3
2018-02-07 20:33:45 +11:00
Andrew Tridgell
67e0ba22fe HAL_ChibiOS: fixed some errors in F405 tables 2018-02-07 20:33:45 +11:00
Andrew Tridgell
70ff3871e0 HAL_ChibiOS: fixed RC in on CH1 of timer 2018-02-07 20:33:45 +11:00
Andrew Tridgell
890d322b47 HAL_ChibiOS: starting on mini-pix hwdef.dat
for RadioLink mini-pix board
2018-02-07 20:33:45 +11:00
Andrew Tridgell
5da17e5b60 AP_HAL: added MINIPIX board type 2018-02-07 20:33:45 +11:00
Andrew Tridgell
23555f4c25 HAL_ChibiOS: allow for empty storage during bringup
useful when storage backend driver isn't written yet
2018-02-07 20:33:45 +11:00
Andrew Tridgell
ecce2a73d0 HAL_ChibiOS: Storage::_timer_tick is an override 2018-02-07 20:33:45 +11:00
Andrew Tridgell
713006bb1d HAL_ChibiOS: allow more OTG defines to be overridden 2018-02-07 20:33:45 +11:00
Andrew Tridgell
33a87194dc HAL_VRBrain: Storage::_timer_tick is an override 2018-02-07 20:33:45 +11:00
Andrew Tridgell
0f079deebf HAL_PX4: Storage::_timer_tick is an override 2018-02-07 20:33:45 +11:00
Andrew Tridgell
26161ee467 HAL_Linux: Storage::_timer_tick is an override 2018-02-07 20:33:45 +11:00
Andrew Tridgell
472ba5bde7 AP_HAL: make _timer_tick() in Storage available in all HALs
this makes using the Empty::Storage easier
2018-02-07 20:33:45 +11:00
Andrew Tridgell
3e65347b97 AP_HAL: added REVOMINI board type 2018-02-07 20:33:45 +11:00
Andrew Tridgell
1fb257a35a HAL_ChibiOS: initial hwdef.dat for revo mini 2018-02-07 20:33:45 +11:00
Andrew Tridgell
979a2a4796 HAL_ChibiOS: removed debug code 2018-02-07 20:33:45 +11:00
Siddharth Purohit
538af2a58a HAL_ChibiOS: fix parity and stop bit setting 2018-02-07 20:33:45 +11:00
Mark Whitehorn
1a167a7d1f AP_SerialManager: disable flow control for sbus1 port 2018-02-07 20:33:45 +11:00
Mark Whitehorn
b94b1dcd97 AP_HAL_ChibiOS: add missing declaration 2018-02-07 20:33:45 +11:00
Siddharth Purohit
df4bf7e476 HAL_ChibiOS: fix irq clash with unnecessary access to readbuf ring buffer 2018-02-07 20:33:45 +11:00
Siddharth Purohit
02696882e9 HAL_ChibiOS: if unbuffered write, do continue to invoke DMA writes
adds higher latency to device sharing DMA
2018-02-07 20:33:45 +11:00
Siddharth Purohit
0c914838b2 AP_IOMCU: fix data type for available bytes 2018-02-07 20:33:45 +11:00
proficnc
c613c0bde2 added the cube red hardware definition 2018-02-07 20:33:45 +11:00
Andrew Tridgell
442b280368 AP_IOMCU: improved error checking
and avoid pointless change of rates
2018-02-07 20:33:45 +11:00
Andrew Tridgell
3dacbd1b36 HAL_ChibiOS: hold write lock for unbuffered writes 2018-02-07 20:33:45 +11:00
Andrew Tridgell
ad26ca4a27 HAL_ChibiOS: implement parity and stop bits controls 2018-02-07 20:33:45 +11:00
Andrew Tridgell
2e15285c51 HAL_ChibiOS: refuse unbuffered writes without DMA
we would need much more complex code to handle this
2018-02-07 20:33:45 +11:00
Andrew Tridgell
5ffcff1a79 AP_IOMCU: use unbuffered UART writes
this lowers latency for servo outputs to the IOMCU
2018-02-07 20:33:45 +11:00
Andrew Tridgell
3f2cc2c9d6 HAL_ChibiOS: implement low latency UART writes
this implements the set_unbuffered_writes() API by performing writes
directly in the write() call and not from a timer
2018-02-07 20:33:45 +11:00
Andrew Tridgell
015c3a1fa3 HAL_ChibiOS: removed duplicate defines 2018-02-07 20:33:45 +11:00
Andrew Tridgell
2bb99bfe53 HAL_VRBRAIN: implement _timer_tick in UARTDriver 2018-02-07 20:33:45 +11:00
Andrew Tridgell
e276edbb03 HAL_SITL: implement _timer_tick in UARTDriver 2018-02-07 20:33:45 +11:00
Andrew Tridgell
e4fc0e9f62 HAL_QURT: implement _timer_tick in UARTDriver 2018-02-07 20:33:45 +11:00
Andrew Tridgell
25ea60da69 HAL_PX4: implement _timer_tick in UARTDriver 2018-02-07 20:33:45 +11:00
Andrew Tridgell
22de99dd58 HAL_Linux: implement _timer_tick in UARTDriver 2018-02-07 20:33:45 +11:00
Andrew Tridgell
865e4f3104 HAL_ChibiOS: implement _timer_tick in UARTDriver 2018-02-07 20:33:45 +11:00
Andrew Tridgell
5179d13dbf AP_HAL: added virtual _timer_tick method on UARTDriver
this is needed to allow HALs to update UARTs when the number of UARTs
they bhave varies (some may be instances of HAL_Empty)
2018-02-07 20:33:45 +11:00
Andrew Tridgell
a5bafb399f HAL_ChibiOS: adjust SPI pin speeds 2018-02-07 20:33:45 +11:00
Holger Steinhaus
36f0b429fb GCS_MAVLink: send BATTERY_STATUS.energy_consumed if current measurement is available 2018-02-06 20:00:16 -07:00
Holger Steinhaus
d1a37a60b7 DataFlash: log consumed energy (Wh) 2018-02-06 20:00:16 -07:00
Holger Steinhaus
7383552ebc AP_BatteryMonitor: count mWh spent since powerup 2018-02-06 20:00:16 -07:00
Igor Anokhin
e6d4b2a087 AP_InertialSensor: add LSM9DS1 entry
Enable LSM9DS1 in case it is selected
2018-02-06 09:31:26 -08:00
Igor Anokhin
5cf15db966 AP_HAL: add LSM9DS1 defines
Add defines for name and number sensor
2018-02-06 09:31:26 -08:00
Igor Anokhin
be386b2b73 AP_InertialSensor: LSM9DS1 add FIFO support
Make reading data with FIFO
2018-02-06 09:31:26 -08:00
Igor Anokhin
44d5112488 AP_InertialSensor: add LSM9DS1 support
Make LSM9DS1 driver
2018-02-06 09:31:26 -08:00
Nicholas Engle
1103e92884 SITL: Add SIM_WIND_DIR_Z parameter for SITL
This controls the vertical pitch of the 3d wind vector, allowing futher control of the wind
using systems like dronekit. This change directly effects the calcuation of the wind vector
2018-02-05 16:38:53 -08:00
Nicholas Engle
8b08e9388d AP_HAL_SITL: Add SIM_WIND_DIR_Z parameter for SITL
This controls the vertical pitch of the 3d wind vector, allowing futher control of the wind
using systems like dronekit. This change directly effects the calcuation of the wind vector
2018-02-05 16:38:53 -08:00
Michael du Breuil
725f1a2f2b DataFlash: Use battery singleton 2018-02-06 00:11:32 +00:00
Michael du Breuil
03bf247d36 AP_BattMonitor: Create a battery singleton
Also logs battery data from the read function directly
2018-02-06 00:11:32 +00:00
Andrew Tridgell
83d1e71cb2 AP_Baro: ran BMP085 driver through code formatter 2018-02-05 12:12:03 +11:00
night-ghost
2c043b822b AP_Baro: fixed BMP085 driver for current API 2018-02-05 12:12:03 +11:00
mirkix
bf758098d7 AP_HAL_Linux: fix deallocation 2018-02-05 11:05:12 +11:00
LukeMike
3dcaf83eaa VRBRAIN / DataFlash: some update for new VR Brain 5.2E (EEPROM version) 2018-02-05 08:26:49 +11:00
LukeMike
250bf53912 VRBRAIN / AP_HAL_VRBRAIN: some update for new VR Brain 5.2E (EEPROM version) 2018-02-05 08:26:49 +11:00
LukeMike
bfcece7edd VRBRAIN / AP_HAL: some update for new VR Brain 5.2E (EEPROM version) 2018-02-05 08:26:49 +11:00
LukeMike
ccb316f3f3 VRBRAIN / AP_BoardConfig: some update for new VR Brain 5.2E (EEPROM version) 2018-02-05 08:26:49 +11:00
LukeMike
8b737c54b9 VRBRAIN / AP_BattMonitor: some update for new VR Brain 5.2E (EEPROM version) 2018-02-05 08:26:49 +11:00
LukeMike
bf6e57e7a4 VRBRAIN / DataFlash: added writebuf_chunk for VR Brain 5.4 2018-02-05 08:26:49 +11:00
LukeMike
721f55e93c VRBRAIN / AP_RangeFinder: removed AP_RangeFinder_PX4_PWM for VR Brain boards 2018-02-05 08:26:49 +11:00
LukeMike
a319f6632f VRBRAIN / AP_RPM: removed RPM_PX4_PWM for VR Brain 5.1 and VR Micro Brain 5.2 (they haven't this input pin) 2018-02-05 08:26:49 +11:00
LukeMike
502f19cbae VRBRAIN / AP_InertialSensor: added inertial sensors init for VR Brain boards 2018-02-05 08:26:49 +11:00
LukeMike
432f6c2a4a VRBRAIN / APCompass: added compass sensor init for VR Brain boards 2018-02-05 08:26:49 +11:00
LukeMike
d48f9397d0 VRBRAIN / AP_Baro: added barometer sensor init for VR Brain boards 2018-02-05 08:26:49 +11:00
LukeMike
dab8f93628 VRBRAIN / AP_HAL: changed vrbrain board configuration file 2018-02-05 08:26:49 +11:00
LukeMike
505497b555 VRBRAIN / AP_BoardConfig: added fmu_mode parameter for VR Brain boards 2018-02-05 08:26:49 +11:00
LukeMike
b7985f77b5 VRBRAIN / AP_BoardConfig: added VR Brain boards into board_setup_drivers and board_autodetect 2018-02-05 08:26:49 +11:00
LukeMike
6b820ac9e4 VRBRAIN / AP_BoardConfig: added VR Brain define into px4_board_type enum 2018-02-05 08:26:49 +11:00
LukeMike
97b29a333d VRBRAIN / AP_HAL_VRBRAIN: updated AP_HAL 2018-02-05 08:26:49 +11:00
Michael du Breuil
200aacea43 AP_AdvancedFailsafe: Report MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION 2018-02-03 09:36:03 +09:00
Randy Mackay
f189ce5c68 AC_WPNav: minor formatting fix
non-functional change
2018-02-02 20:55:20 +09:00
Andrew Tridgell
2067e25523 AP_Compass: make length filter in MAG3110 optional
compile time for now, later can may become parameter
2018-02-02 21:07:40 +11:00
night-ghost
2065cc879c AP_HAL: mAG3110 driver 2018-02-02 21:07:40 +11:00
night-ghost
b6bf90ab93 AP_Compass: mAG3110 driver 2018-02-02 21:07:40 +11:00
Andrew Tridgell
1513246040 AP_FlashStorage: fixed two bugs found by night-ghost
this fixes two issues found by night-ghost. The first occurs if a 16
bit flash write is not atomic and only the first byte is written. Then
we could end up declaring the data invalid on reboot and erasing.

The second is a race in switching sectors. If power off occurs at the
wrong time we would trigger en erase on reboot.
2018-02-02 14:19:12 +09:00
mirkix
8da1252959 AP_BattMonitor: add default pins and values for BeagleBone Blue 2018-02-02 10:01:34 +09:00
Peter Barker
adde7bc588 AP_Terrain: fix snprintf buffer length warning
Also includes fix from Tridge to use MIN() instead of MAX()
2018-02-02 09:59:06 +09:00
murata
8070c13963 AP_Soaring: delete \n from the log using gcs().send_text 2018-02-02 09:41:23 +09:00
murata
cdfca9d9ea AP_HAL_PX4: delete \n from the log using gcs().send_text 2018-02-02 09:40:55 +09:00
murata
5b3a402d36 AP_Camera: delete \n from the log using gcs().send_text 2018-02-02 09:40:05 +09:00
murata
3ec733d4f8 AP_BattMonitor: Aggregate the commands defined in the SMBUS specification.
AP_BattMonitor: Aggregate the commands defined in the SMBUS specification.
2018-02-02 09:17:30 +09:00
Peter Barker
8e8b0dcc06 DataFlash: add ? and - to multiplier table
This allows a consumer to expect referential integrity for the
multipliers
2018-02-02 09:15:59 +09:00
Tatsuya Yamaguchi
aef9fa4a63 AP_NavEKF3: delete \n from the log using gcs().send_text 2018-02-02 09:13:54 +09:00
Lucas De Marchi
184b017b33 AP_HAL: fix warning from having undefined HAL_WITH_IO_MCU
In file included from ../../libraries/AP_IOMCU/AP_IOMCU.cpp:8:0:
../../libraries/AP_IOMCU/AP_IOMCU.h:10:5: warning: "HAL_WITH_IO_MCU" is not defined [-Wundef]
 #if HAL_WITH_IO_MCU
     ^
../../libraries/AP_IOMCU/AP_IOMCU.cpp:10:5: warning: "HAL_WITH_IO_MCU" is not defined [-Wundef]
 #if HAL_WITH_IO_MCU
     ^
And so on.
2018-02-02 09:11:46 +09:00
Randy Mackay
3badcdcfba AC_PosControl: default gains for sub 2018-01-31 08:48:21 +09:00
Randy Mackay
61933c6f1c AC_PosControl: shorten PSC_ACCELZ param to PSC_ACCZ 2018-01-31 08:48:21 +09:00
murata
6a87840c7a AP_NavEKF3: Change the if statement to a switch statement. 2018-01-28 22:20:08 +00:00
Leonard Hall
692e6518cc AC_AttitudeControl: update param desc values for large copters 2018-01-27 11:54:04 +09:00
Leonard Hall
691abab95e AC_AttitudeControl: Update parameter ranges 2018-01-27 11:38:09 +09:00
David Ingraham
2547ca399a AP_Airspeed: Fix ARSPD2_TYPE docs 2018-01-26 13:19:53 -08:00
Randy Mackay
ebf405e53d AC_Avoid: reduce min and default DIST_MAX values 2018-01-25 11:16:01 +09:00
Andrew Tridgell
6558da2c4c HAL_SITL: fixed valgrind error in ubx driver
this was causing a valgrind error on all runs with a virtual ublox GPS
2018-01-24 18:00:42 -07:00
night-ghost
3165d72647 AP_Motors: reduce unnecessary multiple call of get_compensation_gain() 2018-01-24 19:26:15 +09:00
Andrew Tridgell
c6c5603382 AP_Param: added back key dumping code
this is essential for working out conversion tables.
2018-01-24 18:23:59 +11:00
mirkix
c5eb52bf8d AP_HAL_Linux: fix comment 2018-01-23 13:32:12 -08:00
bnsgeyer
7a9e424977 AP_Motors: added comments to indicate parameter indices previously used by RSC_PWM_MIN, RSC_PWM_MAX, and RSC_PWM_REV 2018-01-23 14:12:27 +09:00
Randy Mackay
04822152da AC_PID: fixes after peer review of AC_PID_2D 2018-01-23 12:00:43 +09:00
Randy Mackay
efbd8eb386 AC_WPNav: remove unused definition
This has been moved to AC_PosControl library
2018-01-23 12:00:43 +09:00
Randy Mackay
368245017a AC_WPNav: access pos-controller's horizontal p object 2018-01-23 12:00:43 +09:00
Randy Mackay
9c00eb3d5f AC_PosControl_Sub: move pids to be local 2018-01-23 12:00:43 +09:00
Randy Mackay
c70d3e0ab8 AC_PosControl: move pids to be local 2018-01-23 12:00:43 +09:00
Randy Mackay
00037fd50e AC_PosControl_Sub: replace velocity pi with local pid 2018-01-23 12:00:43 +09:00
Randy Mackay
3a73ff1e2e AC_PosControl: replace velocity control with local 2-axis PID 2018-01-23 12:00:43 +09:00
Randy Mackay
398a0d89bf AC_P: add const accessor 2018-01-23 12:00:43 +09:00
Randy Mackay
c1708db208 AC_PID: add const and use is_positive in AC_PI_2D 2018-01-23 12:00:43 +09:00
Leonard Hall
fd964a21d6 AC_PID: add AC_PID_2D 2018-01-23 12:00:43 +09:00
Randy Mackay
9ea16bec15 AP_InertialSensor: resolve compiler warning in example 2018-01-23 08:32:48 +09:00
Steven Josefs
e8debde4b7 AC_Fence: hide ALT_MAX parameter from Rover 2018-01-22 20:42:31 +09:00
Randy Mackay
a1bf9d66f0 AC_Avoid: default behaviour to stop for Rovers 2018-01-22 17:18:41 +09:00
Randy Mackay
ae4ded86a8 AC_Avoid: get_max_speed supports linear acceleration
Also get_stopping_distance supports linear deceleration
2018-01-22 17:18:41 +09:00
Randy Mackay
dfaabb543c AC_Avoid: add adjust_speed
this method accepts a heading and speed instead of a velocity vector
2018-01-22 17:18:41 +09:00
Randy Mackay
9d74d82ff6 AC_Avoid: add stopping behaviour 2018-01-22 17:18:41 +09:00
Randy Mackay
c28cfcdc27 AP_Math: add Vector2f::circle_segment_intersection 2018-01-22 17:18:41 +09:00
Randy Mackay
a655c36159 AP_Math: add Vector2f::segment_intersection 2018-01-22 17:18:41 +09:00
Andrew Tridgell
2c73b374f5 AP_Motors: protect against writes to NULL servo_aux
if user changes parameter while setting up it could crash
2018-01-21 21:12:13 +11:00
Andrew Tridgell
bdb9f062ae AP_Motors: removed unused pwm parameters for heli 2018-01-21 21:12:13 +11:00
bnsgeyer
ac2e933358 AP_Motors: Tradheli - Fixed Directdrive Variable Pitch Feature 2018-01-21 21:12:13 +11:00
Andrew Tridgell
7b251c9739 HAL_ChibiOS: lower FRAM CS speed to 2MHz
this matches old firmware
2018-01-20 17:40:07 +11:00
Andrew Tridgell
30fd2da108 HAL_ChibiOS: enable RTSCTS and SBUS_OUT 2018-01-20 17:40:07 +11:00
Andrew Tridgell
93a993c575 AP_HAL: setup RTSCTS and SBUS_OUT 2018-01-20 17:40:07 +11:00
Andrew Tridgell
f8a3b0e753 AP_BoardConfig: improved board config
use hwdef.dat to enable RTSCTS and SBUS_OUT
2018-01-20 17:40:07 +11:00
Andrew Tridgell
63671b06a8 HAL_ChibiOS: added HAL_I2C_MAX_CLOCK define 2018-01-20 17:40:07 +11:00
Andrew Tridgell
88f11f5a50 HAL_ChibiOS: added HAL_I2C_BUS_BASE
this allows fmuv4 to start at bus 1
2018-01-20 17:40:07 +11:00
bugobliterator
c60c0b8ab1 HAL_ChibiOS: fix undef line processing 2018-01-20 17:40:07 +11:00
Andrew Tridgell
8286486890 HAL_ChibiOS: drop default SPI priority to 179 2018-01-20 17:40:07 +11:00
Andrew Tridgell
ab748034a2 HAL_ChibiOS: removed RC inversion logic
not needed any more
2018-01-20 17:40:07 +11:00
Andrew Tridgell
d6b9ab7756 AP_RCProtocol: tidy up frontend/backend split 2018-01-20 17:40:07 +11:00
Andrew Tridgell
ff5e00da32 AP_RCProtocol: fixed DSM decoding 2018-01-20 17:40:07 +11:00
bugobliterator
7db19cfae0 HAL_ChibiOS: use separate parameter for detect timeout 2018-01-20 17:40:07 +11:00
Andrew Tridgell
613d7a47ba HAL_ChibiOS: support RCIN on mindpx-v2 2018-01-20 17:40:07 +11:00
bugobliterator
02c7513f83 HAL_ChibiOS: add invert method and fix width measurement 2018-01-20 17:40:07 +11:00
bugobliterator
f7ac5aa079 HAL_ChibiOS: put rcin on a separate thread 2018-01-20 17:40:07 +11:00
Andrew Tridgell
f50f427a59 HAL_ChibiOS: added comment on beta fmuv4 board 2018-01-20 17:40:07 +11:00
Andrew Tridgell
743806116d HAL_ChibiOS: removed unusued ppm driver
now uses AP_RCProtocol
2018-01-20 17:40:07 +11:00
Andrew Tridgell
ccb85c2707 HAL_ChibiOS: fixed fmuv3 build with no ICU 2018-01-20 17:40:07 +11:00
Andrew Tridgell
f87668c15c AP_RCProtocol: lock onto a single protocol to reduce CPU cost 2018-01-20 17:40:07 +11:00
Andrew Tridgell
33c7cba9af HAL_ChibiOS: use more efficient push mechanism in IRQ
and don't use push_force() as it is not safe to do reads from within
the producer
2018-01-20 17:40:07 +11:00
Andrew Tridgell
d030f2888b AP_HAL: added multi-object push to RingBuffer
this is much more efficient than pushing them one at a time
2018-01-20 17:40:07 +11:00
Andrew Tridgell
7a4f429b85 HAL_ChibiOS: don't adjust buffer size for protocol
its all about IRQ latency, not IRQ rate
2018-01-20 17:40:07 +11:00
Andrew Tridgell
e2c8fe27ef HAL_ChibiOS: fixed memory handling in SoftSigReader 2018-01-20 17:40:07 +11:00
Andrew Tridgell
8be59c73c7 AP_RCProtocol: fixed return value when no input 2018-01-20 17:40:07 +11:00
bugobliterator
bad9f2b4c9 AP_RCProtocol: add library to process RC signals 2018-01-20 17:40:07 +11:00
bugobliterator
eeea2c9961 HAL_ChibiOS: use software signal reader for RCInput if available 2018-01-20 17:40:07 +11:00
bugobliterator
6be4c710c3 HAL_ChibiOS: add Software Signal reader using timer and DMA 2018-01-20 17:40:07 +11:00
bugobliterator
1db1ff799e HAL_ChibiOS: modify hwdef scripts to setup for generic RCIN 2018-01-20 17:40:07 +11:00
bugobliterator
1970d8a2c8 HAL_ChibiOS: use common RCIN pin for fmuv4 2018-01-20 17:40:07 +11:00
bugobliterator
445ba6ed39 HAL_ChibiOS: update ppm to use Extended ICU driver 2018-01-20 17:40:07 +11:00
Andrew Tridgell
7c23e33775 HAL_Chibios: set min output rate for oneshot to 100Hz
this will keep ESCs happy during gyro cal
2018-01-20 17:40:07 +11:00
Andrew Tridgell
b07c599bf2 Hal_Chibios: allow for faster INS sample times
we need higher priority on SPI and faster device loops
2018-01-20 17:40:07 +11:00
Andrew Tridgell
25f13ed518 HAL_Chibios: adjust MPU9250 clock speed down
this helps with fast sampling enabled
2018-01-20 17:40:07 +11:00
Andrew Tridgell
7e44b06440 HAL_ChibiOS: adjust SPI clock rates on FMUv4
this prevents some timing errors on the IMUs
2018-01-20 17:40:07 +11:00
Andrew Tridgell
dd59a5ff57 HAL_ChibiOS: adjust external bus clock for mpu9250
this fixes an issue with fast sampling on the PH2.1 cube
2018-01-20 17:40:07 +11:00
Andrew Tridgell
93fa74518a AP_IOMCU: limit rate to IOMCU to 500Hz
when running with very high loop rates we can saturate the IO link
2018-01-20 17:40:07 +11:00
Andrew Tridgell
880a84294e HAL_ChibiOS: support oneshot mode
supports oneshot 125 and oneshot
2018-01-20 17:40:07 +11:00
Andrew Tridgell
38a36a070f DataFlash: removed some special cases for ChibiOS 2018-01-20 17:40:07 +11:00
Andrew Tridgell
30903f2acb AP_IOMCU: support oneshot mode 2018-01-20 17:40:07 +11:00
Andrew Tridgell
ba3cdf74b5 HAL_Chibios: optional ADC debugging
this debugging capability is very useful on board bringup. It outputs
the first 6 analog channels as an AP_ADC MAVLink message
2018-01-20 17:40:07 +11:00
Andrew Tridgell
c863681849 HAL_ChibiOS: fixed PWM output assignment 2018-01-20 17:40:07 +11:00
Andrew Tridgell
82c6d2751f HAL_ChibiOS: fixed F412 ram and flash setup 2018-01-20 17:40:07 +11:00
Peter Barker
87be7fea0c AP_HAL: added support for Sparky2 STM23F405 board 2018-01-20 17:40:07 +11:00
Peter Barker
67bed1d6c2 HAL_ChibiOS: added support for Sparky2 STM23F405 board 2018-01-20 17:40:07 +11:00
Siddharth Purohit
a6be19d8cf HAL_SITL: fix sitl build for mac osx 2018-01-20 17:35:08 +11:00
Andrew Tridgell
8b0e9bcff4 AP_Scheduler: use pre-computed loop constants
this prevents changing the loop rate without a reboot. Too many
subsystems rely on a consistent loop rate to allow it to be changed
2018-01-20 15:35:58 +11:00
Peter Barker
f2242e07db AP_Scheduler: remove memoisation in loop_period_s() 2018-01-20 15:35:58 +11:00
Peter Barker
a6ac37d0ba AP_Scheduler: eliminate MAIN_LOOP_SECONDS macro 2018-01-20 15:35:58 +11:00
Leonard Hall
e249e06714 AC_PosControl: minor enhancement to lean_angles_to_accel 2018-01-20 09:49:58 +09:00
Andrew Tridgell
44dd079cb9 AP_Scheduler: allow for loop rates above 400Hz
with ChibiOS we can run copter at 1KHz with no scheduling misses. This
small PR allows that to be configured.
2018-01-20 10:40:37 +11:00
Andrew Tridgell
100363ba03 AP_InertialSensor: if no sensors found allow parameter change 2018-01-20 10:36:22 +11:00
Andrew Tridgell
24c424ae5d AP_InertialSensor: support over 1kHz IMUs
this allows for invensense IMUs to run above 1kHz by adjusting the
downsampling rate
2018-01-20 10:36:22 +11:00
Andrew Tridgell
c0c5f23aa5 AP_InertialSensor: added INS_ENABLE_MASK
this allows for only a specified subset of IMUs to be probed, so you
can disable IMUs that aren't needed.

The back corresponds to bits in the order the IMUs are normally probed
on the board
2018-01-20 10:36:22 +11:00
Andrew Tridgell
9416165fe3 AP_InertialSensor: improved invensense debugging on ChibiOS 2018-01-20 10:36:22 +11:00
Leonard Hall
d5976442f8 AC_PosControl: minor comment change
non-functional change
2018-01-19 15:40:32 +09:00
Leonard Hall
3ada0f32b0 AC_AttitudeControl: minor comment update
Non-functional change
2018-01-19 15:40:24 +09:00
mirkix
700171a0fc AP_HAL_Linux: add second RCIN port for Blue 2018-01-17 15:25:51 -08:00
Michael du Breuil
8712fbd55d AP_BattMonitor: Move per battery params into a containing class 2018-01-17 22:21:55 +00:00
Michael du Breuil
bb0d43d03c AP_BattMonitor: Remove unneeded memebers
is_powering_off was only used for solo, and was just an intermediate
copy before updating notify
2018-01-17 22:21:55 +00:00
Michael du Breuil
a1a5665213 AP_Param: Support marking a param group as ignoring the enable flag 2018-01-17 22:21:55 +00:00
Nikita Tomilov
1549b1a52a AP_BoardConfig: CAN: Merge PX4 and Linux CAN setup
Here we merge PX4 and Linux CAN bus setup since the interface is almost
the same for both of them.
2018-01-17 07:24:17 -08:00
Tom Pittenger
d713d57904 AP_HAL_Linux: update software license referencing UAVCAN submodule 2018-01-17 07:24:17 -08:00
Nikita Tomilov
3ac2e4e8c5 AP_HAL_Linux: CAN: _pollRead no more than 100 iterations
This adds a counter here to only loop to a maximum number of iterations.
Now we avoid situations in which we would be stuck processing packets here.
This also adds some other meaningful defines
2018-01-17 07:24:17 -08:00
Nikita Tomilov
43bfcbc8e2 AP_HAL_Linux: CAN: Rename CANDriver -> CANManager 2018-01-17 07:24:17 -08:00
Nikita Tomilov
d0fc481202 AP_HAL_Linux: CAN: Rename Linux::LinuxCAN -> Linux::CAN 2018-01-17 07:24:17 -08:00
Alexey Bulatov
e0acbd3e53 AP_HAL_LINUX: Add CAN to timer_task 2018-01-17 07:24:17 -08:00
Alexey Bulatov
606eb05c95 AP_BoardConfig: Linux CAN initialisation 2018-01-17 07:24:17 -08:00
Nikita Tomilov
a50e6c6dd7 AP_HAL: board: linux: Add default CAN interface name 2018-01-17 07:24:17 -08:00
Nikita Tomilov
b6665f7e58 AP_HAL_Linux: CAN: get rid of RaiiCloser 2018-01-17 07:24:17 -08:00
Alexey Bulatov
976500960f AP_HAL_LINUX: Add CAN driver 2018-01-17 07:24:17 -08:00
Alexey Bulatov
09de8e852d AP_HAL: Make methods get_UAVCAN and set_UAVCAN pure 2018-01-17 07:24:17 -08:00
Dylan Herman
85e1f9f9f6 AP_SmartRTL: attempts to set home in update
update will continuously attempt to set SmartRTL home as long as
position is ok and home has not be set. Updated examples to use set_home.
2018-01-17 11:03:33 +09:00
Andrew Tridgell
8fea99e1da HAL_Linux: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00
Andrew Tridgell
3f5534eed5 AP_HAL: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00
Andrew Tridgell
f6138e3c91 HAL_ChibiOS: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00
Andrew Tridgell
20d75f52c2 AP_Compass: use calloc in preferance to malloc 2018-01-17 11:22:05 +11:00
Andrew Tridgell
c9deabc283 DataFlash: use calloc in MAVLink backend 2018-01-17 11:22:05 +11:00
Andrew Tridgell
8dae3fe59b HAL_ChibiOS: use calloc for malloc type
this is not strictly necessary on ChibiOS as we already override
malloc, but will keep static analysis happy
2018-01-17 11:22:05 +11:00