Commit Graph

723 Commits

Author SHA1 Message Date
Andrew Tridgell
af44cbfc30 AP_Scripting: fixed spelling of barrel roll 2022-11-12 07:34:21 +11:00
Andrew Tridgell
64e050da60 AP_Scripting: added barrell_roll
path OK, but exit orientation is wrong
2022-11-11 14:19:44 +11:00
Andrew Tridgell
0d9397f451 AP_Scipting: cope with lua update being called too soon
in CI we occasionally get a loop called too fast (in one log the
micros() timestamp step was zero)
2022-11-11 08:25:33 +11:00
Andrew Tridgell
c48eeec71d AP_Scripting: added AEROM_THR_MIN and AEROM_THR_BOOST
allow for better throttle control during maneuvers
2022-11-11 08:25:33 +11:00
Henry Wurzburg
48404f4e64 AP_Scripting: Update plane_aerobatics README.md 2022-11-10 13:54:56 +11:00
Andrew Tridgell
a1e172c7c3 AP_Scripting: added figure_eight to loadable tricks 2022-11-10 13:53:15 +11:00
Andrew Tridgell
46c6c28419 AP_Scripting: look in multiple directorys for trick txt files 2022-11-10 13:53:15 +11:00
Andrew Tridgell
8c671c8b29 AP_Scripting: removed old aerobatics system 2022-11-10 13:53:15 +11:00
Andrew Tridgell
bf34bea4d6 AP_Scripting: moved aerobatics to applets/Aerobatics/FixedWing/ 2022-11-10 13:53:15 +11:00
Andrew Tridgell
a98b9f2c44 AP_Scripting: removed old AUTO_MIS parameters
this mechanism not needed any more now we have full schedules
2022-11-10 12:27:53 +11:00
Andrew Tridgell
8637b2098f AP_Scripting: allow aerobatic sequences to load from a txt file
this allows for complex sequences to be defined in a file like
"trick72.txt"

the example shows how it is done
2022-11-09 09:03:37 +11:00
Iampete1
1547c65ff3 AP_Scripting: bindings: logging: add flag to copy format strings 2022-11-08 10:49:43 +11:00
Peter Barker
4fccfdd56f AP_Scripting: include cleanups 2022-11-08 09:49:19 +11:00
Andrew Tridgell
e6af416f94 AP_Scripting: fixed yaw glitch on init in aerobatics 2022-11-08 08:44:23 +11:00
Andrew Tridgell
6a3c7f8cf6 AP_Scripting: get ahrs state once at the start of each loop
this minimises the impact of slow lua scripting
2022-11-07 21:22:43 +11:00
Andrew Tridgell
228b4adda0 AP_Scripting: fixed initial tangent 2022-11-07 21:22:43 +11:00
Andrew Tridgell
d7c0a1025e AP_Scripting: use actual_dt for ef rate update
this seems to work more consistently for now
2022-11-07 21:22:43 +11:00
Andrew Tridgell
833c18d4ae AP_Scripting: added sideslip filter 2022-11-07 21:22:43 +11:00
Andrew Tridgell
8fc3a725ce AP_Scripting: fixed path rate to use right time scaling 2022-11-07 21:22:43 +11:00
Andrew Tridgell
9874d4196d AP_Scripting: new specific force sideslip control
and fixed dt handling to match quaternion delta
2022-11-07 21:22:43 +11:00
Andrew Tridgell
2fb90fb5dd AP_Scripting: fixed chaining of orientations
use tangent rotation to accumulate orientations
2022-11-07 21:22:43 +11:00
andypnz
7fa45e343f AP_Scripting: F3A path adjustments 2022-11-07 15:54:51 +11:00
Andrew Tridgell
b924e6dca5 AP_Scripting: tidy airshow and add triple show
triple show is a demo of how to combine schedules
2022-11-05 12:19:02 +11:00
Andrew Tridgell
29060be8a9 AP_Scripting: improve knife-edge in aerobatics
thanks to Paul Riseborough for helping with yaw rate adjustment in knifeedge
2022-11-05 12:19:02 +11:00
Andrew Tridgell
ec8331ec75 AP_Scripting: log path error
ready for an autotest
2022-11-04 07:17:30 +11:00
Iampete1
7e07859ec9 AP_Scripting: add debug print of state memory cost 2022-11-03 09:50:59 +11:00
Iampete1
815adbbc8e AP_Scripting: log memory cost of script load 2022-11-03 09:50:59 +11:00
Andrew Tridgell
94273f1403 AP_Scripting: update docs 2022-11-03 07:31:10 +11:00
Andrew Tridgell
233e8e44cb AP_Scripting: added crossbox humpty maneuvers 2022-11-03 07:29:34 +11:00
Andrew Tridgell
acb627a4a4 AP_Scripting: updates from Andy for p23 2022-11-03 07:29:34 +11:00
Andrew Tridgell
40fdb22423 AP_Scripting: added airshow
and messages in schedules
2022-11-02 12:22:30 +11:00
Iampete1
7b844e3974 AP_Scripting: use checker helper for singletons 2022-11-01 17:03:50 +11:00
Iampete1
d673d3b219 AP_Scripting: rework feilds to only use switch for both read and write 2022-11-01 17:03:50 +11:00
Iampete1
5a0c45e090 AP_Scripting: ap object creation functions shared method 2022-11-01 17:03:50 +11:00
Iampete1
84fe2ed829 AP_Scripting: remove memset 0 after malloc 2022-11-01 17:03:50 +11:00
Iampete1
d0f527369d AP_Scripting: remove type specific out of range warnings 2022-11-01 17:03:50 +11:00
Iampete1
06712c9f0b AP_Scripting: rework arg checks to save flash 2022-11-01 17:03:50 +11:00
Iampete1
5711ac9596 AP_Scripting: generator: combine null checks in getter as error is terminal 2022-11-01 17:03:50 +11:00
andypnz
d23c35e747 AP_Scripting: tracjectory path improvements 2022-11-01 14:58:32 +11:00
Andrew Tridgell
6b0b3b1a05 AP_Scripting: treat zero loops as 1 2022-11-01 08:33:06 +11:00
Andrew Tridgell
6c785715fa AP_Scripting: fixed initial ground course in aerobatic tricks
needs ground course to account for wind
2022-11-01 08:33:06 +11:00
Andrew Tridgell
2224096cff AP_Scripting: added straight_align path primitive
allows alignment to position within maneuver frame
2022-11-01 08:32:42 +11:00
Andrew Tridgell
dcaea691a2 AP_Scripting: fixed final orientation of climbing_circle 2022-10-31 15:15:16 +11:00
Andrew Tridgell
7a03160590 AP_Scripting: capitalise the SCR_HEAP_SIZE parm 2022-10-31 15:14:27 +11:00
Andrew Tridgell
4dac9bf5ed AP_Scripting: greatly reduce memory in aerobatics
avoid holding path objects outside of the time they are needed
2022-10-31 15:14:27 +11:00
Andrew Tridgell
3c101d879e AP_Scripting: correct climbing circle for roll distortion 2022-10-29 21:22:29 +11:00
Andrew Tridgell
eb62991632 AP_Scripting: improve timing accuracy 2022-10-29 21:22:29 +11:00
Andrew Tridgell
d3ce852050 AP_Scripting: send error as NAMED_VALUE_FLOAT 2022-10-29 21:22:29 +11:00
Andrew Tridgell
bcdbfef7d5 AP_Scripting: removed banked_circle
and fixed helix length calculation
2022-10-29 21:22:29 +11:00
Andrew Tridgell
01bdc532d6 AP_Scripting: added schedules from Andy 2022-10-29 21:22:29 +11:00
Andrew Tridgell
fb7ea3ecac AP_Scripting: filled in all maneuvers in test_all_paths 2022-10-29 21:22:29 +11:00
Andrew Tridgell
d88e3d27f6 AP_Scripting: added composition of composed paths 2022-10-29 21:22:29 +11:00
Andrew Tridgell
5a0311c6d8 AP_Scripting: use composer object to prepare for nested composition 2022-10-29 21:22:29 +11:00
Andrew Tridgell
4e154b17a2 AP_Scripting: convert remaining paths to composite functions 2022-10-29 21:22:29 +11:00
Andrew Tridgell
7541eed80c AP_Scripting: fixed height gain/loss in upline/downline 2022-10-29 21:22:29 +11:00
Andrew Tridgell
efff5dc7ea AP_Scripting: added throttle lookahead
anticipate the pitch and add extra throttle ready for the pitch up
2022-10-29 21:22:29 +11:00
MatthewHampsey
a4c544436a AP_Scripting: Added box trajectories, adding warning log for insufficent roll rate 2022-10-29 21:22:29 +11:00
Andrew Tridgell
8bc847fcf1 AP_Scripting: convert more paths to use composer 2022-10-29 21:22:29 +11:00
Andrew Tridgell
b1e123df9e AP_Scripting: added entry and exit bank rates 2022-10-29 21:22:29 +11:00
Andrew Tridgell
20f1e8a6e6 AP_Scripting: fixed NED -> ENU in view_paths
thanks MattH !
2022-10-29 21:22:29 +11:00
Andrew Tridgell
7c7de7eee6 AP_Scripting: added stall turn
not really working well
2022-10-29 21:22:29 +11:00
Andrew Tridgell
f509359c24 AP_Scripting: removed debug 2022-10-29 21:22:29 +11:00
Andrew Tridgell
f31fa6daf2 AP_Scripting: add Split-S, Upline-45 and Downline-45 2022-10-29 21:22:29 +11:00
Andrew Tridgell
8873f95e52 AP_Scripting: re-implement humpty bump with composition 2022-10-29 21:22:29 +11:00
Andrew Tridgell
9242786d1e AP_Scripting: added path composition
allow creation of paths from a sequence of sub-paths
2022-10-29 21:22:29 +11:00
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