Commit Graph

26627 Commits

Author SHA1 Message Date
bugobliterator 0b505c491c AP_CANManager: fix casting without ensuring alignment 2021-07-15 07:50:12 +10:00
bugobliterator e8e5f49640 AP_BLHeli: fix casting without ensuring alignment 2021-07-15 07:50:12 +10:00
Andy Piper 60b0df0a25 AP_HAL_ChibiOS: only control widest pulse for dshot and oneshot 2021-07-14 17:50:06 +10:00
Peter Barker 78e0e52542 SITL: add simulated ms5611 baro 2021-07-14 17:46:15 +10:00
Peter Barker b184341424 SITL: add subclass for MS5525 2021-07-14 17:46:15 +10:00
Peter Barker aa97c5b714 SITL: adjust MS5XXX to be new base class 2021-07-14 17:46:15 +10:00
Peter Barker 50d7fc353f SITL: rename SIM_MS5525 to SIM_MS5XXX 2021-07-14 17:46:15 +10:00
Andrew Tridgell 416c0724d2 AP_Common: use double precision for more location functions when available
this makes the location functions more accurate at long distances when
EKF double enabled
2021-07-14 17:34:40 +10:00
Andrew Tridgell 7550368fc7 HAL_SITL: update for changed SITL API 2021-07-14 17:34:40 +10:00
Andrew Tridgell 5eaf76cdc8 SITL: separate origin and home in SITL
this allows for accurate sensor data when flying a very long distance
from the takeoff location
2021-07-14 17:34:40 +10:00
Andrew Tridgell 6b73c2151a AP_NavEKF3: implement moving origin
this shifts EKF_origin to the current location at 1Hz, while leaving
public_origin alone. All output APIs and logging are relative to
public_origin.

The effect of this change is to remove the distortion caused by a
spherical earth, which allows the EKF to operate without errors at
very long distances from the public_origin.
2021-07-14 17:34:40 +10:00
Andrew Tridgell 3ded1e6c10 AP_Common: added ftype precision offset call 2021-07-14 17:34:40 +10:00
Peter Barker 7375d1949c SITL: add support for ms5525 i2c sensor 2021-07-13 12:00:37 +10:00
Randy Mackay 50ce79bcf6 AP_Torqeedo: simple driver to control torqeedo 1003 motor
includes fixes from peer review
2021-07-13 10:01:14 +09:00
Randy Mackay 7e68ce5c86 AP_SerialManager: add torqeedo to list of supported protocols
note that serial7_protocol and serial8_protocol param lists were missing 37:SmartAudio so this was also added
2021-07-13 10:01:14 +09:00
Randy Mackay 6c180994cd AP_Math: add support for crc8_maxim
Thanks to FastCRC
2021-07-13 10:01:14 +09:00
Hwurzburg 448ae368b1 RC_Channel: fix ELRS systems spamming CRSF mode/rate messages 2021-07-13 09:52:53 +10:00
Hwurzburg ceeabb85a5 AP_RCTelemetry: fix ELRS systems spamming CRSF mode/rate messages 2021-07-13 09:52:53 +10:00
Leonard Hall a32b5b3bb0 AC_AttitudeControl: Allow yaw rate reset to be de-selected 2021-07-13 09:51:36 +10:00
Peter Barker ddb7378bdd AP_Terrain: add setter for terrain-enabled
Currently only useful for unit test
2021-07-12 17:34:44 +10:00
Peter Barker fc2338612e AP_Common: stop setting terrain pointer in test_location
Also enable/disable as required for testing
2021-07-12 17:34:44 +10:00
Peter Barker 0a068d4d4b AP_Terrain: default terrain to off in Sub 2021-07-12 17:34:44 +10:00
Peter Barker f75e258606 SITL: SIM_Ship: correct GLOBAL_POSITION_INT message altitude 2021-07-12 17:34:44 +10:00
Peter Barker 05a0205c21 SITL: change to use terrain singleton 2021-07-12 17:34:44 +10:00
Peter Barker b625596dfa AP_Common: use singleton to access AP_Terrain data 2021-07-12 17:34:44 +10:00
Peter Barker 2d28c1065e AC_WPNav: use singleton to access AP_Terrain data 2021-07-12 17:34:44 +10:00
Peter Barker de404b1999 AP_Terrain: allow AP_TERRAIN_AVAILABLE to be set in hwdef
Use AP_TERRAIN_AVAILABLE instead
2021-07-12 17:34:44 +10:00
Andrew Tridgell 98fb4fcbe7 AP_NavEKF3: convert code_gen.py to ftype 2021-07-12 17:27:08 +10:00
Andrew Tridgell 44f098c86d AP_NavEKF3: convert powF(xx,2) calls to sq(xx) 2021-07-12 17:27:08 +10:00
Andrew Tridgell ae8dbe36bb AP_NavEKF3: convert EKF3 derivation to ftype 2021-07-12 17:27:08 +10:00
Andrew Tridgell 5f87335325 AP_Airspeed: review updates
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-07-12 17:14:59 +10:00
Andrew Tridgell 70bb470eb0 AP_Airspeed: fixed AP_Periph build 2021-07-12 17:14:59 +10:00
Andrew Tridgell 0bdd8231cf AP_Airspeed: added ARSPD_OPTIONS bit for disabling voltage correction
if the MS4525 has its own LDO then we are should disable the
correction
2021-07-12 17:14:59 +10:00
Andrew Tridgell ca1508b02e AP_Airspeed: added DEVID parameters for airspeed
this makes log analysis easier
2021-07-12 17:14:59 +10:00
Andrew Tridgell 7f85b413f2 AP_Airspeed: use GCS_SEND_TEXT instead of printf for sensor probe messages 2021-07-12 17:14:59 +10:00
Andrew Tridgell e6c7970a19 AP_Airspeed: support 3 I2C addresses for MS4525
and if bus number is configured then use only that bus number,
otherwise probe all buses as per existing behaviour
2021-07-12 17:14:59 +10:00
Peter Barker a52e823967 AP_HAL_SITL: implement read(buf, length) 2021-07-12 12:11:30 +10:00
Andy Piper 40ec8c723b AP_RCTelemetry: correct firmware string length for CRSF 2021-07-12 11:25:31 +10:00
Leonard Hall 59909970fa AC_WPNav: Remove unused function 2021-07-10 20:25:05 +09:00
Leonard Hall ac0b320922 AC_AttitudeControl: Add accessor for yaw slew limit 2021-07-10 20:25:05 +09:00
Leonard Hall e2b5d3d585 AC_AttitudeControl: AC_PosControl: support accel only input in the vertical 2021-07-10 20:25:05 +09:00
Leonard Hall e0e283f13e AC_AttitudeControl: AC_PosControl: support terrain following 2021-07-10 20:25:05 +09:00
Leonard Hall 7bc6c19306 AC_WPNav: seperate kinimatic shaping from pid limit setting 2021-07-10 20:25:05 +09:00
Leonard Hall 8a2f75d742 AC_AttitudeControl: AC_PosControl: seperate kinimatic shaping from pid limit setting 2021-07-10 20:25:05 +09:00
Leonard Hall 6e82bff55b AC_AttitudeControl: Add terain following to guided 2021-07-10 20:25:05 +09:00
Randy Mackay 430492469b AC_WPNav: get_terrain_offset and get_vector_NEU made public 2021-07-10 20:25:05 +09:00
Leonard Hall 620d066a2e AC_WPNav: move code to generate terrain following kinematic path 2021-07-10 20:25:05 +09:00
Leonard Hall de36398ebf AC_Math: Control: Support Accel only input 2021-07-10 20:25:05 +09:00
Leonard Hall b3acdd49d6 AC_AttitudeControl: AC_PosControl: Support Accel only input 2021-07-10 20:25:05 +09:00
Leonard Hall 8e084a0879 AC_AttitudeControl: AC_PosControl: Change input_pos_xyz name 2021-07-10 20:25:05 +09:00
Andrew Tridgell 75411afd21 AP_Math: added test for SCurve::calculate_path
this was the values shown in the core dump for failing guided mode
test in CI
2021-07-10 10:34:01 +09:00
Andrew Tridgell 498220b9f3 AP_Math: fixed error where t4_out could be negative in SCurve::calculate_path
this case cropped up in SITL due to floating point accuracies
2021-07-10 10:34:01 +09:00
Andrew Tridgell b11450c18c AP_NavEKF: review feedback 2021-07-10 07:20:41 +10:00
Andrew Tridgell f343c8501b AP_Math: fixed double fill_nanf() 2021-07-10 07:20:41 +10:00
Andrew Tridgell 168e860f70 AP_Math: fixed a few more single precision calls 2021-07-10 07:20:41 +10:00
Andrew Tridgell 56d9134e38 AP_Common: adjust test_location values
for adjusted longitude scale accuracy
2021-07-10 07:20:41 +10:00
Andrew Tridgell 1486a473bd AP_Math: remove unused rotation_matrix_norm() 2021-07-10 07:20:41 +10:00
Andrew Tridgell a924f66f70 AP_Common: fixed comment 2021-07-10 07:20:41 +10:00
Andrew Tridgell 5319e3910f AP_NavEKF3: moved checkUpdateEarthField to be called less often 2021-07-10 07:20:41 +10:00
Andrew Tridgell d91397f2f2 AP_Math: change wrap_PI to ftype
prevent loss of precision
2021-07-10 07:20:41 +10:00
Andrew Tridgell afb928081a AP_Math: use ftype for a few internal trig fns 2021-07-10 07:20:41 +10:00
Andrew Tridgell 338ab28dea AP_NavEKF: larger frame limit for --enable-math-check-indexes 2021-07-10 07:20:41 +10:00
Andrew Tridgell 31a6663797 AP_Math: fixed vel correction test build 2021-07-10 07:20:41 +10:00
Andrew Tridgell 6a3b12956a AP_Common: make longitude_scale() a static
this changes the use of longitude_scale() to use the average latitude
instead of the lattitude at one end of the line when calculating
positions and distances. It means we obey the basic geometry rule
that:

 pos1 + offs = pos2
 pos2 - offs == pos1
2021-07-10 07:20:41 +10:00
Andrew Tridgell a8c6d742aa AP_NavEKF3: update earth field at 1Hz
this prevents large mag errors on long distance flights
2021-07-10 07:20:41 +10:00
Andrew Tridgell 4f32fa537a HAL_ChibiOS: define HAL_HAVE_HARDWARE_DOUBLE on F765, F777 and H7 2021-07-10 07:20:41 +10:00
Andrew Tridgell 885e518741 AP_NavEKF3: allow for double EKF build 2021-07-10 07:20:41 +10:00
Andrew Tridgell 6aca0bb08a AP_NavEKF2: allow for double EKF build 2021-07-10 07:20:41 +10:00
Andrew Tridgell 3235747ef8 AP_NavEKF: allow for double EKF build 2021-07-10 07:20:41 +10:00
Andrew Tridgell 32a83ef347 AP_Mount: use ZERO_FARRAY() 2021-07-10 07:20:41 +10:00
Andrew Tridgell 83158ceadb AP_Motors: fixup build for ftype conflict 2021-07-10 07:20:41 +10:00
Andrew Tridgell b8e42be5d1 AP_Common: added double methods for SITL 2021-07-10 07:20:41 +10:00
Andrew Tridgell 01062cccd7 SITL: fixup offset calls 2021-07-10 07:20:41 +10:00
Andrew Tridgell 0f2f0d4cb2 AP_Math: allow for double EKF build 2021-07-10 07:20:41 +10:00
Andrew Tridgell 6c712c9001 HAL_ChibiOS: use SRAM1 as first ram segment on H7
this is needed to give the linker more than 128k for static variables
with double precision maths.
2021-07-10 07:20:41 +10:00
Andrew Tridgell f60330c4ef AP_HAL: allow for double EKF build 2021-07-10 07:20:41 +10:00
Andrew Tridgell 4ed0b03f35 HAL_ChibiOS: implement set_RTS/CTS_pin methods 2021-07-09 13:27:57 +10:00
Andrew Tridgell 162cecadec AP_HAL: added set_CTS_pin and set_RTS_pin 2021-07-09 13:27:57 +10:00
Peter Barker 7a9dd8127a AP_HAL_SITL: generate a core file for a given PID
Similarly to dumpstack.sh, uses gdb to dump a core file
2021-07-08 15:46:07 +10:00
Peter Barker 2f7603e08e AP_HAL: generate a core file for a given PID
Similarly to dumpstack.sh, uses gdb to dump a core file
2021-07-08 15:46:07 +10:00
mateksys 40200654af AP_HAL_ChibiOS: add MatekF765-SE hwdef as a variant of MatekF765-Wing 2021-07-08 13:01:44 +10:00
CallanDaniel 396a27b17e AP_AHRS: add semaphore around set_origin
added semaphore around set_origin() to prevent thread racing
2021-07-08 11:54:37 +09:00
CallanDaniel c34322f6ce AP_Scripting: add set_origin and initialised bindings
added bindings and example scripts
2021-07-08 11:54:37 +09:00
Siddharth Purohit 0217d1c3dc AP_UAVCAN: add BatteryInfoAux dsdl message 2021-07-08 11:56:06 +10:00
Andrew Tridgell 587ce2fd62 AP_Arming: fixed arming checks for no baro 2021-07-08 07:56:51 +10:00
Andrew Tridgell cd3ac639fe AP_AHRS: added AHRS_GPS_USE=2 for no baro
this allows DCM to use the GPS instead of the baro for height
2021-07-08 07:56:51 +10:00
Andrew Tridgell 8e4d67a7c1 AP_Baro: fixed SITL with SIM_BARO_COUNT==0
this allows for testing of SITL with no baro
2021-07-08 07:56:51 +10:00
Siddharth Purohit 2f8dec7c9b AP_ONVIF: make onvif test empty if ONVIF not enabled 2021-07-07 18:57:25 +10:00
Siddharth Purohit 94a09f1426 AP_ONVIF: move to using hal util random 2021-07-07 18:57:25 +10:00
Siddharth Purohit 2c6659930a AP_ONVIF: remove dependency on C++ STL and std::string 2021-07-07 18:57:25 +10:00
bugobliterator 5f82ef83ad AP_ONVIF: remove init method and move initialisation to start 2021-07-07 18:57:25 +10:00
bugobliterator d3fce3c41d AP_Vehicle: add method to enable onvif camera control using script 2021-07-07 18:57:25 +10:00
bugobliterator 027d8b4aea AP_Scripting: add support for controlling onvif camera using lua script 2021-07-07 18:57:25 +10:00
Michael Oborne a81da13c13 AP_Scripting: add support for configuring ONVIF using scripting 2021-07-07 18:57:25 +10:00
Michael Oborne 1db1da9ee5 AP_ONVIF: add support controlling onvif cam using scripting 2021-07-07 18:57:25 +10:00
Siddharth Purohit 45f58367d0 AP_ONVIF: add initial wsdl2h generated header for onvif devicemgmt 2021-07-07 18:57:25 +10:00
Siddharth Purohit 6a0c4ec3f7 AP_HAL: add Random Number Generation test 2021-07-07 18:57:25 +10:00
Siddharth Purohit 1082046134 AP_HAL_SITL: add support for hw random number generation 2021-07-07 18:57:25 +10:00
Siddharth Purohit f2e947589d AP_HAL_Linux: add support for hw random number generation 2021-07-07 18:57:25 +10:00
Siddharth Purohit 2b93b17fae AP_HAL: add support for hw random number generation 2021-07-07 18:57:25 +10:00