Commit Graph

974 Commits

Author SHA1 Message Date
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