Commit Graph

658 Commits

Author SHA1 Message Date
Andrew Tridgell 3dfbca62a6 AP_Scripting: catch NaN in view_path 2022-10-29 21:22:29 +11:00
Andrew Tridgell c0559935ed AP_Scripting: ensure time doesn't go past 1.0 2022-10-29 21:22:29 +11:00
Andrew Tridgell 16583704ed AP_Scripting: make target speed max of current and trim speed 2022-10-29 21:22:29 +11:00
Andrew Tridgell dd390c257d AP_Scripting: remove unused code 2022-10-29 21:22:29 +11:00
Andrew Tridgell 119852b390 AP_Scripting: fixed mirroring for some -ve radius paths 2022-10-29 21:22:29 +11:00
Andrew Tridgell 4b53e16ea2 AP_Scripting: document trajectory scripting 2022-10-29 21:22:29 +11:00
Andrew Tridgell 0ae3b39a66 AP_Scripting: implement tricks on a switch on top of trajectory tracking
this re-implements tricks on a switch with the new accurate trajectory
tracking code.

It adds new parameters:

 - TRIK_ENABLE=0/1
 - TRIK_COUNT for number of tricks
 - TRIK_ACT_FN for the rc option to use to activate tricks (default 300)
 - TRIK_SEL_FN for the rc option to use to select which trick (default 301)

So if you want to use a 3 position switch on RC7 to activate and use a
knob on RC8 for selection then you would set:

- RC7_OPTION = 300
- RC8_OPTION = 301

then if tricks are enabled the following parameters are created per trick:

 - TRIKn_ID
 - TRIKn_ARG1
 - TRIKn_ARG2
 - TRIKn_ARG3
 - TRIKn_ARG4

You can have a maximum of 11 tricks.

The ID numbers are from the trajectory table. The arguments are path specific.
2022-10-29 21:22:29 +11:00
MatthewHampsey 51481eff24 AP_Scripting: Made negative radii steer in other direction for remaining trajs 2022-10-25 16:37:19 +11:00
MatthewHampsey d011c8977f AP_Scripting: Fix humpty bump 2022-10-25 16:37:19 +11:00
Andrew Tridgell eb1d27df7b AP_Scripting: adjust EFI_SkyPower for rev 0.3 protocol 2022-10-25 11:44:45 +11:00
Andrew Tridgell aea9dea005 AP_Scripting: added CANDRV to HFE EFI driver and document 2022-10-25 11:44:45 +11:00
Andrew Tridgell 96852a8eb4 AP_Scripting: added throttle and generator control for EFI_SkyPower driver
and added documentation for the driver
2022-10-25 11:44:45 +11:00
WillyZehnder a7d5f8addc AP_Scripting: bindings: get_alt_frame included
bindings.desc + docs.lua: get_alt_frame included
2022-10-25 10:21:05 +11:00
Iampete1 5db30b75e7 AP_Scripting: logging: move to char buffer from lua buffer 2022-10-25 10:09:14 +11:00
MatthewHampsey bdce9d5cb3 AP_Scripting: improved trajectory tracking
with thanks to Paul Riseborough for the algorithmic improvements
2022-10-23 18:11:15 +11:00
Andrew Tridgell 5def680fb9 AP_Scripting: fixed binding for nav_script_time 2022-10-23 18:11:15 +11:00
Andrew Tridgell f57935d406 AP_Scripting: update examples for new nav_script_time 2022-10-23 18:11:15 +11:00
Iampete1 48ce8c4e16 AP_Scripting: binding gen: add number of argument to manual functions and generate docs for manual 2022-10-19 18:35:32 +11:00
Iampete1 a1607b954c AP_Scripting: docs: fix missing 2022-10-19 18:35:32 +11:00
Iampete1 ac633dfe5e AP_Scripting: tests: add docs compare python script 2022-10-19 18:35:32 +11:00
Iampete1 da0ee9a8cb AP_Scripting: set lua nullptr after delete 2022-10-17 08:29:53 +11:00
Iampete1 c801f12a78 AP_Scripting: applets: add Hexsoon LEDs script 2022-10-12 19:04:30 +11:00
Andrew Tridgell 938df192fa AP_Scripting: added rc:get_aux_cached() example 2022-10-11 11:47:04 +11:00
Andrew Tridgell ac1be8b500 AP_Scripting: added get_aux_cached() RC binding 2022-10-11 11:47:04 +11:00
Andrew Tridgell 19fd2d0b88 AP_Scripting: added relay get() binding 2022-10-11 11:47:04 +11:00
MatthewHampsey 8fb00f02f4 AP_Scripting: Added additional trajs, cuban eight 2022-10-06 15:55:45 +11:00
Randy Mackay 23878faaef AP_Scripting: winch-test example script 2022-10-06 14:39:28 +11:00
Randy Mackay cf461793d5 AP_Scripting: add winch docs 2022-10-06 14:39:28 +11:00
Randy Mackay 57f8a46339 AP_Scripting: add winch bindings 2022-10-06 14:39:28 +11:00
Andrew Tridgell b5b1aee954 AP_Scripting: fixed use of clock and time in lua
not available on stm32
2022-10-06 10:45:49 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Andrew Tridgell ad6bf648e9 AP_Scripting: ALT_OFFSET example for copter
this was requested by a user that has GCS function for setting
ALT_OFFSET for magnetometer surveys
2022-10-03 17:31:23 +11:00
MatthewHampsey 10f355b05b AP_Scripting: Fix bug with local variable 2022-10-02 16:58:37 +11:00
MatthewHampsey 7dbc1690e9 AP_Scripting: Added extra argument node 2022-10-02 16:58:37 +11:00
MatthewHampsey 1dba013e4a AP_Scripting:Improve speed controller, various other fixes 2022-10-02 16:58:37 +11:00
Andrew Tridgell 6555682fa8 AP_Scripting: delay getting EFI backend
allow for AP_EFI startup after scripting
2022-10-02 08:15:06 +11:00
Andrew Tridgell c00c13d011 AP_Scripting: changed bindings to ap_object 2022-10-02 08:15:06 +11:00
Andrew Tridgell c3499f12c4 AP_Scripting: convert HFE driver to get_backend 2022-10-02 08:15:06 +11:00
Andrew Tridgell 6e308814ad AP_Scripting: added mag_heading example 2022-10-02 08:15:06 +11:00
Andrew Tridgell 1f42453bb4 AP_Scripting: added EFI HFE driver 2022-10-02 08:15:06 +11:00
Andrew Tridgell 7f7b8893e3 AP_Scripting: added EFI_HFE tester 2022-10-02 08:15:06 +11:00
Andrew Tridgell acb18cf946 AP_Scripting: update bindings for new fields 2022-10-02 08:15:06 +11:00
Andrew Tridgell b514f44b7a AP_Scripting: added EFI testing script 2022-10-02 08:15:06 +11:00
Andrew Tridgell a08c4b6761 AP_Scripting: added EFI_SkyPower driver 2022-10-02 08:15:06 +11:00
Andrew Tridgell d3c014ca35 AP_Scripting: update docs 2022-10-02 08:15:06 +11:00
Joshua Henderson d74081b22b AP_Scripting: add scripting EFI bindings 2022-10-02 08:15:06 +11:00
Randy Mackay b8042d57de AP_Scripting: add mount-poi example 2022-09-28 17:09:31 +10:00
Randy Mackay 7f8448e344 AP_Scripting: add Location::offset_bearing_and_pitch binding 2022-09-28 17:09:31 +10:00
Randy Mackay dd58cb7492 AP_Scripting: add binding for Mount get_attitude_euler 2022-09-28 17:09:31 +10:00
Iampete1 b49ded9f8e AP_Scripting: fix userdata skip check 2022-09-26 08:05:54 +10:00
Andrew Tridgell a653b5e8d1 AP_Scripting: simple script for plane GUIDED follow 2022-09-22 07:59:34 +10:00
MatthewHampsey eed638c237 AP_Scripting: Updated docs for added lua bindings 2022-09-22 05:55:15 +10:00
MatthewHampsey 255b081a45 AP_Scripting: added aerobatics trajecting tracking script 2022-09-22 05:55:15 +10:00
MatthewHampsey d17b528cab AP_Scripting: added new functions to support trajectory script 2022-09-22 05:55:15 +10:00
Peter Barker 7a80c2778b AP_Scripting: add and use AP_RPM_ENABLED 2022-09-20 09:28:27 +10:00
Andrew Tridgell 8ad7d00a35 AP_Scripting: added example script for ship takeoff vel match
match velocity of the vehicle from when last disarmed
2022-09-19 07:18:20 +10:00
Iampete1 7b0f74cc7e AP_Scripting: clear alocated i2c devices on scripting stop 2022-09-15 12:40:04 +10:00
Iampete1 cb34895cfa AP_Scripting: add maunal i2c binding allowing read of sequentual registers 2022-09-15 12:40:04 +10:00
Iampete1 b4234256f8 AP_Scripting: allow maunal apobject bindings 2022-09-15 12:40:04 +10:00
Iampete1 7700e60261 AP_Scripting: revert logger acsess changes for applets 2022-09-14 13:59:40 +10:00
Iampete1 954ade3437 AP_Scripting: move ship landing example to applet 2022-09-14 13:59:40 +10:00
Iampete1 89311b4227 AP_Scripting: convert all examples to new parameter constructior 2022-09-14 13:59:40 +10:00
Iampete1 41e36e3128 AP_Scripting: Parameter helper: allow optional param name in constructior 2022-09-14 13:59:40 +10:00
Iampete1 e51c42f8a5 AP_Scripting: enfoce skip check on correct types update description to match 2022-09-13 18:43:13 +01:00
Andrew Tridgell 5ad860a22d AP_Scripting: added set_rpm_scale example 2022-09-13 07:48:19 +10:00
Andrew Tridgell 1768149a72 AP_Scripting: added set_rpm_scale API 2022-09-13 07:48:19 +10:00
Iampete1 60a75a0973 AP_Scripting: examaples move to : acsess 2022-09-06 10:39:35 +10:00
Iampete1 5b2236e88c AP_Scripting: Manual bindings: allow both : and . acsess 2022-09-06 10:39:35 +10:00
Iampete1 da5ec973c5 AP_Scripting: add error message buffer semaphore 2022-08-31 17:04:24 +10:00
Iampete1 e3931a6f56 AP_Scripting: add debug option to disable pre-arm 2022-08-31 17:04:24 +10:00
Iampete1 bbcb7b5827 AP_Scripting: move to common status text "Scripting:" prefix to save flash 2022-08-31 17:04:24 +10:00
Iampete1 e2c29b09ab AP_Scripting: add arming check for failed scripts 2022-08-31 17:04:24 +10:00
Joshua Henderson bbbf0b9718 AP_Scripting: VTOL-quiktune add back param for AUTO_FILTER 2022-08-26 16:45:45 +10:00
Joshua Henderson 82ece34981 AP_Scripting: VTOL-quiktune add param for RC script function 2022-08-26 16:45:45 +10:00
Iampete1 08b458c995 AP_Scripting: add Quadplane low altitude forward flight mode aplet 2022-08-23 10:17:48 +10:00
Iampete1 b399ed3044 AP_Scripting: unint32: remove integer range check 2022-08-19 10:29:39 +10:00
nrt 2c58206a75 AP_Scripting: added Lua example demonstrating the use of active source set 2022-08-18 02:05:27 -04:00
Peter Barker 20f73ad55e AP_Scripting: rename OpticalFlow class to AP_OpticalFlow
Brings us in-line with other classes in ArduPilot.

Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Iampete1 df6a5f0e0d AP_Scripting: reuse uint32 dev operation for idiv 2022-08-17 17:18:26 +10:00
Iampete1 2c8a11885f AP_Scripting: Boxed numerics and maunal bindings use generated arg checker 2022-08-17 17:18:26 +10:00
Rolf-G ea44da1e8d AP_Scripting: examples: Aerobatics: Corrects arg1/arg2
Corrects bad description of arg1 and arg2 for rolling circle  in plane_aerobatics.lua

See https://github.com/ArduPilot/ardupilot/issues/21022
2022-07-20 13:18:10 +01:00
Andrew Tridgell 1995dbf47c AP_Scripting: added update_rpm() scripting binding 2022-07-13 17:33:00 +10:00
Yuri 565f757f35 AP_Scripting: rover-MinFixType example param caching fix 2022-07-07 19:34:10 +09:00
Yuri 6a74be104f AP_Scripting: add set_desired_speed binding 2022-07-07 19:34:10 +09:00
Andrew Tridgell 39fd4f01cd AP_Scripting: fixed SimOnHardware build
HAL_MOUNT_ENABLED depends on !HAL_MINIMIZE_FEATURES
2022-07-07 12:33:01 +10:00
Iampete1 ea4f050aa8 AP_Scripting: Generator: fix docs generator aliasing 2022-07-05 10:31:51 +10:00
Andrew Tridgell d8b98789e6 AP_Scripting: add support for scripting2 protocol 2022-07-03 08:21:55 +10:00
Randy Mackay a7aa77ff86 AP_Scripting: add lua docs for mount methods 2022-07-02 09:21:53 +09:00
Randy Mackay b8560345f7 AP_Scripting: add mount-test example script 2022-07-02 09:21:53 +09:00
Randy Mackay 47e10eaefa AP_Scripting: add bindings to control mount 2022-07-02 09:21:53 +09:00
Yuri f155c1b027 AP_Scripting: add rover-MinFixType and rover-SaveTurns examples 2022-07-01 18:23:31 +09:00
Andrew Tridgell 864353aa4d AP_Scripting: example script for lidar control
enable lidar for only landing in quadplanes by changing RNGFND_LANDING
2022-06-26 08:46:44 +10:00
Randy Mackay a358357951 AP_Scripting: remove ToshibaCAN support 2022-06-10 12:08:05 +09:00
Andrew Tridgell 998072f600 AP_Scripting: setup axis filters when starting an axis 2022-06-09 13:15:13 +10:00
Andrew Tridgell 4bc697dfa2 AP_Scripting: added QUIK_AUTO_SAVE option
allows tuning with 2 position switch
2022-06-09 13:15:13 +10:00
Henry Wurzburg 0853acd7e2 AP_Scripting: update QUIKTUNE readme file 2022-06-08 08:55:02 +10:00
Henry Wurzburg d55fd76443 AP_Scripting: modify QUIKTUNE for audio monitorin in TX 2022-06-08 08:55:02 +10:00
murata c65425e3ac AP_Scripting: Changed NULL to nullptr 2022-06-07 11:59:23 +09:00
Maxim Buzdalov e71ced7984 AP_Scripting: Fix parameter name in find_serial, add description
The argument to find_serial is not the protocol name, but the number of instance that can run the Scripting protocol (28).
The matching doc update is in https://github.com/ArduPilot/ardupilot_wiki/pull/4346.
2022-05-31 15:00:57 +01:00
Andrew Tridgell bda280bcf1 AP_Scripting: cope better with high P gains in quicktune
if we lower the D gain, then lower P and I by the same ratio before we
start on the P gain

Also added parameters to disable filter changes and control PI ratios
2022-05-21 13:20:27 +10:00
Iampete1 66cdfb015b AP_Scripting: always free the heap and remove scripts 2022-05-18 08:20:32 +10:00
murata 6e91b364e0 AP_Scripting: Console output can be disabled 2022-05-17 09:53:06 +10:00
khanasif786 53f931c98d AP_Scripting: changed MAV_SEVERITY_EMERGENCY to INFO for origin set 2022-05-13 09:12:37 +09:00
Iampete1 7850aea186 AP_Scripting: load uint32_t bindings via generator 2022-05-10 09:42:57 +10:00
Iampete1 5bfb295fdd AP_Scripting: generator: support manual and manual operators on userdata 2022-05-10 09:42:57 +10:00
Iampete1 934b56e597 AP_Scripting: generator: support manual creation functions for userdata 2022-05-10 09:42:57 +10:00
Iampete1 3319140133 AP_Scripting: generator: remove unused function 2022-05-10 09:42:57 +10:00
Iampete1 9da80b45e9 AP_Scripting: load manual bindings via generator 2022-05-04 17:49:14 +10:00
Iampete1 03476711f2 AP_Scripting: binding gen: support globals 2022-05-04 17:49:14 +10:00
Iampete1 59fb78fea8 AP_Scripting: binding gen: support manaul bindings 2022-05-04 17:49:14 +10:00
Iampete1 5c2b0ebb0f AP_Scripting: binding gen: don't emit dependancy if there are no fields 2022-05-04 17:49:14 +10:00
Andrew Tridgell 53c711954e AP_Scripting: added parameters to VTOL failsafe example 2022-05-04 17:30:04 +10:00
Andrew Tridgell a7b3a5713d AP_Scripting: fixed non-oscillating yaw limit 2022-05-04 13:56:43 +10:00
Andrew Tridgell c2af9a9154 AP_Scripting: pause quicktune during pilot input
thanks to Marco for the suggestion
2022-05-04 13:56:43 +10:00
Andrew Tridgell 8320b90a01 AP_Scripting: added norm_input_dz binding 2022-05-04 13:56:43 +10:00
Andrew Tridgell 617213bef0 AP_Scripting: added quicktune.lua script
rapid tuning for VTOL control
2022-05-03 10:01:19 +10:00
Andrew Tridgell 77a985182c AP_Scripting: added get_rpy_srate binding
and remove dmod binding
2022-05-03 10:01:19 +10:00
Iampete1 20a2e6aaf0 AP_Scripting: allow deprecation warnings 2022-05-03 07:48:39 +10:00
m dbf00bae10 AP_Scripting: Add pre_arm_checks LUA binding 2022-04-30 10:23:28 +09:00
Andrew Tridgell ed89acea66 AP_Scripting: added PDmod binding for quick tuning 2022-04-29 11:54:12 +10:00
Randy Mackay 599cd15c7b AP_Scripting: add copter-deadreckon-home example 2022-04-26 18:37:54 +09:00
Randy Mackay 7b6ad412fe AP_Scripting: add ahrs get_relative_position_D_home binding 2022-04-26 18:37:54 +09:00
Randy Mackay f0623fa8c9 AP_Scripting: add has_ekf_failsafed binding 2022-04-26 18:37:54 +09:00
Iampete1 6e3cb7efdc AP_Scripting: support true aliases 2022-04-26 10:28:28 +10:00
Iampete1 352c48233e AP_Scripting: generator: rename alias keyword to rename 2022-04-26 10:28:28 +10:00
Peter Barker 55517450bc AP_Scripting: correct script restart send_text message 2022-04-18 12:50:18 +01:00
Andrew Tridgell 0f230eec5a AP_Scripting: increase default heap size in SITL and on F7/H7
if we have 500k or more memory then use 100k heap for Lua, making
setup easier
2022-04-11 17:02:04 +10:00
Peter Barker ce312a3750 AP_Scripting: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Henry Wurzburg 82235163a2 AP_Scripting: remove original aerobatics example to avoid confusion 2022-04-05 10:12:13 +10:00
Andrew Tridgell 54f6dbf476 AP_Scripting: restored corrected boolean in height_amsl binding 2022-03-28 16:01:21 +11:00
Randy Mackay fc668b4bca AP_Scripting: copter fast descent gets improved slowdown 2022-03-24 19:21:54 +09:00
bugobliterator 39b771c3a9 AP_Scripting: add support for can_printf in lua 2022-03-23 18:59:43 +11:00
Andrew Tridgell e8115a99bc AP_Scripting: added set_override method for scripting
useful for test code
2022-03-22 10:21:06 +11:00
Andrew Tridgell cdd63a239e AP_Scripting: fixed radius selection for ship landing 2022-03-10 07:34:20 +11:00
Andrew Tridgell 3f0110e924 AP_Scripting: fixed beacon lost in ship landing 2022-03-10 07:34:20 +11:00
Andrew Tridgell ba57e0a9d8 AP_Scripting: review fixes 2022-03-10 07:34:20 +11:00
Andrew Tridgell 3d9086b460 AP_Scripting: update lua docs 2022-03-10 07:34:20 +11:00
Andrew Tridgell 3dca7f08b7 AP_Scripting: plane ship landing script 2022-03-10 07:34:20 +11:00
Andrew Tridgell 5c94be1d72 AP_Scripting: added rotate_xy for Vector3f 2022-03-10 07:34:20 +11:00
Andrew Tridgell 197ccda408 AP_Scripting: added follow API 2022-03-10 07:34:20 +11:00
Andrew Tridgell 0de1185625 AP_Scripting: removed terrain home correction 2022-03-10 07:34:20 +11:00
Iampete1 e07e22c0fe AP_Scripting: applets: add forward flight motor shutdown readme 2022-03-08 14:30:48 -08:00
Iampete1 3875715f67 AP_Scripting: applets: add motor failure testing sctipt 2022-03-08 14:30:48 -08:00
murata b4d4ed8a50 AP_Scripting: Change to no message notification in DISARMED state 2022-03-08 14:28:26 -08:00
Andrew Tridgell d8fb6cc522 AP_Scripting: added example for orbit follow
allows a following vehicle to orbit the lead vehicle
2022-03-02 18:18:43 +11:00
Peter Barker 465f56254a AP_Scripting: include cleanups 2022-03-01 11:21:33 +11:00
Randy Mackay 10e69373b3 AP_Scripting: copter-fast-descent has less aggressive slowdown at end 2022-02-26 08:05:05 +09:00
Randy Mackay 3efebcf1e0 AP_Scripting: copter-fast-descent uses small default radius 2022-02-26 08:05:05 +09:00
Randy Mackay fc9cfe9b4a AP_Scripting: copter fast descent from Auto
Also use custom parameters
Allow yaw to be static or point towards center
2022-02-26 08:05:05 +09:00
Randy Mackay 6f8ff4cf49 AP_Scripting: add copter-nav-script-time example script 2022-02-22 12:32:56 +09:00