Commit Graph

1040 Commits

Author SHA1 Message Date
Andrew Tridgell 09df079c19 AP_Scripting: added example script that causes a hard fault
this exercises rapid fault handling
2024-05-15 06:47:44 +10:00
magate a6995c93cc AP_Scripting: allow revert of angular rate limits 2024-05-08 17:43:04 +10:00
Andrew Tridgell bae5859a92 AP_Scripting: added copter_loiter_brake script
for automatic BRAKE mode when flying in LOITER in steep terrain
2024-05-07 19:39:39 +10:00
Iampete1 a8b4999d96 AP_Scripting: tests: enforce correct types in docs 2024-05-07 09:51:53 +10:00
Iampete1 aa7a1ce2a6 AP_Scripting: Docs: fix all type errors 2024-05-07 09:51:53 +10:00
Iampete1 a4a8923e1e AP_Scripting: generator: add return count to manual bindings 2024-05-07 09:51:53 +10:00
Iampete1 439fcb7c46 AP_Scripting: update docs 2024-05-07 09:51:53 +10:00
Iampete1 6e75f7c80f AP_Scripting: update docs generator to show ap_objects as possibly nil 2024-05-07 09:51:53 +10:00
Iampete1 95a5169439 AP_Scripting: CAN: `get_device` and `get_device2` return nil if no driver is configure with the correct protocol 2024-05-07 09:48:10 +10:00
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