Commit Graph

1040 Commits

Author SHA1 Message Date
Hayden Donald 85a8b6c414 AP_Scripting: Add filesystem format
Added the ability to format the SD card from LUA
2024-02-07 18:35:36 +11:00
Peter Barker bed976a8fc AP_Scripting: add and use AP_BATTERY_ENABLED 2024-02-06 11:01:02 +11:00
Andrew Tridgell 4f182f3194 AP_Scripting: fixed parameter names 2024-01-23 15:00:30 +11:00
Andrew Tridgell 77877584f8 AP_Scripting: fixed example script 2024-01-23 15:00:30 +11:00
Andrew Tridgell a0c2f5eadb AP_Scripting: convert ALT_HOLD_RTL to RTL_ALTITUDE 2024-01-23 15:00:30 +11:00
Andrew Tridgell 8fd0bc6f6a AP_Scripting: convert ARSPD_FBW_MIN/MAX to AIRSPEED_MIN and AIRSPEED_MAX 2024-01-23 15:00:30 +11:00
Andrew Tridgell 00eeac0551 AP_Scripting: convert remaining uses of TRIM_ARSPD_CM to AIRSPEED_CRUISE 2024-01-23 15:00:30 +11:00
Andrew Tridgell c064e8eb5a AP_Scripting: added docs for reboot in periph 2024-01-21 12:30:08 +11:00
Andrew Tridgell c84459f518 AP_Scripting: added reboot() binding to AP_Periph 2024-01-21 12:30:08 +11:00
Andrew Tridgell eacfd24cb9 AP_Scripting: document networking bindings 2024-01-12 19:06:49 -08:00
Andrew Tridgell 9202a33ff4 AP_Scripting: added networking bindings and allow uart calls without GCS
this allows for useful lua scripts on non-heavy peripherals
2024-01-12 19:06:49 -08:00
Ferruccio Vicari 8bfd8f2403 AP_Scripting: script for idle control (gas helicopters)
allows manual and/or automatic engine rpm control during ground idling

fix for conversion to float

rename fix
2024-01-09 22:29:50 -05:00
Michael du Breuil ae256b168e AP_Scripting: Add bindings for jump to landing and abort in the mission 2024-01-09 10:55:06 +11:00
Andrew Tridgell 098277ce6a AP_Scripting: added ANX CAN battery driver 2024-01-09 07:53:59 +11:00
Andrew Tridgell 70d6788855 AP_Scripting: update docs 2024-01-09 07:53:59 +11:00
Bob Long 1ffda7ef3c AP_Scripting: add scripting backend
AP_BattMonitor_Scripting: whitespace consistency
2024-01-09 07:53:59 +11:00
Andrew Tridgell efac52136b AP_Scripting: fixed memory leak in sendfile()
this leaked the SocketAPM on each sendfile() call, we now rely on the
script calling close(). The net_webserver.lua is already using close()
correctly, this change just makes close able to find the socket
2024-01-08 13:01:02 +11:00
Michelle Rossouw dff9a7742e AP_Scripting: Add CAN_Logger example script
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-01-07 12:23:39 +11:00
Andrew Tridgell a841e9c109 AP_Scripting: don't throw an exception on out of sockets in accept()
normal lua sockets don't throw an exception on accept, it just returns
nil
2024-01-03 12:14:47 +11:00
Andrew Tridgell 213cdcef4b AP_Scripting: use SocketAPM_native 2024-01-03 12:14:47 +11:00
Andrew Tridgell 1bceee1863 AP_Scripting: added WEB_SENDFILE_MIN parameter
allows for sendfile tuning and disable
2024-01-03 12:14:47 +11:00
Peter Mullen a83ed6b730 AP_Scripting: Add LUA interface to access Range Finder state 2024-01-02 11:31:02 +11:00
Iampete1 81d4804d53 AP_Scripting: examples: update examples for fixed io.open behaviour 2024-01-01 13:15:37 +11:00
Andrew Tridgell 6fb99d6b1e AP_Scripting: fixed use after free bug
found with valgrind
2023-12-29 11:33:58 +11:00
Tom Pittenger 47fdf2295c AP_Scripting: add bindings for ahrs.wind_alignment and ahrs.head_wind 2023-12-26 10:20:23 +11:00
Thomas Watson 8ee9dd13be AP_Scripting: remove references to legacy UART order 2023-12-19 06:53:15 +11:00
Andrew Tridgell 8732f582c3 AP_Scripting: update SkyPower driver to support new model
support SP-275 dual-cylinder ECU
2023-12-17 14:14:20 +11:00
Andrew Tridgell 61b3ad326d AP_Scripting: added SCR_THD_PRIORITY parameter
this makes it possible to run lua scripts at higher priorities, which
makes real time lua scripts (such as IMU drivers) possible
2023-12-15 10:38:07 +11:00
Randy Mackay 56a2474e1c AP_Scripting: djirs2 reply timeout reduced to 0.1 sec 2023-12-13 18:16:11 +11:00
Thomas Watson 95033b2ef5 AP_Scripting: mount-djirs2 yaw angle reporting fix 2023-12-13 18:16:11 +11:00
Randy Mackay b507075701 AP_Scripting: mount-djir2 handles both legacy and latest ver 2023-12-13 18:16:11 +11:00
Thomas Watson c6c41cb609 AP_Scripting: mount-djirs2: fix parsing for latest firmware
DJI R SDK version 2.2.0.5 released on October 30, 2020 added CmdSet and
CmdID bytes to reply frames before the data segment which need to be
skipped when parsing replies.

Tested with gimbal firmware 01.04.00.20 and 01.05.00.20 (latest version).
2023-12-13 18:16:11 +11:00
Iampete1 452f9989b9 AP_Scripting: fix some more of the easy luacheck warnings 2023-12-13 18:10:26 +11:00
Peter Barker 22c1019767 AP_Scripting: correct compilation when AP_RTC is compiled out 2023-12-12 14:35:25 +11:00
Iampete1 782605e7ea AP_Scripting: CANSensor: Add filtering of incoming frames
Co-authored-by: Andras Schaffer <eosbandi@gmail.com>
2023-12-12 11:32:04 +11:00
Andrew Tridgell 75217ec1e6 AP_Scripting: added readstring for uarts
this is much more efficient than reading a byte at a time
2023-12-12 07:42:15 +11:00
Andrew Tridgell ffb7328ede AP_Scripting: review fixes
thanks Pete!
2023-12-11 18:00:38 +11:00
Andrew Tridgell ded1cdaa2a AP_Scripting: fixed webserver warnings 2023-12-11 18:00:38 +11:00
Andrew Tridgell 583c24d833 AP_Scripting: updated docs 2023-12-11 18:00:38 +11:00
Andrew Tridgell 18044a9644 AP_Scripting: added a home page and ajax support 2023-12-11 18:00:38 +11:00
Andrew Tridgell 168bc4e32f AP_Scripting: added If-Modified-Since for webserver 2023-12-11 18:00:38 +11:00
Andrew Tridgell 90c12d4db3 AP_Scripting: added stat() binding for filesystem 2023-12-11 18:00:38 +11:00
Andrew Tridgell 9f08e5d317 AP_Scripting: use sendfile() in web server 2023-12-11 18:00:38 +11:00
Andrew Tridgell 1e1255c8f0 AP_Scripting: added sendfile() API on sockets 2023-12-11 18:00:38 +11:00
Andrew Tridgell 26d814880e AP_Scripting: webserver improvements 2023-12-11 18:00:38 +11:00
Andrew Tridgell 39891d3161 AP_Scripting: improve web server debug 2023-12-11 18:00:38 +11:00
Andrew Tridgell f924497194 AP_Scripting: added poll bindings 2023-12-11 18:00:38 +11:00
Andrew Tridgell 1419042fc0 AP_Scripting: added web server appliction 2023-12-11 18:00:38 +11:00
Andrew Tridgell 3446ff78d7 AP_Scripting: added isdirectory() 2023-12-11 18:00:38 +11:00
Andrew Tridgell 9065baa329 AP_Scripting: added bindings for SocketAPM 2023-12-11 18:00:38 +11:00
Peter Barker 455610a7ad AP_Scripting: correct mavlink_test.lua 2023-12-05 20:15:21 +11:00
Iampete1 2a3a5b2804 AP_Scripting: add checksum of running and loaded scripts with arming check 2023-12-05 11:03:58 +11:00
Randy Mackay 46298052b6 AP_Scripting: simplify Rover quick tune
Only tunes FF.  P and I are set as ratio to FF
2023-11-29 08:18:07 -08:00
Tom Pittenger b5e2f9aa0a AP_Scripting: change some _INFO msgs to _CRITICAL/ERROR 2023-11-22 00:07:05 -08:00
Andy Piper b5ef11797b AP_Scripting: add success status to serialLED:send and serialLED:set_RGB 2023-11-20 19:22:20 +11:00
Andrew Tridgell 3e0e32a409 AP_Scripting: support 2nd cylinder in EFI 2023-11-17 13:09:02 +11:00
Andrew Tridgell 4dcc64d82d AP_Scripting: added more params to revert script 2023-11-17 07:23:28 +11:00
Iampete1 ae2ab08b1f AP_Scripting: add bindings for fence 2023-11-07 07:52:14 +11:00
Randy Mackay ff3925a0fd AP_Scripting: mount-poi displays startup message
Also remove out-of-date-comments
2023-11-07 07:47:53 +11:00
Randy Mackay 3bface980d AP_Scripting: mount-poi supports locking mount to Location 2023-11-07 07:47:53 +11:00
Andrew Tridgell c1831bae32 AP_Scripting: added HobbyWing DataLink lua driver 2023-11-06 07:12:35 +11:00
Andrew Tridgell 96f5a1cb2b AP_Scripting: added bindings for telemetry data for ESCs
allows more complete ESC protocol implementation in scripting
2023-11-06 07:12:35 +11:00
Iampete1 66b8fd95ad AP_Scripting: add binding for GCS last seen time 2023-11-04 19:10:36 +11:00
Henry Wurzburg 4b4c6e8696 AP_Scripting:add README file to examples directory 2023-10-31 11:33:08 +11:00
Iampete1 069507c48e AP_Scripting: fix easy lua check issues in examples 2023-10-31 11:11:52 +11:00
vzarkar 04c5c336b8 AP_Scripting: add note to miision_load.lua about file locations
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2023-10-31 10:40:34 +11:00
Andrew Tridgell a190dfe24a AP_Scripting: added get_cell_voltage() API and arming check example
this allows for cell imbalance to be checked as an arming check using
a lua script
2023-10-25 07:31:24 +11:00
Andrew Tridgell 13d5668fad AP_Scripting: fixes trick announcements on 2nd run in plane_aerobastics.lua
thanks to Henry for finding this!
2023-10-24 09:52:53 +11:00
Andrew Tridgell 2ec87690b3 AP_Scripting: fixed rudder in sport aerobatics 2023-10-24 09:52:53 +11:00
Andrew Tridgell cf6fe205d2 AP_Scripting: make 2-position switch easier for quicktune
this allows for low/high instead of low/mid for quicktune with a 2
position switch such as with a herelink transmitter
2023-10-21 08:14:03 +11:00
Andy Piper 63805a00a9 AP_Scripting: add an applet to control LED brightness with a switch 2023-10-18 15:24:32 +01:00
Andrew Tridgell 96f7cc2d38 AP_Scripting: added SVFFI generator support 2023-10-18 09:01:57 +11:00
Iampete1 105801c5b0 AP_Scripting: add support for dependencty on manual methods, remove handling of mission commands without AP_Mission 2023-10-17 10:23:20 +11:00
Iampete1 77e2d07979 AP_Scripting: add lots off missing binding dependencies 2023-10-17 10:23:20 +11:00
Iampete1 6a8e07e7ae AP_Scripting: Generator: allow unused enum loader function 2023-10-17 10:23:20 +11:00
Iampete1 cf2ba23089 AP_Scripting: generator: emit dependancys for operators 2023-10-17 10:23:20 +11:00
Iampete1 596433a19a AP_Scripting: lua_scripts: add missing HAL_LOGGING_ENABLED define 2023-10-17 10:23:20 +11:00
Iampete1 f712b202de AP_Scripting: require a file system 2023-10-17 10:23:20 +11:00
Iampete1 fc68bf8979 AP_Scripting: don't include CAN support on periph if there is only one CAN port 2023-10-17 10:23:20 +11:00
Andrew Tridgell 2cb1f9bbb9 AP_Scripting: added INS filters to revert list
these may be changed in a tuning session
2023-10-13 09:48:42 +11:00
Iampete1 a068569f8a AP_Scripting: add basic print 2023-10-04 18:34:08 +11:00
Andrew Tridgell 020807a064 AP_Scripting: added INF_Inject EFI driver 2023-10-04 18:29:10 +11:00
Andy Piper dd7f65ec51 AP_Scripting: support set_num_neopixel_rgb() 2023-10-04 18:06:17 +11:00
Randy Mackay 28746e84ae AP_Scripting: winch-control gets .md file 2023-10-03 12:13:06 +11:00
Randy Mackay e914c38cef AP_Scripting: winch-test becomes winch-control applet 2023-10-03 12:13:06 +11:00
Randy Mackay 0c16049f94 AP_Scripting: winch-test param name typo fix 2023-10-03 12:13:06 +11:00
Andrew Tridgell 4ca2277f1a AP_Scripting: added logging to EFI_Halo6000.lua driver
allows for log analysis of current/voltage
2023-09-30 17:15:36 +10:00
Clyde McQueen 924a391d55 AP_Scripting: add sub bindings for joystick buttons 2023-09-27 08:14:36 +10:00
Buenobarbie 5748e7b840 AP_Scripting: New script example 2023-09-27 08:14:15 +10:00
Iampete1 7bbd4a7c7d AP_Scripting: add some missing dependencies 2023-09-26 11:29:42 +10:00
Iampete1 82628c2559 AP_Scripting: bindings: allow GCS without high latency 2023-09-26 11:29:42 +10:00
Iampete1 6ae2fc2ca0 AP_Scripting: support per method dependencies 2023-09-26 11:29:42 +10:00
Randy Mackay bb6d0ec9ca AP_Scripting: winch-test simplification 2023-09-26 11:12:19 +10:00
Mark Whitehorn da0f382eb2 AP_Scripting: tricks-on-a-switch activation bugfix 2023-09-12 09:21:38 +10:00
Iampete1 2c1dde8019 AP_Scripting: Examples: UART log: remove spaces in log description 2023-09-12 08:46:00 +10:00
Henry Wurzburg aea186655f AP_Scripting: add version requirement to plane_aerobatics 2023-09-11 09:16:44 +10:00
Ryan Friedman a4bdf39e2e AP_Scripting: Remove executable permissions
* The Lua scripts are not directly invoked - they have no shebang, so they shouldn't be executable

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-09-08 17:09:26 +10:00
Andrew Tridgell 23e4fba3f7 AP_Scripting: added EFI driver for DLA EFI serial protocol
a simple serial protocol, no CRC, gap framed
2023-09-03 08:34:33 +10:00
Iampete1 d2e3bd700c AP_Scripting: add argcheck warning to defualt userdata creation functions 2023-08-29 10:16:36 +10:00
Shiv Tyagi 0d87479314 AP_Scripting: make follow bindings dependant on AP_FOLLOW_ENABLED 2023-08-15 09:57:35 +10:00
Andrew Tridgell 5722cb584d AP_Scripting: added BattEstimate lua script
this estimates state of charge from resting voltage while disarmed
2023-08-10 07:43:25 +10:00
Iampete1 63666ea83a AP_Scripting: generator: fix dependancy start and end miss-match 2023-08-07 12:33:01 +10:00
rishabsingh3003 0969a28381 AP_Scripting: Add docs for proximity backend 2023-08-03 08:02:49 +09:00
rishabsingh3003 153ff58bd9 AP_Scripting: Add drivers for NoopLoop TOFSense-M CAN and Serial sensors 2023-08-03 08:02:49 +09:00
rishabsingh3003 b6a54bbef9 AP_Scripting: Add scripting proximity driver bindings 2023-08-03 08:02:49 +09:00
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