Commit Graph

1081 Commits

Author SHA1 Message Date
Andrew Tridgell e2767f899f AP_Scripting: allow for 0x00 for 2nd checksum byte in INF_Inject driver
the device does send 0x00 sometimes and data is valid
2024-05-04 07:43:39 +10:00
Andrew Tridgell c628e31c0a AP_Scripting: fixed crc and added logging to INF_Inject driver 2024-05-02 12:17:49 +10:00
Peter Barker d1de760ee4 AP_Scripting: enable AP_Scheduler for CubeOrange-periph-heavy
... we use the scehduler in AP_Motors, which is compiled when making heavy-periph
2024-05-01 17:53:44 +10:00
Andrew Tridgell 1cafe25854 AP_Scripting: improve INF inject driver
make it more robust to serial errors, and support correct checksum
2024-04-14 07:19:40 +10:00
Henry Wurzburg b0decff44f AP_SCripting: update VTOL QuickTune to allow YAW FLTE = 0 2024-04-09 09:31:42 +10:00
Peter Mullen c0a8e6c96a AP_Scripting: lua range finder driver that returns distances to a simulated sea floor for testing ArduSub surface tracking modes 2024-04-08 11:18:23 -03:00
Iampete1 dd4e212fbd AP_Scripting: examples: update servo scan 2024-04-03 16:31:23 +09:00
Andrew Tridgell 1794c128a2 AP_Scripting: raise max FLTE for yaw to 8
better yaw for many vehicles
2024-04-02 10:28:34 +11:00
Peter Barker bb83c43d1b AP_Scripting: rename GPS_ to GPS1_ 2024-03-19 19:50:12 +11:00
Andrew Tridgell ece61c29d5 AP_Scripting: fixed NaN in path lookahead at end of schedule
this can happen at high speedups under SITL
2024-03-17 09:07:29 +11:00
Andrew Tridgell 6a8130e8ba AP_Scripting: prevent "Starting XXX tune" happening multiple times
when filter setting disabled
2024-03-13 16:14:22 +09:00
Andrew Tridgell b9fbc7d809 AP_Scripting: support precision loiter in quadplanes
and allow for moving landing target
2024-03-12 10:45:56 +11:00
Iampete1 90ad109047 AP_Scripting: Only try to make scripts directory if file write and directory is enabled 2024-03-12 08:52:38 +11:00
Andrew Tridgell dc863d878a AP_Scripting: fixed race condition in ship landing
and fixed lua warnings
2024-03-06 09:39:51 +11:00
Andrew Tridgell c210675e95 AP_Scripting: added plane_precland lua script 2024-03-06 09:39:51 +11:00
Andrew Tridgell fa1d965224 AP_Scripting: added docs for precland 2024-03-06 09:39:51 +11:00
Andrew Tridgell bac99dc7ac AP_Scripting: added bindings for AC_PrecLand 2024-03-06 09:39:51 +11:00
Andrew Tridgell 9ea8e61cfc AP_Scripting: example showing how to use readstring method
a fairly common requirement for scripts
2024-02-28 19:05:58 +11:00
Randy Mackay 07cd050f63 AP_Scripting: EKF source switching for ExtNav and optflow 2024-02-28 18:52:37 +11:00
Randy Mackay f2b66fd179 AP_Scripting: add VisualOdom bindings 2024-02-28 18:52:37 +11:00
Andrew Tridgell 23f2621685 AP_Scripting: improved dual log handling
allow sync of PTHT messages between vehicle logs
2024-02-27 21:10:01 +11:00
Iampete1 c7d543f9af AP_Scripting: only try to load from ROMFS if `HAL_HAVE_AP_ROMFS_EMBEDDED_LUA` is defined 2024-02-27 11:09:08 +11:00
Peter Barker 53fd9056d8 AP_Scripting: use AP_ARMING_ENABLED and AP_COMPASS_ENABLED
... in place of periph-specific checks
2024-02-27 11:02:48 +11:00
Iampete1 b7dd432409 AP_Scripting: allow loading moduels from ROMFS 2024-02-27 10:17:43 +11:00
Clyde McQueen b486c1cb46 AP_Scripting: expose sub rangefinder methods 2024-02-21 18:59:20 -03:00
Andrew Tridgell f8097379cb AP_Scripting: prevent a code path to abort() in scripting
if scripting can't find an error handler it can call abort(). We don't
ever want to do that in ArduPilot
2024-02-21 12:09:48 +11:00
Andrew Tridgell b3240ac243 AP_Scripting: use gmtime_r() instead of gmtime()
using gmtime_r makes gmtime thread safe
2024-02-21 12:09:48 +11:00
Iampete1 5907e49cb1 AP_Scripting: ensure that all pass by refence values are initialized 2024-02-20 11:05:36 +11:00
Andrew Tridgell 303c33411f AP_Scripting: fixed pitch param reversion in revert_param.lua 2024-02-19 09:41:18 +11:00
Peter Barker 2263dced74 AP_Scripting use scheduler semaphore only if AP_SCHEDULER_ENABLED 2024-02-15 12:17:07 +11:00
Iampete1 46e4588cf7 AP_Scripting: add file system crc32 binding 2024-02-15 07:36:39 +11:00
Peter Barker 40f0001aea AP_BattMonitor: fix compilation when scripting in but scripted-battery out
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-02-14 23:43:18 +11:00
Peter Barker 3f34eb12b0 AP_Scripting: include extern-hal line to fix compilation
this external line was coming in from a header file somewhere...
2024-02-13 20:57:12 +11:00
Andrew Tridgell 5d789f46ea AP_Scripting: prevent double close in web server 2024-02-13 12:40:14 +11:00
Andrew Tridgell 7b36adf49d AP_Scripting: prevent re-use of closed socket
this prevents a null pointer dereference after a close of a network
socket
2024-02-13 12:40:14 +11:00
Richard Marko 04b46678a4 treewide: fix shebangs - /bin/bash -> /usr/bin/env bash
Most scripts/tools use non-portable `/bin/bash`, switch
to environment agnostic `/usr/bin/env bash`.
2024-02-13 11:36:23 +11:00
Peter Barker bb8047c026 AP_Scripting: correct compilation with AP_FILESYSTEM_FORMAT_ENABLED is false
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-02-12 09:38:29 +11:00
Hayden Donald 52409d6765 AP_Scripting: Add gyro/accel consistency checks to lua
Added the accels_consistent and gyros_consistent methods to the lua bindings
2024-02-09 18:54:43 +11:00
Hayden Donald c259d11cd6 AP_Scripting: Add getting of gyro/accel values
Added the ability to get gyro/accel from LUA
2024-02-08 15:24:12 +11:00
Hayden Donald baf8958ee0 AP_Scripting: Add send_text to display binding
Added a notify:send_text and notify:release_text binding to override the text displayed on a display with custom text
2024-02-07 23:52:30 +00:00
Hayden Donald 14aea255e6 AP_Scripting: Add calibrating method
Add the calibrating method to lua so we can see if the device is currently calibrating
2024-02-07 18:36:33 +11:00
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