Andrew Tridgell
ff6d9a12a4
AP_Scripting: try a gc on alloc fail in logging
2022-12-15 07:17:06 +11:00
Andrew Tridgell
aa8ff87ad2
AP_Scripting: make most object functions local
2022-12-15 07:17:06 +11:00
Andrew Tridgell
aa865e1f9b
AP_Scripting: save some class variables
2022-12-15 07:17:06 +11:00
Andrew Tridgell
716adb6d59
AP_Scripting: use metatable object approach for aerobatics
...
saves about 30k ram for AirShow, about 60k ram for F3AF23
2022-12-15 07:17:06 +11:00
Henry Wurzburg
649c87f1ec
Applets:add SportPlaneAirshow schedule
2022-12-13 12:29:41 +11:00
Andrew Tridgell
1a68da49f1
AP_Scripting: improved stall turn with wind
...
compensate for wind drift and shift position
2022-11-30 21:12:23 +11:00
Andrew Tridgell
a9e7f473bd
AP_Scripting: added shift_y attribute
...
shift our maneuver frame y position at the end of the stall rudder
over
2022-11-30 21:12:23 +11:00
Iampete1
0d0718c259
AP_Scripting: dont check objects that are expected to be null
2022-11-29 10:33:31 +11:00
Andrew Tridgell
6a1b3d4e30
AP_Scripting: moved trick72.txt to Schedules/AirShow.txt
2022-11-28 10:40:50 +11:00
Andrew Tridgell
c5840e512b
AP_Scripting: removed P23 schedules from main lua
...
now moved to Schedules directory
2022-11-28 10:40:50 +11:00
andypnz
136538e69b
AP_Scripting: added schedules
...
this adds F3A, F4C and the NZ ClubMan schedules as txt files
2022-11-28 10:40:50 +11:00
Andrew Tridgell
2863f3954b
AP_Scripting: remove support for loading binary luac
...
this saves about 2k of flash
2022-11-28 06:23:29 +11:00
Andrew Tridgell
ef3016eff0
AP_Scripting: added a simple example of the load() function
2022-11-28 06:23:29 +11:00
Andrew Tridgell
c1000041a6
AP_Scripting: use pcall and better load() approach
...
thanks to Pete Hall
2022-11-28 06:23:29 +11:00
Andrew Tridgell
ce88ddef07
AP_Scripting: use the new lua load() functionality in the airshow
2022-11-28 06:23:29 +11:00
Andrew Tridgell
65746de112
AP_Scripting: enable load() function in lua scripts
...
can be used to parse user supplied lua
2022-11-28 06:23:29 +11:00
Andrew Tridgell
31b9299ad3
AP_Scripting: added function loading in aerobatic schedule text files
...
this allows for new maneuvers to be added inside the schedule
2022-11-28 06:23:29 +11:00
Andrew Tridgell
c30cd27000
AP_Scripting: added a stall turn test
2022-11-26 10:54:39 +11:00
Andrew Tridgell
2d02a3344d
AP_Scripting: treat message attribute like any other attribute
...
simplfies txt schedule processing
2022-11-26 10:54:39 +11:00
Andrew Tridgell
38556ab8c8
AP_Scripting: removed test_all_paths from aerobatics
...
not used
2022-11-26 10:54:39 +11:00
Andrew Tridgell
a85e9b2eb1
AP_Scripting: removed speed override in aerobatics
...
will be replaced with an attrib when needed again for aerobatic landing
2022-11-26 10:54:39 +11:00
Andrew Tridgell
133dcf240b
AP_Scripting: simplify path attribute handling
...
avoid needing a separate accessor function for each attribute
2022-11-26 10:54:39 +11:00
Andrew Tridgell
1aedb709e0
AP_Scripting: added real stall turn
...
reverses path at low throttle
2022-11-26 10:54:39 +11:00
Andrew Tridgell
814104cb33
AP_Scripting: added align_box and align_center
...
allows for alignment of maneuvers to the ends or center of the
aerobatic box
2022-11-24 19:37:59 +11:00
Andrew Tridgell
bd4255f654
AP_Scripting: allow "thr_boost: true" in text aerobatic schedules
...
likes this:
message: Loop
thr_boost: true
loop 30
2022-11-24 16:52:15 +11:00
Iampete1
c1cd095508
AP_Scripting: remove lua acess to ap object creation
2022-11-23 19:48:21 +11:00
Henry Wurzburg
92cc5e87aa
AP_Scripting: add initial announcement to plane_aerobatics.lua
2022-11-22 10:57:40 +11:00
Henry Wurzburg
fafdf4d46d
AP_Scripting: update readme on plane_aerobatics
2022-11-21 16:54:13 +11:00
Andrew Tridgell
15820ec5f8
AP_Scripting: added set_orient and funny_loop
...
this allows much tighter control over path orientation during a sequence
2022-11-20 18:24:24 +11:00
Paul Riseborough
e09ae7bc43
AP_Scripting: re-work multi-point roll using roll_sequence
2022-11-20 18:23:05 +11:00
Andrew Tridgell
486787937a
AP_Scripting: added roll_sequence to simplify complex manuevers
...
allows for complex roll sequences within manuevers
2022-11-20 18:23:05 +11:00
Andrew Tridgell
b2a38c0c60
AP_Scripting: added AEROM_PATH_SCALE
...
and add some docs on parameters
2022-11-19 19:04:34 +11:00
MatthewHampsey
97bcc11f68
AP_Scripting: Added side_step maneuver
2022-11-18 05:42:26 +11:00
MatthewHampsey
3fd212063c
AP_Scripting: Fixed barrel roll arc
2022-11-18 05:41:23 +11:00
Andrew Tridgell
b0b9c969da
AP_Scripting: implement path lookahead for aerobatics
...
this implements lookahead, which takes account of the response time of
the vehicle to changing rate demands in pitch and yaw
2022-11-16 13:04:20 +11:00
Peter Barker
1203f118d7
AP_Scripting: allow FRSky to be compiled out
2022-11-15 18:44:45 +11:00
Iampete1
6086402528
AP_Scripting: use helpers for full range return types to save flash
2022-11-15 10:33:51 +11:00
Andrew Tridgell
71828602e5
AP_Scripting: add more of p23 schedule
...
thanks to Andy! Fixes the cross-box roll references
2022-11-14 20:35:31 +11:00
Andrew Tridgell
93353442a4
AP_Scripting: fixed crossbox-humpty aerobatics
2022-11-14 20:35:31 +11:00
Andrew Tridgell
a8318fc9bb
AP_Scripting: added multi_point_roll
2022-11-14 14:28:33 +11:00
Paul Riseborough
2b1098c2b8
AP_Scripting: Add four and eight point rolls to plane aerobatics script
...
Signed-off-by: Paul Riseborough <gncsolns@gmail.com>
2022-11-14 14:28:33 +11:00
Paul Riseborough
79db2fe4da
AP_Scripting: Prevent integrator windup in throttle
2022-11-14 14:28:33 +11:00
Andrew Tridgell
3c9c7fac06
AP_Scripting: added yaw angular accel limit for aerobatics
2022-11-13 16:23:39 +11:00
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