Commit Graph

1085 Commits

Author SHA1 Message Date
Stephen Dade 50dc591b55 AP_Scripting: Account for nil battery in Rockblock and MAVLink_HL scripts 2023-08-02 12:18:46 +10:00
Randy Mackay dbf5bfd707 AP_Scripting: add rover quicktune 2023-08-01 09:16:17 +10:00
Randy Mackay 0fd87667e5 AP_Scripting: AR_PosControl bindings 2023-08-01 09:16:17 +10:00
Randy Mackay 5e3c0d4ead AP_Scripting: add AR_AttitudeControl srate binding
also add AP_Vehicle:get_steering_and_throttle binding
2023-08-01 09:16:17 +10:00
Randy Mackay 380c20154f AP_Scripting: mount-djirs2 driver angle reporting fix 2023-07-26 17:33:18 +10:00
Randy Mackay a81f1cb993 AP_Scripting: viewpro driver fix for pitch angle reporting 2023-07-26 17:33:18 +10:00
Randy Mackay b80ea6572c AP_Scripting: viewpro driver comment fix 2023-07-18 21:02:02 +09:00
Andrew Tridgell 0f8d618102 AP_Scripting: added bindings for VTOL motor loss
this allows a script to take an action on loss of a VTOL motor
2023-07-13 08:03:52 +10:00
Stephen Dade c73fa82d07 AP_Scripting: Add SET_MODE support for Rockblock lua script and mavlink example 2023-07-07 13:15:09 +10:00
bugobliterator a497c06e83 AP_Scripting: stash and restore FPU register context in LUAI_TRY
this fixes an issue where a lua library function triggers an exception
after it does a math operation which changes the floating point
registers on M7 MCUs (such as STM32H7). An example is math.random()
which calls math_random(), which pre-calculates a double value before
checking if the arguments to the call are valid. When it then checks
and finds invalid values the exception longjmp does not restore the
floating point registers.
2023-07-07 07:51:02 +10:00
Andrew Tridgell 41fbc6124b AP_Scripting: updated VTOL quicktune docs 2023-07-04 12:24:02 +10:00
Andrew Tridgell b7b12d7220 AP_Scripting: fixed lua-check warnings in VTOL-quicktune 2023-07-04 12:24:02 +10:00
Andrew Tridgell 3aea282bdd AP_Scripting: fixed use of QUIK_ENABLE in VTOL-quicktune
this was lost when the cached access was added
2023-07-04 12:24:02 +10:00
Andrew Tridgell d8bcb41b26 AP_Scripting: added QUIK_MAX_REDUCE parameter to VTOL-quicktune.lua
this limits the amount that rate gains can reduce from the original
values in a quicktune. Large reductions in rate gains can be
incorrectly triggered by a frame resonance or gust of wind which can
result in gains that are dangerously low, which can trigger an angle P
oscillation
2023-07-04 12:24:02 +10:00
Iampete1 87b2000d5c AP_Scripting: Fixup examples for mavlink receive timestamp as uint32 2023-07-04 10:20:42 +10:00
Iampete1 ceca374f23 AP_Scripting: add MAVLink command long and ack examples 2023-07-04 10:20:42 +10:00
Iampete1 1c5f3c708a AP_Scripting: add new mavlink binding to block commands 2023-07-04 10:20:42 +10:00
Iampete1 5cefff6455 AP_Scripting: fix docs 2023-07-04 10:20:42 +10:00
Iampete1 529fb83ce3 AP_Scripting: change mavlink to `:` access to match everything else, return timestamp as uint32 2023-07-04 10:20:42 +10:00
Andrew Tridgell ded8d2a4b4 AP_Scripting: added revert_param.lua applet
This script implements a easy parameter reversion system to help with
manual in-flight tuning. It allows you to do a wide range of manual
tuning while flying and if you get in trouble (eg. an oscillation)
then you can use a switch to instantly revert all the parameter
changes to the values from startup.
2023-07-03 07:09:07 +10:00
Peter Barker f96266b227 AP_Scripting: add option to disable relay and servorelay libraries 2023-06-20 09:36:39 +10:00
Mark Whitehorn 154ccf4e63 AP_Scripting: tricks-on-a-switch activation cleanup 2023-06-20 09:32:28 +10:00
Iampete1 2eaad47bf8 AP_Scripting: examples: plane-wind-fs: fixup for luacheck 2023-06-18 18:17:37 +10:00
Andrew Tridgell 8bec6c9ff4 AP_Scripting: added utility scripts for synchronised aerobatics 2023-06-14 19:02:23 +10:00
Andrew Tridgell f76d6e00cf AP_Scripting: document log_file_content 2023-06-14 19:02:23 +10:00
Andrew Tridgell c6f466eba7 AP_Scripting: implement synchronised aerobatics
this allows two aircraft to synchronise their schedules via
NAMED_VALUE_FLOAT messages
2023-06-14 19:02:23 +10:00
Andrew Tridgell 6dd78005d6 AP_Scripting: added width and reduce options to 3D aerobatic viewer 2023-06-14 19:02:23 +10:00
Andrew Tridgell 51c4c047d6 AP_Scripting: added log_file_content method
this allows for aerobatics to log the schedule for easier log review
2023-06-14 19:02:23 +10:00
Peter Barker d519ab604e AP_Scripting: allow AP_SCRIPTING_ENABLED to come from hwdef files 2023-06-09 16:10:52 +10:00
Andrew Tridgell 533577924e AP_Scripting: fixed temperatures for Halo6000 driver
temps are offset by 40 deg C
2023-06-07 07:27:46 +10:00
Randy Mackay b757a7d21a AP_Scripting: mount-poi applet sends camera feedback message 2023-05-31 10:06:37 +10:00
Andrew Tridgell 8cb638b7e1 AP_Scripting: added Halo6000 generator/EFI driver
used to monitor Foxtech Halo6000 generator for Thor210 hexacopter
2023-05-30 21:04:34 +10:00
Tatsuya Yamaguchi 7ebc2256bc AP_Scripting: add is_landing and is_taking_off binding 2023-05-26 10:59:09 -07:00
bugobliterator 06b5400d0b AP_Scripting: use get_uint32 instead of luaL_checkinteger 2023-05-24 19:03:28 +10:00
bugobliterator f9edc1c37b AP_Scripting: set timestamp for received messages 2023-05-24 19:03:28 +10:00
bugobliterator 28d49834c0 AP_Scripting: do semaphore lock when sending mavlink message from lua 2023-05-24 19:03:28 +10:00
bugobliterator 949f0e36d0 AP_Scripting: change receive_msgid to register_rx_msgid 2023-05-24 19:03:28 +10:00
bugobliterator d056a33dca AP_Scripting: use _chan to mark the methods that are mavlink channel based 2023-05-24 19:03:28 +10:00
bugobliterator dfe87732b5 AP_Scripting: add docs for mavlink scripting 2023-05-24 19:03:28 +10:00
bugobliterator 138464cab8 AP_Scripting: remove example/mavlink.lua and fix lua test 2023-05-24 19:03:28 +10:00
bugobliterator e79af89df3 AP_Scripting: add mavlink test 2023-05-24 19:03:28 +10:00
bugobliterator 076d00fd1e AP_Scripting: add mavlink support to scripting 2023-05-24 19:03:28 +10:00
Michael du Breuil 598919d8ad AP_Scripting: Support sending MAVLink buffers from scripts 2023-05-24 19:03:28 +10:00
Hayden 09fd157b9b AP_Scripting: Add health checks
Added health checks for the Baro, InertialSensor, IOMCU, and Compass
2023-05-24 12:39:47 +10:00
Peter Barker 772eda555b AP_Scripting: correct dependencies on bindings 2023-05-16 10:31:01 +10:00
Randy Mackay d3f2309eac AP_Scripting: viewpro driver uses camera state with Vector2f 2023-05-08 21:26:35 +10:00
Randy Mackay 2be750eaf8 AP_Scripting: camera state bindings use Vector2f 2023-05-08 21:26:35 +10:00
Randy Mackay 7db3f27357 AP_Scripting: viewpro driver implements image tracking 2023-05-08 21:26:35 +10:00
Randy Mackay 98636287fc AP_Scripting: camera state gets tracking 2023-05-08 21:26:35 +10:00
Iampete1 990db62235 AP_Scripting: generator: don't expose creation functions to all read only userdata 2023-05-08 19:43:24 +10:00
Iampete1 7a129e73cb AP_Scripting: bindings: remaining EFI_State to read and write 2023-05-08 19:43:24 +10:00
Iampete1 8fa2472148 AP_Scripting: userdata: allow read of enums and userdata 2023-05-08 19:43:24 +10:00
Andrew Tridgell 601036c07b AP_Scripting: added example that slew a servo with controls
useful for measuring servo capabilities by looking at achieved
deflection vs frequency
2023-05-03 15:23:01 +10:00
Stephen Dade e01b359462 AP_Scripting: Check for battery in MAVLinkHL and Rockblock 2023-05-03 09:59:53 +10:00
bugobliterator 684f96021d AP_Scripting: add tests for require 2023-04-28 12:36:08 +10:00
bugobliterator 306b14d8dc AP_Scripting: add require with sandbox inheritence 2023-04-28 12:36:08 +10:00
Randy Mackay 294eb1db5b AP_Scripting: viewpro driver uses focus type and value 2023-04-26 22:55:47 +10:00
Randy Mackay edc2ea7bf6 AP_Scripting: camera state uses focus_type and focus_value 2023-04-26 22:55:47 +10:00
Peter Barker b167e19bb6 AP_Scripting: move and rename CAN Driver_Type enumeration 2023-04-20 08:53:46 +10:00
Randy Mackay 82d03e45e0 AP_Scripting: integrate camera_state_t scope change 2023-04-19 17:31:46 +10:00
Randy Mackay ea1836304a AP_Scripting: ViewPro driver supports zoom pct 2023-04-19 17:31:46 +10:00
Randy Mackay 4090c50e8f AP_Scripting: camera set_zoom binding replaces set_zoom_step 2023-04-19 17:31:46 +10:00
Robert Taylor ebef532258 AP_Scripting: Add EFI state get example 2023-04-18 10:31:01 +10:00
Robert Taylor 59cb583d63 AP_Scripting: Add efi get_state function 2023-04-18 10:31:01 +10:00
Robert Taylor 7b64d09dc4 AP_Scripting: Make EFI bindings readable 2023-04-18 10:31:01 +10:00
Randy Mackay b9e06438f1 AP_Scripting: ViewPro driver bug fix 2023-04-14 07:47:47 +10:00
Randy Mackay 1a9189d602 AP_Scripting: add binding for camera semaphore 2023-04-13 07:04:46 +10:00
Randy Mackay ffc3ad1c1a AP_Scripting: viewpro driver uses camera scripting backend 2023-04-13 07:04:46 +10:00
Randy Mackay 1a375f1ff5 AP_Scripting: remove mount get_camera_state
AP_Camera scripting backend provides access
2023-04-13 07:04:46 +10:00
Randy Mackay 554d52b6fe AP_Scripting: add AP_Camera::get_state bindings 2023-04-13 07:04:46 +10:00
Randy Mackay 5d29935039 AP_Scripting: add camera-test example script 2023-04-13 07:04:46 +10:00
Randy Mackay 03148a113f AP_Scripting: add camera bindings 2023-04-13 07:04:46 +10:00
Randy Mackay f40a939a0c AP_Scripting: fix mount-poi script check errors
remove unused variables
re-enable script checks
2023-04-13 07:04:22 +10:00
Randy Mackay 3ab63cc6b1 AP_Scripting: add mount-poi md 2023-04-13 07:04:22 +10:00
Randy Mackay c1f9b59d9b AP_Scripting: mount-poi gets param description
send_text calls also use MAV_SEVERITY definition
2023-04-13 07:04:22 +10:00
Randy Mackay bc9342a398 AP_Scripting: move mount-poi to applets directory 2023-04-13 07:04:22 +10:00
Randy Mackay af64de3412 AP_Scripting: mount-viewpro driver gets param desc 2023-04-12 17:08:12 +10:00
Randy Mackay 6934a638a1 AP_Scripting: Viewpro driver setup instruction fix 2023-04-12 17:08:12 +10:00
Henry Wurzburg e12d9e38c7 AP_Scripting:add plane aerobatics metadata 2023-04-11 08:59:04 +10:00
Henry Wurzburg 0a84d38f43 AP_Scritping:change TRIKx_ID defaults to -1 (not setup) 2023-04-11 08:59:04 +10:00
Henry Wurzburg ece07601d7 AP_Scripting:make trikid -1 not valid 2023-04-11 08:59:04 +10:00
Peter Barker 80ca43ad37 AP_Scripting: correct depends for AP_Winch 2023-04-10 09:20:47 +10:00
Andrew Tridgell 3eb9d119ea AP_Scripting: added wrap32_test.lua for testing wrap32 usec bdshot bug 2023-03-24 08:31:25 +11:00
Andrew Tridgell 19a46fff0f AP_Scripting: added vehicle:reboot() binding 2023-03-24 08:31:25 +11:00
Henry Wurzburg 0a96f037f5 AP_Scripting:provide altitude loss safety abort for plane aerobatics 2023-03-20 04:48:57 -07:00
Randy Mackay e5be8e9bf0 AP_Scripting: copter deadreckoning lua check fixes 2023-03-18 08:55:21 +09:00
Randy Mackay 3d39f9bb20 AP_Scripting: copter deadreckon applet gets param desc and md 2023-03-18 08:55:21 +09:00
Randy Mackay bf0d096276 AP_Scripting: copter deadreckoning moved to applet directory 2023-03-18 08:55:21 +09:00
Tom Pittenger 10f7a363ed AP_Scripting: bump up SCR HEAP SIZE for large RAM devices 2023-03-14 06:57:21 -07:00
Peter Barker 8e1decc730 AP_Scripting: correct compilation when AP_EFI_Scripting is not enabled 2023-03-14 12:09:26 +11:00
Tom Pittenger 87cb40798f AP_Scripting: add docs to FWVersion:type() 2023-03-10 14:45:58 -08:00
Andrew Tridgell 615838a7d4 AP_Scripting: ensure new user data is zero
this prevents use of uninitialised data for user objects created in
lua, giving more predictable behaviour
2023-03-10 14:13:55 +11:00
Andrew Tridgell c00e047d87 AP_Scripting: added mission_spiral.lua example
useful for creating very large missions with a distinctive pattern
2023-03-10 14:13:55 +11:00
Bob Long ddd2d92d39 AP_EFI lua: add enum docs
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2023-03-07 20:35:13 +09:00
Bob Long 74279d9b32 AP_Scripting: add fuel_pressure_status binding 2023-03-07 20:35:13 +09:00
Peter Hall 9ac488d500 AP_Scripting: add binding to set motors external limits 2023-03-07 10:12:30 +11:00
Peter Hall 23fb73085a AP_Scripting: add bindings to get throttle, forward, lateral and spool state from motors 2023-03-07 10:12:30 +11:00
Andrew Tridgell bc3fc9a317 AP_Scripting: added bindings for motors roll, pitch, yaw outputs 2023-03-07 10:12:30 +11:00
Iampete1 a021489580 AP_Scripting: lua_bindings: use local varable for AP_Scripting, don't get every time 2023-03-05 09:42:05 +11:00
Iampete1 54a9239e62 AP_Scripting: fix PWMSource deletion crash 2023-03-05 09:42:05 +11:00
Tom Pittenger 5498bbec33 Scripting: add bindings for jump tags 2023-02-28 12:00:18 +11:00
Tom Pittenger 1fe4b6b7e3 AP_Scripting: Add example JUMP_TAG scripts 2023-02-28 12:00:18 +11:00
Andrew Tridgell 068d1d5413 AP_Scripting: change VTOL-quicktune to use cached aux
makes it possible to use aux buttons in MissionPlanner
2023-02-24 09:43:41 -08:00
Tom Pittenger 54e56beba8 AP_Scripting: fix doc warnings 2023-02-23 13:07:08 -08:00
Iampete1 f7a14a58fd AP_Scripting: luacheck: check globals 2023-02-22 19:36:02 +11:00
Randy Mackay 5fc322b327 AP_Scripting: add djirs2 driver parameter descriptions 2023-02-22 18:08:27 +11:00
Randy Mackay c80c4adf3e AP_Scripting: djirs2 driver supports upsidedown setup 2023-02-22 18:08:27 +11:00
Randy Mackay 4918bb4705 AP_Scripting: djirs2 driver minor comment fix 2023-02-22 18:08:27 +11:00
Stephen Dade 0b048b4b42 AP_Scripting: Add Mavlink example 2023-02-21 22:32:32 +11:00
Stephen Dade d4bb4e4526 AP_Scripting: Add lua scripts for Rockblock modem 2023-02-21 22:32:32 +11:00
Stephen Dade 0d8fedd2d5 AP_Scripting: Add bindings for throttle and frame type 2023-02-21 22:32:32 +11:00
Stephen Dade a3cdfd0e3c AP_Scripting: Add high latency MAVLink control 2023-02-21 22:32:32 +11:00
rishabsingh3003 0f827653c4 AP_Scripting: Add lua driver for Benewake H30 2023-02-21 16:47:56 +11:00
rishabsingh3003 c86d2641f1 AP_Scripting: Add support for lua scripting based RangeFinder 2023-02-21 16:47:56 +11:00
Randy Mackay 0797cdf6fe AP_Scripting: viewpro mount driver 2023-02-16 16:49:51 +09:00
Randy Mackay a84cf91dd0 AP_Scripting: add get_camera_state binding 2023-02-16 16:49:51 +09:00
Iampete1 dcd55155af AP_Scripting: fix uint32 bitwise not 2023-02-15 19:39:21 +11:00
Iampete1 11f6b5c3ea AP_Scripting: docs: ignore luacheck warnings 2023-02-15 19:38:46 +11:00
Iampete1 02e9bf6ff5 AP_Scripting: drivers: ignore luacheck warnings 2023-02-15 19:38:46 +11:00
Iampete1 e2fe2d3c57 AP_Scripting: tests: ignore luacheck warnings 2023-02-15 19:38:46 +11:00
Iampete1 03167d41db AP_Scripting: examples: ignore luacheck warnings 2023-02-15 19:38:46 +11:00
Iampete1 3deaece3b7 AP_Scripting: applets: ignore luacheck warnings 2023-02-15 19:38:46 +11:00
Iampete1 fd1a72cc6d AP_Scripting: add luacheck config 2023-02-15 19:38:46 +11:00
Randy Mackay eb752a8397 AP_Scripting: djirs2 comment fix 2023-02-15 18:03:39 +11:00
Randy Mackay 4b8d99b25d AP_Scripting: djirs2 roll direction fix 2023-02-15 18:03:39 +11:00
Randy Mackay 00b9838c08 AP_Scripting: djirs2 driver gets missing wrap_360 2023-02-15 18:03:39 +11:00
Andrew Tridgell 6bf633d5d9 AP_Scripting: added parameters for EFI_SkyPower 2023-02-12 07:02:15 +11:00
Andrew Tridgell 46370a7b2c AP_Scripting: added param docs for ship landing 2023-02-12 07:02:15 +11:00
Andrew Tridgell 04c6fc6ea3 AP_Scripting: added param docs for VTOL-quicktune.lua 2023-02-11 12:56:05 +11:00
Iampete1 a75dc0a49d AP_Scripting: Docs: correct update_rpm and set_rpm_scale markup 2023-02-11 11:14:25 +11:00
Andrew Tridgell b06df0da49 AP_Scripting: added quadplane payload place script 2023-02-09 07:02:12 +11:00
Andrew Tridgell 64810f5713 AP_Scripting: added docs for new bindings 2023-02-09 07:02:12 +11:00
Andrew Tridgell 2e5c5074af AP_Scripting: added bindings for quadplane package place 2023-02-09 07:02:12 +11:00
Andrew Tridgell 9b5246735e AP_Scripting: removed unused aerobatics code and params 2023-02-08 16:25:39 +11:00
Andrew Tridgell 581bf77b0d AP_Scripting: new rudder offset for aerobatics 2023-02-08 16:25:39 +11:00
Andrew Tridgell 84944bbf53 AP_Scripting: added set_rudder_offset binding 2023-02-08 16:25:39 +11:00
Iampete1 c5c7863829 AP_Scripting: add bindings for E-stop, Interlock and Safety state 2023-02-07 10:24:18 +11:00
Randy Mackay 7266f6ee7b AP_Scripting: DJIR2 gimbal driver 2023-01-31 17:20:37 +09:00
Randy Mackay 0cbdd28f82 AP_Scripting: add mount driver bindings 2023-01-31 17:20:37 +09:00
Henry Wurzburg 060d582d28 AP_Scripting:fix duplicate function in Script_Controller 2023-01-31 10:10:12 +11:00
Andrew Tridgell 9fddec28d3 AP_Scripting: fixed reverse barrel roll 2023-01-29 11:31:00 +11:00
Henry Wurzburg 3a4d33c776 AP_Scripting:Updates to schedules and sports_aero messages 2023-01-24 11:39:39 +11:00
Andrew Tridgell 29f124543b AP_Scripting: added custom telem msgs for EFI_Skypower driver
also:
- and added parameter for enable/disable start when disarmed
- added logging for extra fields not in EFI logging
- fixed endianness of EFI tester
2023-01-24 10:25:12 +11:00
Henry Wurzburg f8c4356ce2 AP_Scripting: add error check to mission_load.lua 2023-01-21 11:09:52 +11:00
Andrew Tridgell b71601e9e4 AP_Scripting: fixed alt frame error in ship landing
if terrain follow is enabled then this would result in mixing a
terrain alt with an absolute alt, resulting in attempts to descend to
a negative alt
2023-01-19 17:09:05 +11:00
Nicholas (Nick) Kruzan 0dc878564f AP_Scripting:examples - rangefinder_test.lua : Minor Spelling Correction
Ratation -> Rotation
2023-01-18 12:01:40 +00:00
Henry Wurzburg 71099c881d AP_Scripting: add error check to mission_load.lua 2023-01-17 10:24:08 +11:00
Henry Wurzburg c8617ccf01 AP_Scripting:Add mission to Script_Controller and improve 2023-01-17 10:24:08 +11:00
Andrew Tridgell b45be75a98 AP_Scripting: use MultiHeap class 2023-01-16 09:19:16 +11:00
Andrew Tridgell 10c5ecb46a AP_Scripting: added example for generator throttle control 2023-01-10 10:19:51 +11:00
Henry Wurzburg 787cce4fc3 AP_Scripting: sport_aerobatics trick additions and fixes 2023-01-10 09:41:41 +11:00
Andrew Tridgell db45682b3d AP_Scripting: check for alloc failure of ObjectBuffer 2023-01-08 15:11:32 +11:00
Henry Wurzburg 8de4195ffc AP_Scripting: add readme.md file and completion 2023-01-04 16:20:12 +11:00
Andrew Tridgell ea89f04a56 AP_Scripting: script switching system
Co-authored-by:Henry Wurzburg (hwurzburg@yahoo.com)
2023-01-04 16:20:12 +11:00
Henry Wurzburg bd27a8c650 AP_Scripting: Update readmes for aerobatics 2023-01-03 11:22:52 +11:00
Henry Wurzburg 65547f41c7 AP_Scripting: rename TRIK to TRIKR for sport_aerobatics 2023-01-03 11:03:36 +11:00
Iampete1 f0c1673b62 AP_Scripting: bindings: logger: support more formats 2023-01-03 10:45:51 +11:00
Henry Wurzburg 175c2c950e AP_Scripting:fix format error in readme file 2022-12-30 14:39:43 -08:00
Andrew Tridgell d5a0421bbb AP_Scripting: fixed derry turn in aerobatics 2022-12-29 07:49:15 +11:00
Andrew Tridgell 6edfe7368e AP_Scripting: don't start aerobatics until we have a ahrs estimates
prevents nil derefernce in loading tricks
2022-12-29 07:48:53 +11:00
Henry Wurzburg d6a5d31625 AP_Scripting:add rate based aerobatics 2022-12-27 18:20:34 +11:00
Andrew Tridgell f742845552 AP_Scripting: changed airshow rolling circle
make it more achievable
2022-12-22 21:13:30 +11:00
Tatsuya Yamaguchi 43160efba8 AP_Scripting: modify example script of README.md
- avoid to call set_output_pwm before setting origin
- make get_home() once
2022-12-22 13:25:35 +09:00
Andrew Tridgell 6dcb137b29 AP_Scripting: fixed error on bad cmd in mission 2022-12-17 15:35:35 +11:00
Ari Krupnik 205329575a AP_Scripting: Lua applet starts/stops video recording on arm/disarm 2022-12-17 11:55:50 +11:00
Andrew Tridgell 57d60f86b5 AP_Scripting: new version of knife-edge compensation in aerobatics
this is a simpler approach based on sin(roll)*cos(pitch)
2022-12-16 10:09:17 +11:00
Andrew Tridgell 84db577f09 AP_Scripting: fixed aerobatics bug
thanks Andy!
2022-12-15 07:17:06 +11:00
Andrew Tridgell ca3be1d0c7 AP_Scripting: fixed roll correction at end of partial climbing circle 2022-12-15 07:17:06 +11:00
Andrew Tridgell afc1a38b73 AP_Scripting: use luaM_malloc instead of allocf
handles GC if needed automatically
2022-12-15 07:17:06 +11:00
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