Peter Barker
7b4129ab0d
AC_Arming: adjust for proximity status namespace change
2019-12-16 14:59:57 +09:00
Peter Barker
83b6fdbb04
AC_Avoid: adjust for proximity status namespace change
2019-12-16 14:59:53 +09:00
Peter Barker
31fbfa8d6e
AP_Proximity: use enum class for status
2019-12-16 14:59:48 +09:00
Peter Barker
b57b69685a
AP_Proximity: correct checking of valid instance in various getters
2019-12-16 14:59:45 +09:00
Peter Barker
21a5618517
GCS_MAVLink: adjust for proximity rangefinder types changing namespacing
2019-12-16 14:59:41 +09:00
Peter Barker
ee0dd26007
AP_Proximity: use enum class for proximity type
...
Removes verbiage from AP_Proximity.cpp
2019-12-16 14:59:39 +09:00
Peter Barker
79c2b310b5
AP_Proximity: stop passing serial manager around, use singleton
2019-12-16 14:59:30 +09:00
Randy Mackay
d2e6df570c
AP_RangeFinder: TYPE param desc clarification for Benewake lidar
...
This renames some of the TYPE parameter's driver options:
19 :BenewakeTF02 is unchanged
20: BenewakeTFMini becomes BenewakeTFMini/Plus-Serial
25: BenewakeTFMiniPlus becomes BenewakeTFMini/Plus-I2C
27: BenewakeTF03 is unchanged
2019-12-16 14:55:07 +09:00
Randy Mackay
19f3060439
AP_RangeFinder: update Type and Pin parameter values
...
The _TYPE change is to remove the "v2" from the LidarLite description because both v2 and v3 are supported
The _PIN change is to make it more clear that any of the auxiliary pwm pins can be used for PWM input
2019-12-16 14:54:55 +09:00
bnsgeyer
47d36edf8d
AP_Motors: Tradheli-incorporate DDFP for counter clockwise rotating rotors
2019-12-16 14:20:48 +09:00
bnsgeyer
c8572502aa
AC_InputManager: Change STAB_COL params to percent
2019-12-16 14:20:14 +09:00
Andrew Tridgell
418eb48bb2
GCS_MAVLink: fixed critical error on prefight cal ops
2019-12-16 14:18:57 +09:00
Andrew Tridgell
cfc531be8d
HAL_ChibiOS: fixed build of SPI clock test
2019-12-16 14:18:55 +09:00
bnsgeyer
d8bd024d8f
AP_Motors: tradheli-update parameter display names
2019-12-16 14:18:19 +09:00
Randy Mackay
04fcbacb9f
GCS_MAVLink: remove send-text re allocating for fence
2019-12-16 14:17:51 +09:00
Randy Mackay
e5ac849cbf
AC_Fence: turn off debug msg re memory allocation
2019-12-16 14:17:49 +09:00
Andrew Tridgell
35dd28ec88
HAL_ChibiOS: fixed handling of 16bit timer wrap
...
this fixes #12948
2019-12-16 14:17:11 +09:00
Andrew Tridgell
a9d11d718d
AP_InternalError: added hex and decimal comments
...
makes looking up codes faster from logs
2019-12-16 14:17:06 +09:00
Andrew Tridgell
e35f253803
HAL_ChibiOS: added assert for systime_t size
2019-12-16 14:17:04 +09:00
Andy Piper
805d8ed776
AP_InertialSensor: correct loop rate on BMI055, clean up setting of loop rate on BMI055 and BMI088
2019-12-16 14:16:08 +09:00
Andy Piper
cce993e35b
AP_HAL_ChibiOS: specify Durdanal IMUs so that ordering is correct
2019-12-16 14:15:25 +09:00
Randy Mackay
f28f376f20
AP_RangeFinder: remove param conversion for 3rd and 4th
...
3rd and 4th instances were not available to users unless they used their own builds which is rare
this reduces the firmware's flash size a small amount
2019-12-16 14:09:17 +09:00
Randy Mackay
eab638cfab
AP_RangeFinder: param conversion fix
...
This resolves an issue with the parameter conversion when moving from Copter-3.6.x to 4.0 (and similar moves for other vehicle types)
2019-12-16 14:09:14 +09:00
Randy Mackay
e28f258297
AP_Arming: add mandatory_checks
...
These are checks that can never be bypassed
2019-12-16 14:08:36 +09:00
Randy Mackay
8cb2631c14
AP_Scripting: init sends failure message
2019-12-16 14:07:35 +09:00
Randy Mackay
b750193563
AP_Arming: add pre-arm system check that scripting init succeeded
2019-12-16 14:07:32 +09:00
Randy Mackay
f2bb56bf1e
AP_Scripting: add init failure check
2019-12-16 14:07:29 +09:00
Peter Barker
121accf392
AP_Landing: emit DEPLOY gcs text only if not already deployed
2019-12-16 14:06:00 +09:00
Gone4Dirt
3b041507e3
AP_Motors: Added support for autorotation
2019-12-16 14:05:21 +09:00
Gone4Dirt
a728b431e5
AP_Vehicle: Added mode change reasons for autorotation
2019-12-16 14:05:17 +09:00
Gone4Dirt
ef72d89d26
AC_Autorotation: Created autorotation library
2019-12-16 14:05:10 +09:00
Andrew Tridgell
401dfc3e0e
HAL_ChibiOS: update mRoX21-777 I2C mask
...
all external
2019-12-16 14:03:38 +09:00
Peter Barker
a1a82e998a
GCS_MAVLink: any internal error means MAV_STATE_CRITICAL
2019-12-16 14:02:39 +09:00
Phillip Kocmoud
ecdf6f1301
HAL_ChibiOS: update mRoControlZeroF7 I2C mask
2019-12-16 14:00:59 +09:00
Peter Barker
422b2cde49
AP_Camera: use corrected version of send_to_components
2019-12-16 13:56:13 +09:00
Peter Barker
f94e36a806
AP_BattMonitor: use corrected version of send_to_components
2019-12-16 13:56:10 +09:00
Peter Barker
865937306c
GCS_MAVLink: correct encoding used for send_to_components
...
These have to be packed onto the channel - otherwise they may ge
tencoded as mavlink1 instead of mavlink2 (or vice-versa)
2019-12-16 13:56:08 +09:00
Andrew Tridgell
cf99227a8c
AP_BattMonitor: added Durandal selection for batt mon pins
2019-12-16 13:54:33 +09:00
bnsgeyer
ca10788533
AP_Motors: tradheli- fix metadata
2019-12-16 13:53:43 +09:00
Randy Mackay
3b024cc476
AP_Terrain: leave ENABLE as 1 if memory alloc fails
2019-12-16 13:53:12 +09:00
Randy Mackay
51b5fac511
AP_Arming: add mission and rangefinder to param desc
2019-12-16 13:53:09 +09:00
Randy Mackay
ff7a21333d
AP_Arming: add terrain init check to system checks
2019-12-16 13:53:01 +09:00
Randy Mackay
5bb6ada292
AP_Terrain: add init_failed
...
allows external caller to determine if terrain database failed to initialise
2019-12-16 13:52:58 +09:00
Randy Mackay
356a5fcc5a
AP_Terrain: constify get_statistics and bitount64
2019-12-16 13:52:55 +09:00
Andrew Tridgell
fc61cf3d3c
HAL_ChibiOS: support LEDs with a wider range of frequencies
...
this fixed LEDs on FMUv5 boards on first 4 aux channels. We need to
round up not round down in the resulting bitrate
2019-12-16 13:52:17 +09:00
Andrew Tridgell
146daf8cef
AP_SerialManager: don't show parameters for serial ports that don't exist
...
saves a bit of user confusion
2019-12-16 13:51:42 +09:00
Andrew Tridgell
49eb2de591
HAL_ChibiOS: setup define for number of serial ports
2019-12-16 13:51:39 +09:00
Michel Pastor
abdfbcf504
AP_Baro: fix PROBE_EXT parameter description
2019-12-16 13:51:00 +09:00
bnsgeyer
0afd4d75f4
AP_Motors: tradheli - TAIL_SPEED metadata correction
2019-12-16 13:50:29 +09:00
Andrew Tridgell
096a624301
HAL_ChibiOS: retain OPENDRAIN if set on a pin
...
this allows OPENDRAIN when set on a pin to be retained when set with a
pinMode(). This fixes a partially lit B/E LED on the Pixhawk4
2019-12-16 13:49:42 +09:00
Andrew Tridgell
ffe642a530
AP_GPS: fixed TMODE config issue on non-F9 GPS
...
thanks to Michel Pastor for reporting this
2019-12-16 13:48:41 +09:00
Randy Mackay
cb983913be
AP_Terrain: minor comment fix
2019-12-16 13:41:50 +09:00
Randy Mackay
f18e44616c
AC_Fence: relax sys-status healthy reporting
2019-12-16 13:39:59 +09:00
Randy Mackay
9211ac76a3
AP_LandingGear: send-text only if servo output has been configured
2019-12-16 13:39:29 +09:00
Andrew Tridgell
aca7d67172
HAL_ChibiOS: enable MatekF765 LED pin
...
- use tonealarm for buzzer
- add more baro options
2019-12-16 13:38:21 +09:00
Andrew Tridgell
2a425fe88f
AP_Scripting: re-gen
2019-12-16 13:37:44 +09:00
Andrew Tridgell
1858ebcefc
AP_SerialLED: check for valid channel
2019-12-16 13:37:41 +09:00
Andrew Tridgell
6cfb230e14
AP_Scripting: fixed chan check in LED bindings
2019-12-16 13:37:37 +09:00
Andrew Tridgell
c527d1bb78
AP_Scripting: added example script for LEDs
...
show LED values based on roll
2019-12-16 13:37:34 +09:00
Andrew Tridgell
8bf1117197
AP_Scripting: re-gen bindings
2019-12-16 13:37:32 +09:00
Andrew Tridgell
058f3677a0
AP_Scripting: added bindings for LEDs
2019-12-16 13:37:29 +09:00
Andrew Tridgell
4d56e295f4
AP_Scripting: increase default heap size
...
we will need a better fix than this. Adding a couple of bindings costs
us nearly 1k of ram even if unused
2019-12-16 13:37:26 +09:00
Andrew Tridgell
d22927d7ae
SRV_Channel: added singleton access for Lua
2019-12-16 13:37:24 +09:00
Andrew Tridgell
90a9a7c153
AP_Notify: implement SITL serial LEDs
2019-12-16 13:37:21 +09:00
Andrew Tridgell
33755b9da0
HAL_SITL: support simulated serial LEDs
2019-12-16 13:37:19 +09:00
Andrew Tridgell
b31fe356af
SITL: added LED state
2019-12-16 13:37:16 +09:00
Andrew Tridgell
ed94bf682d
AP_SerialLED: added library API to access WS2812 LEDs
...
used by Lua scripting
2019-12-16 13:37:09 +09:00
Andrew Tridgell
b47bb11a5f
AP_InertialSensor: updated for heater changes
2019-12-16 13:35:33 +09:00
Andrew Tridgell
6d2d6d7454
AP_IOCMU: added singleton in AP namespace
2019-12-16 13:35:28 +09:00
Andrew Tridgell
42c82ac319
HAL_ChibiOS: removed heater control
2019-12-16 13:35:22 +09:00
Andrew Tridgell
952485c51b
AP_BoardConfig: moved heater PI to AP_BoardConfig
...
and made tunable
2019-12-16 13:35:18 +09:00
Andrew Tridgell
3b63a8a2c3
AC_PID: added AC_PI controller
...
will be used by IMU heater
2019-12-16 13:35:15 +09:00
Peter Barker
7df56a8533
GCS_MAVLink: check reply channel for space rather than current channel
2019-12-16 13:34:23 +09:00
Andrew Tridgell
8d18b973ff
GCS_MAVLink: added ftp_push_replies()
2019-12-16 13:33:42 +09:00
Andrew Tridgell
7591e33f5a
GCS_MAVLink: fixed comment
2019-12-16 13:33:36 +09:00
Andrew Tridgell
91760f02fb
AP_Filesystem: make unlink do both directories and files on posix
...
match FATFS behaviour
2019-12-16 13:33:32 +09:00
Andrew Tridgell
786e3d49e9
GCS_MAVLink: fixed session handling for ftp
2019-12-16 13:33:29 +09:00
Andrew Tridgell
33754fd107
GCS_MAVLink: rename emit_dir_entry to gen_dir_entry
...
comment from Sid
2019-12-16 13:33:24 +09:00
Andrew Tridgell
81bf1dffb2
GCS_MAVLink: fixes from my review
2019-12-16 13:33:19 +09:00
Michael du Breuil
bc8175940e
GCS_MAVLink: Initial FTP support
2019-12-16 13:33:08 +09:00
Michael du Breuil
2b7a5215af
AP_Terrain: Don't include all of AP_FS
2019-12-16 13:33:03 +09:00
Michael du Breuil
917f9098fc
AP_Filesystem: Split the available define to it's own header
2019-12-16 13:32:57 +09:00
Michael du Breuil
9592441632
AP_Filesystem: Add dir type to fatfs
2019-12-16 13:32:48 +09:00
Andrew Tridgell
f62b6bfd18
HAL_ChibiOS: enable advanced timers if we have any N PWM channels
2019-12-16 13:31:25 +09:00
yaapu
3640568231
Ap_Frsky_Telem: replaced the passthrough scheduler with a WFQ one.
...
This replaces the default scheduler with a WFQ one
2019-12-16 13:29:56 +09:00
Luke.Qin
e72b5ff9cd
AC_PosControl: fix minor bug for set_max_speed_z() to really do numeric check.
2019-11-26 18:20:50 +08:00
Andrew Tridgell
c11a6030d3
HAL_ChibiOS: fixed SPI timeout bug
...
thanks to CUAV for noticing
2019-11-03 08:14:41 +09:00
Andrew Tridgell
a140ab1415
AP_BLHeli: fixed critical errors caused by BLHeli code
2019-11-01 08:51:53 +09:00
Leonard Hall
bd34c7745a
AP_Motors: yaw headroom fix
2019-10-31 20:12:34 +09:00
Leonard Hall
f61a6c81fe
AC_AttitudeControl: limit ATC_MOT_MIX_MAX in case of a fly away
2019-10-31 20:12:23 +09:00
Leonard Hall
6d09807b35
Heli: Prevent loss of yaw control during large angle recovery
2019-10-31 20:11:43 +09:00
Leonard Hall
2038a6a61b
AC_AttitudeControl: Prevent loss of yaw control during large angle recovery.
2019-10-31 20:11:39 +09:00
Randy Mackay
668b30e8e9
AP_BLHeli: minor style fix for get_average_moto_frequency_hz
2019-10-31 20:10:39 +09:00
Andy Piper
ca19be9d7c
AP_InertialSensor: expose harmonic notch tracking mode
2019-10-31 20:10:36 +09:00
Andy Piper
78d9330a4a
AP_BLHeli: add get_average_motor_frequency_hz() for dynamic filtering
...
correctly calculate rpm from erpm
2019-10-31 20:10:33 +09:00
Andy Piper
3b6598b0e9
Filter: add harmonic notch dynamic tracking mode
...
update harmonic notch REF docs
2019-10-31 20:10:28 +09:00
Leonard Hall
90601404b5
AP_Motors: Add full yaw range calculation back
2019-10-31 20:09:13 +09:00
Leonard Hall
485584f732
AP_Motors: Freeze motor lost index on enabling thrust boost
2019-10-31 20:09:09 +09:00
Randy Mackay
8adddcc8b8
AP_NavEKF3: initialise pre-arm failure message
2019-10-31 20:08:41 +09:00
Randy Mackay
ae661ada20
AP_NavEKF2: initialise pre-arm failure message
2019-10-31 20:08:38 +09:00
Siddharth Purohit
8b09d82014
HAL_ChibiOS: fix writing into a NULL pointer CANFD interrupt
2019-10-31 20:08:21 +09:00
Randy Mackay
0ac53a7df4
GCS_MAVLink: mission item support more mav frames
2019-10-31 20:08:01 +09:00
Andrew Tridgell
3b376e5af0
AP_Compass: remove expected error
...
this happens with AK09916 probing on invensense sensor
2019-10-31 20:07:04 +09:00
Mark Whitehorn
2ffca3fe6b
AP_NavEKF2: add prearm failure message for null core pointer
2019-10-31 20:05:36 +09:00
Mark Whitehorn
3de365626d
AP_NavEKF3: add prearm failure message for null core pointer
2019-10-31 20:05:33 +09:00
Andrew Tridgell
824d986dcb
HAL_ChibiOS: fixed build of sparky2
...
running out of flash
2019-10-31 20:05:17 +09:00
vierfuffzig
7fd3364304
AP_BLHeli: fix eRPM conversion
2019-10-31 20:03:03 +09:00
Andrew Tridgell
6f9fda5094
HAL_ChibiOS: removed CAN_APP_VERSION_MAJOR from hwdef.dat
2019-10-25 13:52:43 +11:00
Michael du Breuil
0edc8a55a0
AP_Scripting: Add plane failsafe example script
2019-10-25 08:48:22 +08:00
Michael du Breuil
610dff61d8
AP_Scripting: Fix nullable arguments numbering, add location bearing
2019-10-25 08:48:22 +08:00
Michael du Breuil
a99f67fd5b
AP_Common: Add a radian method for getting location bearings
2019-10-25 08:48:22 +08:00
Michael du Breuil
82a7116142
AP_Scripting: Allow scripts to set the mode
2019-10-25 08:48:22 +08:00
Michael du Breuil
c369139be0
AP_Logger: Support new ModeReason
2019-10-25 08:48:22 +08:00
Michael du Breuil
cb1b236439
GCS_MAVLink: Use the vehicle singleton to directly set the flight mode
2019-10-25 08:48:22 +08:00
Michael du Breuil
a44a7f541b
AP_Vehicle: Support set_mode
2019-10-25 08:48:22 +08:00
Peter Barker
0f4337b7b1
AP_HAL_Linux: release mutex lock before calling write(c)
...
It instantly tries to take it, but we're still holding it, leading to
instant failure.
This mirrors the same code in AP_HAL_ChibiOS.
2019-10-25 11:38:16 +11:00
Andrew Tridgell
2818151a39
AP_RangeFinder: disable some incompatible drivers for AP_Periph
2019-10-25 09:35:27 +11:00
Andrew Tridgell
1bf037297d
HAL_ChibiOS: set correct APJ_BOARD_ID for ZubaxGNSS
2019-10-25 09:35:27 +11:00
Andrew Tridgell
83eeca2586
AP_Scripting: fixes for modified AP_ROMFS API
...
need to use AP_ROMFS::free()
2019-10-24 22:03:43 +11:00
Andrew Tridgell
c4d78a7d8c
AP_OSD: fixes for modified AP_ROMFS API
...
need to use AP_ROMFS::free()
2019-10-24 22:03:43 +11:00
Andrew Tridgell
ef1aaa6db0
AP_IOMCU: fixes for modified AP_ROMFS API
...
need to use AP_ROMFS::free()
2019-10-24 22:03:43 +11:00
Andrew Tridgell
1a1d7e0525
AP_ROMFS: support uncompressed romfs data
2019-10-24 22:03:43 +11:00
Andrew Tridgell
49e669aa1f
HAL_ChibiOS: support uncompressed bootloader on f103-periph
...
this allows update with very low memory
2019-10-24 22:03:43 +11:00
Andrew Tridgell
cffb434de8
HAL_ChibiOS: tweak stack on f103-periph
2019-10-24 22:03:43 +11:00
Andrew Tridgell
a3b61a1b02
HAL_ChibiOS: enable ROMFS for ZubaxGNSS and f103-periph
...
this allows for bootloader update
2019-10-24 22:03:43 +11:00
Andrew Tridgell
513e483821
AP_Compass: disable HIL for AP_Periph
...
this saves several k of flash
2019-10-24 22:03:43 +11:00
Andrew Tridgell
a224342b18
HAL_ChibiOS: enable ROMFS for CUAV_GPS
2019-10-24 22:03:43 +11:00
Andrew Tridgell
14cdac9202
AP_GPS: fixed GPS to UART mapping
...
this allows for first GPS as UAVCAN and 2nd as UART. That is not
possible currently unless you waste a uart
2019-10-24 14:37:30 +11:00
Peter Barker
f6b6aa68ed
AP_Scripting: add a hello world example
2019-10-24 13:50:51 +11:00
Peter Barker
099379713c
AP_Scripting: add simple example of a loop
2019-10-24 13:50:51 +11:00
Peter Barker
c30873097a
AP_Logger: use ahrs singleton to log ATT, POS and AHRS2
2019-10-24 13:15:46 +11:00
Vlad-Andrei Dorobantu
d7132928d1
Copter: corrected undefined data member causing linking error
2019-10-24 10:00:35 +11:00
Randy Mackay
01c36fa6aa
AP_Compass: LEARN param default to 0 for all vehicles
2019-10-23 17:15:57 +11:00
Peter Hall
43449a4adb
AR_WPNav: remove unneeded overshoot methods
2019-10-23 08:28:39 +08:00
Andrew Tridgell
f69be70772
HAL_ChibiOS: save some memory in f103-periph build
2019-10-22 17:51:24 +11:00
Randy Mackay
b4a8691a9e
AP_NavEKF3: remove wheel encoder update limit
2019-10-22 07:15:48 +08:00
Randy Mackay
63309c6925
AP_NavEKF3: suppress ekf fail-to-set-origin if core disabled
2019-10-22 07:15:48 +08:00
Randy Mackay
e32a8556b2
AP_NavEKF2: suppress ekf fail-to-set-origin if core disabled
2019-10-22 07:15:48 +08:00
Randy Mackay
353cb648f6
AP_RPM: rename px4-pwm to just pwm
2019-10-22 07:15:48 +08:00
Peter Barker
e84082a099
AP_Logger: canonicalize on STANDBY rather than STANDY_BY
2019-10-21 21:22:17 +08:00
Peter Barker
3bec1c7d4f
RC_Channel: correct description of standby option
...
Also canonicalise on STANDBY rather than STANDBY
2019-10-21 21:22:17 +08:00
Andrew Tridgell
0a4576728e
HAL_ChibiOS: support a app->bootloader comms region in SRAM
...
this allows for UAVCAN update without a 2nd BeginFirmwareUpdate call
2019-10-21 19:12:01 +11:00
Andrew Tridgell
5605ad6c59
HAL_ChibiOS: enable MissionPlanner compatible app descriptor
2019-10-21 19:12:01 +11:00
Andrew Tridgell
6b841e781c
HAL_ChibiOS: pat watchdog immediately in expect_delay_ms()
...
this fixes a watchdog issue on AP_Periph if we don't have a timer
thread
2019-10-21 19:12:01 +11:00
Andrew Tridgell
7973a25c40
HAL_ChibiOS: fixed stack on ZubaxGNSS
2019-10-21 19:12:01 +11:00
Andrew Tridgell
910129eafc
HAL_ChibiOS: enable watchdog in AP_Periph firmwares
2019-10-21 19:12:01 +11:00
Andrew Tridgell
e392416942
AP_BoardConfig: allow enable of watchdog in hwdef.dat
...
this will be used for AP_Periph
2019-10-21 19:12:01 +11:00
Andrew Tridgell
40431100a9
AP_Flashstorage: fixed init bug on F1
...
we can't mark available just before we mark in use on F1
2019-10-21 19:12:01 +11:00
Andrew Tridgell
5efaea2d92
HAL_ChibiOS: fixed flash storage in ZubaxGNSS
2019-10-21 19:12:01 +11:00
Andrew Tridgell
e376884377
HAL_ChibiOS: fixed Zubax bootloader debug
2019-10-21 19:12:01 +11:00
Andrew Tridgell
1f06aa069e
HAL_ChibiOS: fixed uprintf() in bootloader
2019-10-21 19:12:01 +11:00
Andrew Tridgell
e6cb35090c
HAL_ChibiOS: fixed page size for STM31F105 flash
2019-10-21 19:12:01 +11:00
Andrew Tridgell
0ef2a60682
HAL_ChibiOS: support ZubaxGNSS as a AP_Periph target
2019-10-21 19:12:01 +11:00
Andrew Tridgell
44f895ab16
HAL_ChibiOS: fixed for ZubaxGNSS build
2019-10-21 19:12:01 +11:00
Andrew Tridgell
8c796ecd2c
HAL_ChibiOS: support f103-RangeFinder
2019-10-21 19:12:01 +11:00
Andrew Tridgell
ca1bd8be3c
AP_RangeFinder: disable logging for AP_Periph
2019-10-21 19:12:01 +11:00
Andrew Tridgell
3cd7dd9f12
HAL_ChibiOS: disable GPS and MAG in base f103 build
...
enable in f103-GPS
2019-10-21 19:12:01 +11:00
Andrew Tridgell
282936eab2
AP_RangeFinder: allow for less rangefinder instances
...
for AP_Periph
2019-10-21 19:12:01 +11:00
Andrew Tridgell
3ca478747c
HAL_ChibiOS: enable airspeed in f103-ADSB
2019-10-21 19:12:01 +11:00
Andrew Tridgell
f51378f2e8
AP_Airspeed: enable for use in AP_Periph
2019-10-21 19:12:01 +11:00
Andrew Tridgell
fa6b6140e3
HAL_ChibiOS: split out f103-GPS from base f103-periph
...
this makes it easier to create more peripheral variants
2019-10-21 19:12:01 +11:00
Tom Pittenger
bbd6f3aa6c
SITL: morse simulator should generate packets from same vehicle sysid
2019-10-21 14:29:30 +09:00
Henry Wurzburg
119f0a95ad
RC_Channel: added RC option for new takeoff mode
2019-10-21 08:41:58 +11:00
Mirko Denecke
b84dcd483d
AP_HAL_ChibiOS: remove unnecessary tabs and whitespaces
2019-10-21 08:01:56 +11:00
Mirko Denecke
12c9e50aef
AP_IOMCU: remove unnecessary tabs and whitespaces
2019-10-21 07:57:44 +11:00
Andrew Tridgell
e90bd27435
HAL_ChibiOS: fixed I2C on F103
...
we need to use open-drain, and the sign of the constant matters
2019-10-20 20:31:02 +11:00
Andrew Tridgell
6f11926dbd
HAL_ChibiOS: enable NCP5623 LED in f103-GPS
2019-10-20 20:31:02 +11:00
Jaaaky
54f8e1137e
AP_NavEKF3: added EK3_MAG_EF_LIM parameter
...
Adapted from EKF2 implementation as of commits
3835d2613
, e9ed3540f
and df4fc0fff
this sets a limit on the difference between the earth field from the
WMM tables and the learned earth field inside the EKF. Setting it to
zero disables the feature. A positive value sets the limit in mGauss.
2019-10-20 07:34:35 +11:00
Vlad-Andrei Dorobantu
83c641c76f
AP_Compass: corrected the cause of SIGSEGV signal when running AP_Compass_test
2019-10-19 09:58:42 +11:00
Siddharth Purohit
eff316dd6b
AP_KDECAN: update prearm method to support snprintf methods
2019-10-19 09:55:38 +11:00
Siddharth Purohit
9b2c060cc5
AP_Arming: add support for reporting UAVCAN Server errors
2019-10-19 09:55:38 +11:00
Siddharth Purohit
fb48d8ee1b
AP_Math: add method for generating hash
2019-10-19 09:55:38 +11:00
Siddharth Purohit
2b410479af
HAL_ChibiOS: remove unused code
2019-10-19 09:55:38 +11:00
Siddharth Purohit
4034af6ef1
StorageManager: add storage aread for CAN Dynamic Node Alloc
2019-10-19 09:55:38 +11:00
Siddharth Purohit
9bd379e236
AP_UAVCAN: setup uavcan server with internal storage
2019-10-19 09:55:38 +11:00
Peter Barker
aae524b9d5
AP_Mission: add sanity check that 16-bit commands aren't stored_in_location
...
This is a rather confusing problem when it happens during development,
so a sanity check is good. What you see in dev is that your latitude
gets corrupted between when you store and retrieve it, with no warnings
that you're doing something wrong.
2019-10-18 15:16:21 +11:00
Randy Mackay
dee4e867e4
AP_Logger: add vibration failsafe error subsystem
2019-10-18 11:15:25 +09:00
Leonard Hall
e5f724bc3a
AC_PosControl: add high vibration compensation
2019-10-18 11:15:25 +09:00
Randy Mackay
0052dcc8f8
AC_PID: update pid_info when integrator set
2019-10-18 11:15:25 +09:00
Randy Mackay
adf4d8fd47
AP_InertialNav: use ekf::get_vert_pos_rate during high vibration
2019-10-18 11:15:25 +09:00
Randy Mackay
5baed38266
AP_NavEKF3: reduce EK3_HRT_FILT max to 30
2019-10-18 11:15:25 +09:00
Paul Riseborough
5b1d9ed868
AP_NavEKF3: Add missing vertical position derivative calculation
2019-10-18 11:15:25 +09:00
Randy Mackay
e2d3afaaa7
AP_NavEKF2: reduce EK2_HRT_FILT max to 30
2019-10-18 11:15:25 +09:00
Paul Riseborough
c26c6fd078
AP_NavEKF2: Add missing vertical position derivative calculation
...
Use a third order order complementary filter to estimate the rate of change of vertical position output.
2019-10-18 11:15:25 +09:00
Randy Mackay
4a1247b9f7
AP_AHRS: add get_innovations
2019-10-18 11:15:25 +09:00
Leonard Hall
05f1161e63
RC_Channel: Support for Standby functions
2019-10-17 14:57:18 +09:00
Leonard Hall
e8e969af62
AP_Logger: Support for Standby functions
2019-10-17 14:57:18 +09:00
Leonard Hall
5acfc77a3c
AC_AttitudeControl: Support for Standby functions
2019-10-17 14:57:18 +09:00
Michael du Breuil
3274398bc2
AP_Scripting: Fix up uint32_t manipulation, fix AP_Notify
...
This also adds a touched up version of the foxhunt demo that was done at
the 2019 developer unconf
2019-10-16 21:57:41 -07:00
Andrew Tridgell
c03796d7de
GCS_MAVLink: fixed uninitialised bytes in send_named_float()
...
this fixes an issue with mavproxy with python3
2019-10-17 13:50:35 +11:00
Peter Barker
49687d4e5d
AP_HAL_SITL: ToneAlarm doesn't play tones if disabled via param
2019-10-16 16:00:35 +11:00
Peter Barker
47fbf70e85
SITL: create SITL tonealarm files to hold enable parameter
2019-10-16 16:00:35 +11:00
Peter Barker
d6f10a12eb
AP_Notify: add a simulated buzzer for SITL
2019-10-16 16:00:35 +11:00
Peter Barker
111c17d0b4
AP_HAL_SITL: add a simulated buzzer
2019-10-16 16:00:35 +11:00
Peter Barker
32ec6d7e9a
SITL: add a simulated buzzer
2019-10-16 16:00:35 +11:00
Andrew Tridgell
df90cee8a0
AP_ADSB: added handle_adsb_vehicle() API
...
this allows for UAVCAN ADSB adapters
2019-10-16 13:13:24 +11:00
Andrew Tridgell
8650229ad4
AP_ADSB: added singleton interface
2019-10-16 13:13:24 +11:00
Andrew Tridgell
16bc7f800e
AP_UAVCAN: support ADSB over UAVCAN
2019-10-16 13:13:24 +11:00
Andrew Tridgell
b9885034b1
HAL_ChibiOS: added a f103-ADSB firmware
...
for presenting a ping ADSB device as UAVCAN
2019-10-16 13:13:24 +11:00
Andrew Tridgell
85271a8747
HAL_ChibiOS: split out f103-GPS from base f103-periph
...
this makes it easier to create more peripheral variants
2019-10-16 13:13:24 +11:00
Michael du Breuil
e54acb8bde
AP_Scripting: Add an example message interval script
2019-10-16 09:48:55 +09:00
Michael du Breuil
076cf0bdc8
AP_Scripting: Add a one arg variant of uint32_t, and expose table unpack
2019-10-16 09:48:55 +09:00
Bill Geyer
63d9b47530
AP_Motors: make init_targets_on_arming global
2019-10-16 08:17:09 +09:00
bnsgeyer
d1a0635ec2
AC_AttitudeControl: incorporate SysID into tradheli
2019-10-16 08:17:09 +09:00
Leonard Hall
0834726b48
AC_AttitudeControl: Support System ID tests
2019-10-16 08:17:09 +09:00
Andrew Tridgell
b7ae12a9d3
HAL_ChibiOS: reduce max compasses to 1 on AP_Periph
2019-10-16 08:58:52 +11:00
Andrew Tridgell
7ad91fa1c9
AP_Compass: don't show too many params when max compasses 1
2019-10-16 08:58:52 +11:00
Michael du Breuil
a80ff80061
AP_Motors: Fix safe disarm
2019-10-16 08:46:49 +11:00
Leonard Hall
6e8413f122
AP_Motors: Use safety timer to enable pwm before spool up
2019-10-16 08:46:49 +11:00
Michael du Breuil
df8c9e5825
AP_Scripting: Raise default heap size
2019-10-15 15:35:12 -06:00
Michael du Breuil
cf94a02207
AP_Scripting: Stop running scripts if the enable flag ever goes false
2019-10-15 15:35:12 -06:00
Peter Barker
9fee2a9c06
AP_Vehicle: add singleton
2019-10-15 13:24:20 +11:00
Leonard Hall
d4b922336b
Copter: add voltage compensation to _throttle_thrust_max
2019-10-15 10:45:36 +09:00
Andrew Tridgell
00260db65a
AP_GPS: fixed UAVCAN GPS status when disconnected
...
this fixes the status reported for a UAVCAN GPS when the cable is
unplugged. It should be "NO GPS", but was instead reporting "NO
FIX". The user had no way to distinguish between not finding a CAN GPS
at all and it not getting satellites
thanks to CUAV for reporting
2019-10-14 19:08:37 -06:00
murata
000aa4f515
AP_RangeFinder: Add TF03-180
2019-10-15 10:07:53 +09:00
Randy Mackay
6588c93e44
SRV_Channel: renamed EPM to Gripper in FUNCTION param docs
2019-10-15 09:11:06 +09:00
Andrew Tridgell
c2067d5bc2
AP_NavEKF3: set a min yaw accuracy from GPS of 5 degrees
...
GPS modules tend to be rather optimistic about their yaw accuracy. By
setting a min or 5 degrees we prevent the user constantly getting
warnings about yaw innovations
2019-10-15 11:06:11 +11:00
Andrew Tridgell
37fb028532
AP_GPS: improved checking for valid yaw for moving baseline
...
and fixed check for carrSolnFixed
2019-10-15 11:06:11 +11:00
Michael du Breuil
2587b13ae7
AP_GPS: UBLOX: Parse RELPOSNED messages
...
This does not yet:
- validate the receiver configuration
- manage timing out stale GPS heading info
- relPosNormalized usage isn't clear, which may defeat the STRICT_LENGTH_CHECK
2019-10-15 11:06:11 +11:00
Michael du Breuil
cb5bba8379
AP_Logger: Log GPS yaw accuracy
2019-10-15 11:06:11 +11:00
Michael du Breuil
f0e742caa3
AP_Scripting: Fix generation of uint32_t arguments
...
This also fixes the message interval description not generating
correctly, it must have been manually edited before
2019-10-14 17:51:54 -06:00
Andrew Tridgell
97dc76732c
HAL_ChibiOS: drop mRoControlZeroF7 DPS310 clock to 5MHz
2019-10-15 10:22:15 +11:00
Andrew Tridgell
94418ca70e
AP_Baro: added register checking and reset to DPS280 driver
...
this is to fix an issue found on a mRoControlZeroF7
2019-10-15 10:22:15 +11:00
Randy Mackay
7ce2fb8783
GCS_Mavlink: handle_preflight_reboot made virtual
2019-10-15 07:41:44 +09:00
Henry Wurzburg
c515f4b317
AP_HAL_ChibiOS/hwdef: update KakuteF4 readme
2019-10-14 10:04:30 +11:00
Andy Piper
28b866cc8f
AP_HAL_ChibiOS: hardware definitions for Kakute F7 Mini
2019-10-12 21:53:55 +11:00
liang
8de44ec319
AP_Airspeed: protect sample timestamp while get data
2019-10-12 18:15:06 +11:00
Michael du Breuil
05d104675e
AP_Logger: Fix logging of current on non primary instances
2019-10-11 08:39:28 +11:00
Andy Piper
ef7f8531fb
Filter: set the harmonic notch filter ref default to zero (disabled)
...
Modify parameter descriptions for tradheli
2019-10-10 20:26:02 +09:00
Leonard Hall
4a1a5e81ea
AP_Motors: Add variable to record the final thrust value
...
Add Throttle_Out for other frames
2019-10-10 20:26:02 +09:00
Andrew Tridgell
d6e17b0c2b
AP_InertialSensor: publish an IMU temperature
...
makes testing of mavlink extension easier
2019-10-10 13:23:03 +11:00
Andrew Tridgell
29e65a7294
GCS_MAVLink: supply IMU temperature in mavlink extensions
2019-10-10 13:23:03 +11:00
Do Carmo Lucas
dc4ad26e96
GCS_MAVLink: updates to support the latest stable mavlink changes (IMU temperature extension)
2019-10-10 13:23:03 +11:00
Andrew Tridgell
77bf67e15f
HAL_ChibiOS: fixed padding of neopixel bits
...
lack of padding at start caused occasional glitches in colors
displayed
2019-10-10 10:41:19 +11:00
Peter Barker
25fd04d402
AP_Proximity: declare RangeFinder as a class to avoid circular include issue
2019-10-08 11:26:04 +11:00
Peter Barker
9aaa6c49fa
AP_BoardConfig: correct include of AP_Vehicle_Type
2019-10-08 11:26:04 +11:00
Peter Barker
083d4ac3ea
DataFlash: adjust for new vehicle base class
2019-10-08 11:26:04 +11:00
Peter Barker
405bf0ce7f
AP_Mission: adjust for new vehicle base class
2019-10-08 11:26:04 +11:00
Peter Barker
8e412d0885
AP_Compass: adjust for new vehicle base class
2019-10-08 11:26:04 +11:00
Peter Barker
cf201afdf6
AP_AccelCal: adjust for new vehicle base class
2019-10-08 11:26:04 +11:00
Peter Barker
8bb51f4b7d
AC_AttitudeControl: adjust for new vehicle base class
2019-10-08 11:26:04 +11:00
Peter Barker
1ea365d52a
AP_Vehicle: move many members up to base class
2019-10-08 11:26:04 +11:00
Peter Barker
a6b6bb99f3
AP_NMEA_Output: skip sending sentences if no space on UART
...
AP_NMEA_Output: clean scope by removing unneeded temps
AP_NMEA_Output: redo last_sent to last_run
AP_NMA_Output: early-exit if no data
2019-10-08 11:07:19 +11:00
Peter Barker
5428d13502
AP_Arming: remove bogus ARMING_CHECK_NONE 'bitmask value'
...
This looks like a bitmask value, but if you treat it like one (and
people have in the past!) by using logical operations then you get the
incorrect result.
Places which were checking for equivalence to ARMING_CHECK_NONE now
simply check the bitmask to see if it is all-empty.
2019-10-08 10:31:07 +11:00
murata
371f11b7f4
AP_Motors: Change to description(NFC)
2019-10-08 08:26:17 +09:00
Andrew Tridgell
4866fd68b5
AP_BoardConfig: fixed CAN init without SLCAN
2019-10-08 10:02:14 +11:00
Andrew Tridgell
15d98220e0
AP_HAL: enabled SLCAN on fmuv2 and Pixhawk1-1M
...
this fits for now, and is needed for CAN GPS for now
2019-10-08 10:02:14 +11:00
Andrew Tridgell
08b3bc4506
AP_UAVCAN: cleanup ifdefs for SLCAN enable
2019-10-08 10:02:14 +11:00
Andrew Tridgell
53fab5767f
AP_HAL: cleanup ifdefs for SLCAN enable
2019-10-08 10:02:14 +11:00
Andrew Tridgell
15e4641e51
AP_HAL_ChibiOS: cleanup ifdefs for SLCAN enable
2019-10-08 10:02:14 +11:00
Andrew Tridgell
6b3c10f0e7
AP_BoardConfig: cleanup ifdefs for SLCAN enable
2019-10-08 10:02:14 +11:00
Henry Wurzburg
4a42a3a23a
Rover: implement steering trim save in armed/manual mode only
2019-10-08 07:41:57 +09:00
vierfuffzig
cb054e714b
AP_RTC: add local time support
2019-10-07 19:55:42 +11:00
vierfuffzig
1f9b2f712e
AP_OSD: add clock panel
2019-10-07 19:55:42 +11:00
Randy Mackay
e4336551cd
AP_Follow: add clear_offsets_if_required method
...
this restores the offsets to zero if they were initialised from zero when the lead vehicle was first spotted
2019-10-07 08:30:45 +09:00
Ebin
f6c7ac88d0
SITL: Yaw rate calculation uses wheel offset
2019-10-07 07:31:53 +11:00
Peter Barker
e32d8ecda1
AP_WheelEncoder: add SITL backend
...
AP_WheelEncoder: added update function for SITL quadrature encoder
2019-10-07 07:31:51 +11:00
Peter Barker
4d17a7cf89
AP_Logger: tidy MessageWriter stages using enum class
2019-10-05 16:37:43 +10:00
Henry Wurzburg
880285dad4
AP_BLHeli: Change descriptions in SERVO_BLH_PORT param to actual AP port
2019-10-05 16:35:59 +10:00
Michel Pastor
dec5b97275
AP_Logger: fix logging on 256Mbit flash chips
2019-10-05 16:25:22 +10:00
Andrew Tridgell
39182e70e4
AP_Motors: enable docs for hover thr learning in plane
2019-10-04 14:01:08 +10:00
Michel Pastor
49bf0a3057
AP_Logger: fix AP_Logger_Block::get_num_logs()
2019-10-04 12:49:16 +10:00
Randy Mackay
db7836ad48
AP_SmartRTL: fixup compile error
...
fix typo introduced by me attempting a minor fixup before merging
2019-10-04 10:01:49 +09:00
Peter Barker
fd0a8b72b4
AP_Logger: correct uninitialised value when logging all rally points
2019-10-04 10:39:01 +10:00
Henry Wurzburg
13e66e9f7c
AP_SmartRTL: give warning buffer is about to fill-up
2019-10-04 08:57:30 +09:00
Andrew Tridgell
555f56a8af
HAL_ChibiOS: removed wait on CAN peripheral in H7
...
these wait busy loops can take a very long time, and end up causing
interrupts to be lost elsewhere in the system, causing lost bytes on
UARTs
We should not have while loops waiting on peripharals like this. If we
do need to wait for a flag to clear then it needs to be done in a low
priority thread, or we need to check for completion in a timer
CAN still seems to work with this change, but needs flight testing
2019-10-03 15:26:47 +10:00
Henry Wurzburg
9717548cb5
AP_Follow: hide params not used by Rover
2019-10-03 07:18:47 +09:00
Andrew Tridgell
3ebc69320c
AP_Logger: fixed LOG_FILE_DSRMROT with delayed log stop
...
now that we persist logging for 15s after disarm we need to also delay
the log rotation if LOG_FILE_DSRMROT=1. Otherwise we will put the log
data into the next log, which defeats the purpose of the 15s
persistance
2019-10-03 07:17:16 +10:00
vierfuffzig
b89c60d5b0
AP_BLHeli: fix watchdog resets with telemetry active from non-multirotor motors
2019-10-02 21:06:22 +10:00
Randy Mackay
8686197c59
GCS_MAVLink: add comment above set-message-interval
2019-10-02 16:17:09 +09:00
Randy Mackay
3a113a31bb
GCS_MAVLink: minor fix to set_message_interval
2019-10-02 16:09:44 +09:00
Tatsuya Yamaguchi
5039bdc8ea
AP_Scripting: add set_message_interval binding
2019-10-02 16:09:44 +09:00
Tatsuya Yamaguchi
9a99d9bff5
GCS_MAVLink: add set_message_interval functions
2019-10-02 16:09:44 +09:00
Andrew Tridgell
ddde512b74
AP_Scheduler: use fill_nanf() on each scheduler function
2019-10-01 17:35:26 +10:00
Andrew Tridgell
cbe34320b5
AP_NavEKF2: fixed build
...
broken by recent common variable change
2019-10-01 17:35:26 +10:00
Andrew Tridgell
b9291d95f0
HAL_SITL: pre-fill stack on each loop with NaN
...
this allows us to catch use of uninitialised stack variables in SITL
without having valgrind running
2019-10-01 17:35:26 +10:00
Andrew Tridgell
66b4e92444
AP_Math: make fill_nanf() use a signalling NaN
...
we want use of these values to trigger a FPE
2019-10-01 17:35:26 +10:00
Andrew Tridgell
f79907bd1e
AP_NavEKF: fixed build with vector index checking
2019-10-01 15:39:03 +10:00
Andrew Tridgell
3995db49a4
AP_NavEKF3: use parent class for intermediate static variables
...
this makes the code faster as well as using less memory when both EK2
and EK3 are enabled
2019-10-01 15:39:03 +10:00
Andrew Tridgell
f7e138bddd
AP_NavEKF2: use parent class for intermediate static variables
...
this makes the code faster as well as using less memory when both EK2
and EK3 are enabled
2019-10-01 15:39:03 +10:00
Andrew Tridgell
688b01c6c6
AP_NavEKF: added a common parent class for EKF2 and EKF3 core classes
...
this provides a common location for static intermediate variables in
EK2 and EK3. This has a few benefits:
- the compiler can determine the address of the frequently accessed
variables at compile time, making them faster
- by sharing between EK2 and EK3 we save a lot of memory if both EK2
and EK3 are enabled
- we can fill all these with NaN in SITL on every loop, which allows
us to catch cases where the variables are ever re-used between
loops, which guarantees we aren't mixing data between EKF lanes or
between EK2 and EK3
2019-10-01 15:39:03 +10:00
IamPete1
3b9a35da27
AP_Motors: add reversed tricopter option
2019-10-01 09:39:08 +10:00
vierfuffzig
2af0be3947
AP_AHRS: fix custom orientation ToRad conversion
2019-10-01 09:35:09 +10:00
Andrew Tridgell
0deef76875
GCS_MAVLink: use HAL_MEM_CLASS for status sizes
2019-10-01 09:29:55 +10:00
Andrew Tridgell
889b18022b
AP_Logger: use HAL_MEM_CLASS for logging buffer size
2019-10-01 09:29:55 +10:00
Andrew Tridgell
3bf3ebb703
AP_Logger: try harder to use close to user buffer size
...
this stops us drastically reducing buffer size when low on memory
2019-10-01 09:29:55 +10:00
Andrew Tridgell
2d00298070
AP_HAL: added HAL_MEM_CLASS for amount of memory
2019-10-01 09:29:55 +10:00
Andrew Tridgell
47f2f1764d
HAL_ChibiOS: generate HAL_MEMORY_TOTAL_KB for each board
2019-10-01 09:29:55 +10:00
Peter Barker
13352a4ca7
AP_ADSB: move is_valid_octal to is_valid_callsign and add tests for it
2019-10-01 09:18:15 +10:00
Peter Barker
6fe09b6120
AP_Math: move is_valid_octal into adsb
...
This doesn't ensure the value is octal digits - there's more magic in
it.
2019-10-01 09:18:15 +10:00
Andrew Tridgell
1a34fccc71
AP_Proximity: fixed incorrect use of fabs()
2019-10-01 08:12:07 +09:00
Andrew Tridgell
e3a965272c
HAL_ChibiOS: added Pixhawk1-1M
...
this is for 1M versions of the Pixhawk1. It is smaller than fmuv2 as
it only links the specific sensors needed for Pixhawk1
2019-10-01 09:08:25 +10:00
Andrew Tridgell
b5217412f9
AP_GPS: fixed a bug in handling corrupt u-blox packets
...
when we have corrupt input due to loss of bytes on a UART we can end
up with a u-blox packet with zero payload bytes. When that happens we
need to bypass payload reading as otherwise we will end up keeping
reading bytes until the driver resets at 4 seconds, causing a GPS
outage.
This was causing GPS outages every few hours in copters running 3.6.7,
and was also reproduced in SITL using SIM_GPS_BYTELOSS.
2019-09-30 15:20:30 -06:00
Mark Whitehorn
0a6ae60c89
AP_IOMCU: fix IO fast channel mask
2019-10-01 07:13:33 +10:00
Mark Whitehorn
d8a07b6c44
HAL_ChibiOS: fix FMU fast_channel_mask
...
fix IO fast channel mask
use IOMCU chmask to only set right channels
remove unused variable
2019-10-01 07:13:33 +10:00
Andrew Tridgell
748cf39116
HAL_ChibiOS: disable DMA for RCIN on Pixracer
...
this frees up DMA for USART1_RX, which gives DMA for input over the
SERIAL5 WiFi port, which is important for applications where a
pixracer is being fed vision data over WiFi
2019-09-30 07:58:40 +10:00
mhefny
92d55fa126
SITL: removed unnecessary files of webots
2019-09-30 04:46:38 +10:00
Peter Barker
04ee459e8c
AP_Baro: exclude Sub pressure transducers from non-sub builds
2019-09-28 16:41:06 +10:00
Andrew Tridgell
c29867ecad
AP_Common: removed fcntl overrides
...
not needed with AP_Filesystem, and fixes lots of warnings with newer
compilers
2019-09-28 14:19:46 +10:00
Andrew Tridgell
81711eb28e
AP_HAL: fixed build on g++ 7.3 for stm32
...
the system maths headers don't like our maths defines, but are happy
if we include math.h first
2019-09-28 14:19:46 +10:00