Commit Graph

20975 Commits

Author SHA1 Message Date
Andrew Tridgell 91e8752c17 HAL_ChibiOS: wrap more libc functions
this saves a few k of flash as it avoids linking libc versions of some
functions
2019-09-09 13:31:30 +10:00
Andrew Tridgell 3166f84954 HAL_ChibiOS: added vsnprintf wrapper
this allows us to use a common snprintf implementation
2019-09-09 13:31:30 +10:00
Michael du Breuil ba3cfbfb54 AP_RTC: Don't allow RTC times before 2019 2019-09-09 04:43:29 +10:00
Andrew Tridgell aa20be4270 AP_RCProtocol: fixed SUMD with 16 channels
with 16 channels it is more than 3ms per frame
2019-09-07 10:02:26 +10:00
Andrew Tridgell df387dc396 AP_Compass: allow rotation of BMM150 compass 2019-09-07 09:53:21 +10:00
Andrew Tridgell 1cb775e2c2 AP_Compass: probe more addresses for IST8310
IST8310 can be on 4 possible i2c addresses
2019-09-07 07:35:54 +10:00
Andrew Tridgell 5e5c30efe8 HAL_SITL: allow SITL to use SERIALn_PROTOCOL=23
this allows for testing of RC input protocol parsing in SITL
2019-09-06 08:51:45 +10:00
Andrew Tridgell c8de2ec9c7 AP_RCProtocol: added update() method for use by SITL 2019-09-06 08:51:45 +10:00
Andrew Tridgell 4b48e80c26 AP_SerialManager: fixed AP_Periph build 2019-09-06 08:51:45 +10:00
Andrew Tridgell 83872c23e5 HAL_ChibiOS: fixed AP_Periph build 2019-09-06 08:51:45 +10:00
Andrew Tridgell fd80220d3e HAL_ChibiOS: setup PH4-mini RCIN port by default 2019-09-06 08:51:45 +10:00
Andrew Tridgell 54649a0e4f HAL_ChibiOS: fixed KakuteF4 define for SERIAL2 2019-09-06 08:51:45 +10:00
Andrew Tridgell 06b272705e HAL_ChibiOS: run RCIN thread at 1kHz
this gives fast enough response for SBUS parsing on a UART
2019-09-06 08:51:45 +10:00
Andrew Tridgell 6983186210 AP_HAL: added get_options() method on UARTs 2019-09-06 08:51:45 +10:00
Andrew Tridgell c841b39ea2 HAL_ChibiOS: switch to AP::RC() for AP_RCProtocol 2019-09-06 08:51:45 +10:00
Andrew Tridgell bf2cf7834d HAL_ChibiOS: fixed a bug in parity/stop-bit setting on STM32F7 and H7
and add get_options() method
2019-09-06 08:51:45 +10:00
Andrew Tridgell 312018898f HAL_Linux: use AP::RC() 2019-09-06 08:51:45 +10:00
Andrew Tridgell 672d09c965 AP_IOMCU: use AP::RC() for AP_RCProtocol 2019-09-06 08:51:45 +10:00
Andrew Tridgell cbdb23afb5 AP_SerialManager: support SERIALn_PROTOCOL=23 for RC input
sets up an extra RC input port
2019-09-06 08:51:45 +10:00
Andrew Tridgell 2b856abdd1 AP_RCProtocol: support an additional uart on RC input
this will allow for any UART to be configured as an additional RC
input source
2019-09-06 08:51:45 +10:00
Andrew Tridgell ad2890dc5a HAL_ChibiOS: added connector pinouts for PH4-mini 2019-09-06 08:51:45 +10:00
Andrew Tridgell b72dcf6478 AP_Filesystem: use a recursive semaphore
this is needed to cope with the mkdir("/APM") in sdcard_retry()
2019-09-06 08:51:04 +10:00
Andrew Tridgell 7afd51d03e AP_Frsky_Telem: move FrSky handling to it's own thread
we are getting timing issues sharing with the other users of the IO
thread. The FrSky protocols are quite timing sensitive, so this should
help
2019-09-05 10:50:17 +10:00
Randy Mackay fb38db6640 AP_AHRS: resolve compile warning in AP_AHRS_DCM::use_compass 2019-09-05 08:39:10 +10:00
Andrew Tridgell b344946300 HAL_ChibiOS: prevent duplicate sensors in hwdef.dat
throw an error on configure if there is a duplicate
2019-09-05 06:37:35 +10:00
Andrew Tridgell 2c5c8106a5 HAL_ChibiOS: removed duplicate barometer from fmuv5 2019-09-04 21:24:01 +10:00
Peter Barker df5921a87c GCS_MAVLink: gate AP_DEVO_Telem behind !HAL_MINIMIZE_FEATURES 2019-09-04 17:47:33 +10:00
Andrew Tridgell 708ee47c03 HAL_ChibiOS: fixed f103 rm3100 2019-09-04 16:27:47 +10:00
Andrew Tridgell c2c8702329 HAL_ChibiOS: convert remaining boards to use COMPASS specifier 2019-09-04 16:27:47 +10:00
Andrew Tridgell 3aa01448ff HAL_ChibiOS: use COMPASS specifier for f103-periph 2019-09-04 16:27:47 +10:00
Andrew Tridgell f18a18c0ee AP_Baro: use GET_I2C_DEVICE() for i2c probes
for consistency with compass and INS
2019-09-04 16:27:47 +10:00
Andrew Tridgell 2bc7db4cca AP_HAL: removed old HAL_COMPASS_ defines (no longer used) 2019-09-04 16:27:47 +10:00
Andrew Tridgell bd0760f9d4 AP_Compass: removed unusued compass probes
now only use probe lists
2019-09-04 16:27:47 +10:00
Andrew Tridgell 43e011c7a8 AP_HAL: convert Linux compass specification to new probe list
this avoids the special handling in AP_Compass library
2019-09-04 16:27:47 +10:00
Andrew Tridgell 3bc8522b54 AP_Compass: added ROTATION_NONE to probes
we no longer use defaults in the headers
2019-09-04 16:27:47 +10:00
Andrew Tridgell f877def909 AP_Compass: removed default rotations for compass probe
this prevents bugs where the force_external and rotation are mixed up
in hwdef.dat causing incorrect rotations
2019-09-04 16:27:47 +10:00
Andrew Tridgell 2a48241ebb AP_Compass: fixed naming of QMC5883L driver
needed for probe using COMPASS macro in hwdef.dat
2019-09-04 16:27:47 +10:00
Andrew Tridgell 316e7cf7e6 HAL_ChibiOS: fixed mini-pix compass and baro probing
removed dup baro and fixed compass probe
2019-09-04 16:27:47 +10:00
Andrew Tridgell 2509b50852 AP_Baro: define GET_I2C_DEVICE() 2019-09-04 16:27:47 +10:00
Andrew Tridgell 15e15e0b9d AP_InertialSensor: define GET_I2C_DEVICE() 2019-09-04 16:27:47 +10:00
Andrew Tridgell beca17c638 HAL_ChibiOS: use GET_I2C_DEVICE() for i2c probing
this allows for the driver probing to use a macro to prevent loading
of duplicate i2c devices (AP_Compass does this)
2019-09-04 16:27:47 +10:00
Michael du Breuil e19f0ef238 AP_HAL_ChibiOS: Remove set_stop_pin from AnalogSource 2019-09-04 09:54:50 +10:00
Michael du Breuil 75b241622f AP_HAL_Empty: Remove set_stop_pin from AnalogSource 2019-09-04 09:54:50 +10:00
Michael du Breuil 979a431e4a AP_HAL_Linux: Remove set_stop_pin from AnalogSource 2019-09-04 09:54:50 +10:00
Michael du Breuil 69d3e97533 AP_HAL_SITL: Remove set_stop_pin from AnalogSource 2019-09-04 09:54:50 +10:00
Michael du Breuil c12652b325 AP_Rangefinder: Remove stop pin usage 2019-09-04 09:54:50 +10:00
Michael du Breuil 927a0521e3 AP_HAL: Remove the empty force_safety_no_wait 2019-09-04 07:14:50 +10:00
Michael du Breuil e5eeb6181d GCS_MAVLink: Remove the usage of force_safety_no_wait 2019-09-04 07:14:50 +10:00
Michael du Breuil 5711c2cbac AP_UAVCAN: Remove the usage of force_safety_no_wait 2019-09-04 07:14:50 +10:00
Michael du Breuil 53860b53ac AP_BoardConfig: Remove the usage of force_safety_no_wait 2019-09-04 07:14:50 +10:00
Michael du Breuil a74f00d045 GCS_MAVLink: Remove single use method 2019-09-03 14:35:17 +10:00
Michael du Breuil 8adc6ba3ad AP_Notify: Add an alternate LED scheme 2019-09-03 11:50:52 +10:00
E Thomas c09d6908ed Enabled active buzzer output on OmnibusNanoV6 2019-09-03 09:59:53 +10:00
Peter Barker 7ea449076f AP_NavEKF3: use timing logging from AP_NavEKF 2019-09-03 09:28:37 +10:00
Peter Barker c8fac758ee AP_NavEKF2: use timing logging from AP_NavEKF 2019-09-03 09:28:37 +10:00
Peter Barker 6d71ef5cf8 AP_Logger: move EKF timing logging out to EKF 2019-09-03 09:28:37 +10:00
Peter Barker 9e0f525f69 AP_NavEKF: move logging in from AP_Logger 2019-09-03 09:28:37 +10:00
Peter Barker 9da0efaaef GCS_MAVLink: fill SYS_STATUS bits from AC_Fence 2019-09-03 09:12:24 +10:00
Andrew Tridgell 9c900c7176 AP_RangeFinder: added driver for Lanbao CM8JL65 2019-09-03 09:10:48 +10:00
Peter Hall 2f3c0447eb RC_Channel: add fence and value for rover 2019-09-02 11:03:27 +09:00
Andrew Tridgell 172c802ffa AP_RangeFinder: support native I2C protocol on LightWare Lidars
this supports both the native and the legacy I2C protocol for
LightWare Lidars. The native protocol is a string based protocol that
is enabled by default on new Lidars. By supporting both protocols we
avoid the need for users to re-configure their new lidar using a
serial cable before using it on I2C.

This driver was originally written by Mitch Koch and Jonathan
Challinger, and ported to master by me (it required only minor
changes)
2019-09-02 07:20:22 +10:00
Peter Hall fdb6da0793 RC_Channel: define sailboat mainsail and motor input channels
The unusual use of 207 is in preparation for Peter Barker's RCMAP replacement PR which uses 200 to 206
2019-09-01 09:11:25 +09:00
Peter Hall 3dd0ebaf0d AP_WindVane: add wind_speed_enabled method 2019-09-01 09:11:25 +09:00
Peter Barker ca5ee2bfbc AP_Param: correct fetching of flags for parameters
This was sending through the flags for the group the parameter was in,
rather than the parameter itself.
2019-08-30 06:57:30 +10:00
Andrew Tridgell bcb139f02f AP_Compass: fixed uninitialised CAN device ID bits 2019-08-29 18:37:03 +10:00
Rajat Singhal 80bbadf9ca SITL: AirSim: Store last timestamp only
Also change the datatype of deltat
2019-08-29 08:32:19 +10:00
Rajat Singhal 86a70e5797 SITL: Remove redundant timestep in Airsim backend 2019-08-29 08:32:19 +10:00
Rajat Singhal c056548f0d SITL: Enable Arming Checks in airsim-copter params 2019-08-29 08:32:19 +10:00
Michael du Breuil fa6e43be77 AP_Logger: Forward declare AHRS
This reduces the number of places this is implicitly included, and helps
to reduce the scope of files that get rebuilt
2019-08-28 13:13:03 +10:00
Michael du Breuil fe279b03b6 SITL: Directly include needed headers 2019-08-28 13:13:03 +10:00
Michael du Breuil c85c9faa6d GCS_MAVLink: Directly include needed headers 2019-08-28 13:13:03 +10:00
Michael du Breuil 1a5627ae54 AP_VisualOdom: Directly include needed headers 2019-08-28 13:13:03 +10:00
Michael du Breuil 04863f858d AP_Terrain: Directly include needed headers 2019-08-28 13:13:03 +10:00
Michael du Breuil 17cec7cf2b AP_Landing: Directly include needed headers 2019-08-28 13:13:03 +10:00
Michael du Breuil ca0dad9a7f AP_GPS: Directly include needed headers 2019-08-28 13:13:03 +10:00
Michael du Breuil 5d888abfec AP_Baro: Directly include needed headers 2019-08-28 13:13:03 +10:00
Michael du Breuil d8bce8295e AP_Arming: Directly include needed headers 2019-08-28 13:13:03 +10:00
Peter Barker 78af091869 AP_Logger: log parameter space used as part of log open 2019-08-28 11:51:09 +10:00
Peter Barker b493805fb4 AP_Param: methods to provide amount of parameter space used
AP_Param: provide method for storage size
2019-08-28 11:51:09 +10:00
Peter Barker 2d1357b44c AP_Mount: stop passing serial manager through to init() 2019-08-28 06:55:28 +10:00
Andrew Tridgell 6cecf15e6a AP_Baro: remove unused baro probe lines 2019-08-28 06:54:11 +10:00
Andrew Tridgell 7fa6eeaaed AP_HAL: remove unused HAL_BARO_ defines 2019-08-28 06:54:11 +10:00
Andrew Tridgell 9d94598235 AP_HAL: convert linux boards to use baro probe list 2019-08-28 06:54:11 +10:00
Andrew Tridgell 72494788f7 HAL_ChibiOS: convert more boards to use BARO specifier 2019-08-28 06:54:11 +10:00
Andrew Tridgell 60a6f1b04a AP_HAL: removed most HAL_INS_* defines
not used any more
2019-08-28 06:54:11 +10:00
Andrew Tridgell 1c92ecc89f AP_InertialSensor: removed old method of specifying most IMUs
and removed dangerous default values for rotations
2019-08-28 06:54:11 +10:00
Andrew Tridgell 0667747506 HAL_ChibiOS: convert some more boards to new IMU specifiers 2019-08-28 06:54:11 +10:00
Andrew Tridgell 96180018fb AP_HAL: convert HAL_Linux to use HAL_INS_PROBE_LIST
makes for much simpler addition of new boards, especially with more
than one IMU
2019-08-28 06:54:11 +10:00
Jaaaky d7abd636ac AP_HAL_SITL: Fix build with --sitl-flash-storage option 2019-08-28 06:23:04 +10:00
Andrew Tridgell dcd9003831 Revert "AP_Mission: Better AUTO watchdog restore"
This reverts commit d774bf3ea5.
2019-08-27 13:18:12 -06:00
Andrew Tridgell 5ce4ff916e HAL_ChibiOS: fixed Pixhawk1 gyro orientation
this was broken by the recent switch to hwdef.dat for orientations
2019-08-27 19:29:37 +10:00
Andrew Tridgell c99923d500 AP_InertialSensor: require gyro orientations in LSM9DS probe
this prevents a bug where they are missing in hwdef.dat
2019-08-27 19:29:37 +10:00
Andrew Tridgell d40835c666 AP_Logger: use AP::FS().set_mtime() 2019-08-27 15:40:43 +10:00
Andrew Tridgell b489e8a655 AP_Filesystem: added set_mtime() call 2019-08-27 15:40:43 +10:00
Andrew Tridgell 0ffe2e75be HAL_ChibiOS: fixed warnings 2019-08-27 15:40:43 +10:00
Andrew Tridgell df4cb00970 AP_Logger: added LOG_FILE_TIMEOUT parameter
this allows for cards to be removed and re-inserted while continuing
logging
2019-08-27 15:40:43 +10:00
Andrew Tridgell b577787f68 AP_Scripting: use AP_Filesystem API 2019-08-27 15:40:43 +10:00
Andrew Tridgell 667b4e045a AP_Logger: convert to use AP_Filesystem 2019-08-27 15:40:43 +10:00
Andrew Tridgell fb50ec2a1d AP_Notify: convert to use AP_Filesystem 2019-08-27 15:40:43 +10:00
Andrew Tridgell d160f14856 AP_UAVCAN: convert to use AP_Filesystem 2019-08-27 15:40:43 +10:00
Andrew Tridgell a4860afd32 AP_Terrain: convert to use AP_Filesystem 2019-08-27 15:40:43 +10:00
Andrew Tridgell a4258639c8 AP_Proximity: use strtol instead of sscanf 2019-08-27 15:40:43 +10:00
Andrew Tridgell 9d760a2956 HAL_ChibiOS: disable re-entrancy in FATFS
not needed now we have a semaphore in AP_Filesystem
2019-08-27 15:40:43 +10:00
Andrew Tridgell bf79b65e07 HAL_ChibiOS: simplify stubs code 2019-08-27 15:40:43 +10:00
Andrew Tridgell d1565a96c5 HAL_ChibiOS: wrap cacheBuffer functions
needed to avoid problem with end() method in UARTDriver shadowing with
F7 implementation of cache macros
2019-08-27 15:40:43 +10:00
Andrew Tridgell b867ef35c0 HAL_ChibiOS: use AP_Filesystem API 2019-08-27 15:40:43 +10:00
Andrew Tridgell 692abb11fa AP_Filesystem: define new filesystem API 2019-08-27 15:40:43 +10:00
Michael du Breuil 7fdc9fef12 AP_Scripting: Garbage collect after each run of a script
For some reason this resolves a memory leak in a tight loop of file
open, close. This also extends the memory debug printing to be a bit
more useful.
2019-08-27 13:54:54 +10:00
Michael du Breuil 1484a12f4b AP_HAL_Linux: Fix bad check order on heap_realloc 2019-08-27 13:54:54 +10:00
Michael du Breuil 2d40250f9b AP_HAL_SITL: Fix bad check order on heap_realloc 2019-08-27 13:54:54 +10:00
Andrew Tridgell b30f3697d2 HAL_ChibiOS: fixed build without ISR limit 2019-08-27 10:29:56 +10:00
Andrew Tridgell 97c56c068e HAL_ChibiOS: update board IDs for AP_Periph firmwares 2019-08-27 10:29:56 +10:00
Andrew Tridgell 63f39c2bd6 HAL_ChibiOS: fixed build of iomcu firmware 2019-08-27 10:29:56 +10:00
Andrew Tridgell 444af9e638 AP_BoardConfig: fixed AP_Periph build error 2019-08-27 10:29:56 +10:00
Andrew Tridgell e8e18959f7 AP_Baro: fixed baro build with AP_Periph
no GCS available
2019-08-27 10:29:56 +10:00
Andrew Tridgell a19e55e83c AP_Baro: added BMP388 driver 2019-08-27 10:29:56 +10:00
Andrew Tridgell 64921b64f5 HAL_ChibiOS: enable sensors in peripheral firmwares 2019-08-27 10:29:56 +10:00
Andrew Tridgell fa76d1fbe6 HAL_ChibiOS: disable watchdog save in bootloader 2019-08-27 10:29:56 +10:00
Andrew Tridgell 5cbe85ee19 HAL_ChibiOS: allow for ADC and clock overrides 2019-08-27 10:29:56 +10:00
Andrew Tridgell dc89d10ccf HAL_ChibiOS: added hwdef.dat for CUAV_GPS 2019-08-27 10:29:56 +10:00
Andrew Tridgell c8806acaf5 HAL_ChibiOS: use AP_PERIPH env var 2019-08-27 10:29:56 +10:00
Andrew Tridgell cbc83d68cd HAL_ChibiOS: allow for CAN enable override on F4 2019-08-27 10:29:56 +10:00
Andrew Tridgell fb68fa8bc9 HAL_ChibiOS: fixed typo for 512k F4 parts 2019-08-27 10:29:56 +10:00
Andrew Tridgell e51a1a88df HAL_ChibiOS: initial hwdef-bl.dat for CUAV CAN GPS 2019-08-27 10:29:56 +10:00
Andrew Tridgell 66ab585a24 HAL_ChibiOS: setup defaults for CAN app versions 2019-08-27 10:29:56 +10:00
Andrew Tridgell d711bed405 HAL_ChibiOS: set default node ID of 117
this allows for flight controllers without DNA support
2019-08-27 10:29:56 +10:00
Andrew Tridgell ababe1e81d HAL_ChibiOS: disable UART support in f103-periph bootloader 2019-08-27 10:29:56 +10:00
Andrew Tridgell 2facfe0baa HAL_ChibiOS: support empty UART_ORDER
for CAN bootloader without uart support
2019-08-27 10:29:56 +10:00
Andrew Tridgell f4576ec8f3 AP_Compass: reduce firmware size for AP_Periph 2019-08-27 10:29:56 +10:00
Andrew Tridgell 0ec3f80bbe AP_Compass: enable LIS3MDL on I2C and RM3100 on SPI 2019-08-27 10:29:56 +10:00
Andrew Tridgell 9a7b52fd15 HAL_ChibiOS: added hwdef.dat for f103-periph 2019-08-27 10:29:56 +10:00
Andrew Tridgell 16bdaaa1af HAL_ChibiOS: added support for STM31F10x for AP_Periph 2019-08-27 10:29:56 +10:00
Andrew Tridgell 24e05e96e7 AP_HAL: define support for LIS3MDL_I2C and RM3100_SPI 2019-08-27 10:29:56 +10:00
Andrew Tridgell 01472aa795 AP_FlashStorage: added support for STM32F1xx 2019-08-27 10:29:56 +10:00
Andrew Tridgell 291d72601b AP_GPS: enabled reduced size for AP_Periph support 2019-08-27 10:29:56 +10:00
Andrew Tridgell f897eae89d AP_Param: enable reduced size support for AP_Periph 2019-08-27 10:29:56 +10:00
Andrew Tridgell 88fbbfba09 AP_Vehicle: added AP_Periph vehicle type 2019-08-27 10:29:56 +10:00
Andrew Tridgell d005f066a9 StorageManager: enable use of a single storage region 2019-08-27 10:29:56 +10:00
Michael du Breuil 1e66457755 AP_Scripting: Allow the bindings to descirbe any build dependencies needed
Scripting has a hard requirement on AP_Terrain being available, this
allows us to emit a cleaner error message if you have disabled terrain
but not scripting
2019-08-27 09:45:35 +10:00
Peter Barker 5d9b332bcb GCS_MAVLink: log exectuted COMMAND_LONG and COMMAND_INT packets 2019-08-27 09:32:00 +10:00
Peter Barker 631725f817 AP_Logger: add Write_Command for writing out received mavlink commands 2019-08-27 09:32:00 +10:00
Peter Barker 5010de9560 AP_Notify: add static asserts for array size
We index into these arrays so ensuring their size is worthwhile
2019-08-27 09:29:11 +10:00
Michael du Breuil ee3fcf49c6 AP_BattMonitor: Detect bad configuration of failsafes 2019-08-26 18:57:59 +01:00
Michael du Breuil e47f97c5d3 AP_HAL: Fix bad buffer termination 2019-08-26 18:57:59 +01:00
Stone white ec911710c9 hwdef: Enable Spektrum 3.3V VDD Power on fmuv5 2019-08-26 17:27:02 +10:00
Michael du Breuil 56e35e0712 AP_HAL_ChibiOS: Remove almost redundant code duplication from the HAL 2019-08-26 17:24:09 +10:00
Andrew Tridgell 66dc36ef88 AP_Logger: ifdef out _need_rtc_update 2019-08-26 15:41:44 +10:00
Andrew Tridgell 4418495c99 AP_Logger: use UNUSED_RESULT
Co-Authored-By: Francisco Ferreira <OXINARF@users.noreply.github.com>
2019-08-26 15:41:44 +10:00
Andrew Tridgell 8e58cb993d AP_Logger: fix timestamp on log files opened before GPS lock 2019-08-26 15:41:44 +10:00
Andrew Tridgell ffe0f338d3 HAL_ChibiOS: enable utime() API 2019-08-26 15:41:44 +10:00