Michael du Breuil
d7a59bc449
AP_Scripting: Reduce the sleep time with no scripts
...
Lowering the sleep time when no scripts are pending, causes starting a
REPL session to respond much faster (this cuts the latency from up to 10
seconds to 1 second before the session is ready to start).
Also lowers the default scripting debug level to hide the statustext
from users, as in the general case this is just a spammy message if it
occurs, and we should be finding better reporting bits to get this to
the user.
2020-02-19 13:24:23 -07:00
Michael du Breuil
cf06beb1e6
AP_Scripting: Add support for REPL over MAVLink
2020-02-18 17:23:22 -07:00
Peter Barker
d24d1c587a
AP_Scripting: add documentation for DEBUG_LVL parameter
2020-02-18 20:25:58 +09:00
Michael du Breuil
c1a599d0bd
AP_Scripting: Reduce memory associated with the sandbox
2020-02-18 10:38:09 +11:00
Peter Hall
4ee17aea3d
AP_Scripting: regenerate bindings
2020-02-18 10:18:12 +11:00
Peter Hall
a04a34ff6a
AP_Scripting: add param get and set example
2020-02-18 10:18:12 +11:00
Peter Hall
1f139414bc
AP_Scripting: add param get, set and save bindings
2020-02-18 10:18:12 +11:00
Michael du Breuil
a0bfc823b3
AP_Scripting: Support libraries holding the scheduler lock
2020-02-18 09:16:10 +11:00
Randy Mackay
8c227a5a18
AP_Scripting: add esc-usage.lua
...
example script to retrieve esc usage time
2020-02-12 11:58:34 +09:00
Randy Mackay
fb2d7242f4
AP_Scripting: make bindings
2020-02-12 11:58:34 +09:00
Randy Mackay
617b8b45d2
AP_Scripting: add AP_ESC_Telem bindings
2020-02-12 11:58:34 +09:00
Peter Hall
d5729236e2
AP_Scripting: update plane-wind-fs battery RTL failsafe example
2020-01-21 10:12:45 +11:00
Michael du Breuil
0e70eabdb9
AP_Scripting: Send lua errors to the console before status_text
...
This helps SITL where we frequently panic about to long a statustext,
which means a user never sees the intresting part unless they comment
out the sanity check, or run on a real board.
2020-01-16 17:54:30 -07:00
Peter Hall
a1fb44b782
AP_Scripting: regenerate bindings
2020-01-14 22:34:37 -07:00
Peter Hall
d6689372e3
AP_Scripting: add to AHRS ands vehicle and add baro bindings
2020-01-14 22:34:37 -07:00
Michael du Breuil
2291702473
AP_Scripting: Raise SITL default heap size
2020-01-13 20:06:31 -07:00
Michael du Breuil
51f79c1b10
AP_Scripting: Add support for UART drivers
...
Also improves the handling of uint32_t arguments
2020-01-13 20:06:31 -07:00
Tatsuya Yamaguchi
2c9e56c4b2
AP_Scripting: allow scripts to get modes
2020-01-14 11:16:29 +11:00
Peter Barker
4c5c5fff72
AP_Scripting: add some pointers on how to work with bindings
2020-01-07 19:29:12 -07:00
Michael du Breuil
5da062b850
AP_Scripting: Forward declare lua_new_uint32_t
2020-01-06 16:02:50 -07:00
Andrew Tridgell
b69afff6a7
AP_Scripting: increase heap size (again)
2019-12-20 19:51:46 -07:00
Andrew Tridgell
07415d06ab
AP_Scripting: added RCIN example script
2019-12-20 19:51:46 -07:00
Andrew Tridgell
e86c6b047a
AP_Scripting: regen bindings for Lua
2019-12-20 19:51:46 -07:00
Andrew Tridgell
32215be29f
AP_Scripting: added rc input bindings
2019-12-20 19:51:46 -07:00
Randy Mackay
a5a1d2812a
AP_Scripting: example to check battery cycle count
2019-12-18 15:54:42 +11:00
Randy Mackay
fdf8d4b2ee
AP_Scripting: add binding for BattMonitor's get_cycle_count method
2019-12-18 15:54:42 +11:00
Peter Hall
f9c4c17ff4
AP_Scripting: add rgb notify led example
2019-12-12 21:35:23 -07:00
Peter Hall
6b58501821
AP_Scripting: regenerate bindings
2019-12-12 21:35:23 -07:00
Peter Hall
f35ffaddc6
AP_Scripting: add rgb notify binding
2019-12-12 21:35:23 -07:00
Michael du Breuil
c836b6221d
AP_Scripting: Remove readline link dependency
2019-12-11 00:15:13 -07:00
Peter Barker
b0549c7569
AP_Scripting: add example to warn and then RTL based on wind speed
...
This was written at CubePilot 2019 as part of a workshop.
Blame MdB
2019-12-05 18:31:53 -07:00
Michael du Breuil
1c3287160e
AP_Scripting: Simplify the LED_roll example
2019-12-06 08:03:26 +08:00
Michael du Breuil
9fe2c02079
AP_Scripting: Don't restart scripts if it panic'd during the initial VM creation
2019-12-05 15:08:43 -07:00
Randy Mackay
c78112564c
AP_Scripting: init sends failure message
2019-12-03 12:48:32 +08:00
Randy Mackay
09d75cff3b
AP_Scripting: add init failure check
2019-12-03 12:48:32 +08:00
Andrew Tridgell
381af923c5
AP_Scripting: re-gen
2019-11-04 13:06:45 +11:00
Andrew Tridgell
bc7651cfcb
AP_Scripting: fixed chan check in LED bindings
2019-11-04 13:05:52 +11:00
Andrew Tridgell
48ba63ba11
AP_Scripting: added example script for LEDs
...
show LED values based on roll
2019-11-04 13:01:59 +11:00
Andrew Tridgell
7caac67487
AP_Scripting: re-gen bindings
2019-11-04 13:01:59 +11:00
Andrew Tridgell
ea681c7a1e
AP_Scripting: added bindings for LEDs
2019-11-04 13:01:59 +11:00
Andrew Tridgell
38ba08e0ce
AP_Scripting: increase default heap size
...
we will need a better fix than this. Adding a couple of bindings costs
us nearly 1k of ram even if unused
2019-11-04 13:01:59 +11:00
Michael du Breuil
38e17e2068
AP_Scripting: Add Location get_distance_NED and get_distance_NE
...
Fixes a regression with nil punning which broke Location:offset() and
adds a test script that is suitable for CI to test this sort of thing
2019-10-31 07:10:55 +11:00
Michael du Breuil
0edc8a55a0
AP_Scripting: Add plane failsafe example script
2019-10-25 08:48:22 +08:00
Michael du Breuil
610dff61d8
AP_Scripting: Fix nullable arguments numbering, add location bearing
2019-10-25 08:48:22 +08:00
Michael du Breuil
82a7116142
AP_Scripting: Allow scripts to set the mode
2019-10-25 08:48:22 +08:00
Andrew Tridgell
83eeca2586
AP_Scripting: fixes for modified AP_ROMFS API
...
need to use AP_ROMFS::free()
2019-10-24 22:03:43 +11:00
Peter Barker
f6b6aa68ed
AP_Scripting: add a hello world example
2019-10-24 13:50:51 +11:00
Peter Barker
099379713c
AP_Scripting: add simple example of a loop
2019-10-24 13:50:51 +11:00
Michael du Breuil
3274398bc2
AP_Scripting: Fix up uint32_t manipulation, fix AP_Notify
...
This also adds a touched up version of the foxhunt demo that was done at
the 2019 developer unconf
2019-10-16 21:57:41 -07:00
Michael du Breuil
e54acb8bde
AP_Scripting: Add an example message interval script
2019-10-16 09:48:55 +09:00
Michael du Breuil
076cf0bdc8
AP_Scripting: Add a one arg variant of uint32_t, and expose table unpack
2019-10-16 09:48:55 +09:00
Michael du Breuil
df8c9e5825
AP_Scripting: Raise default heap size
2019-10-15 15:35:12 -06:00
Michael du Breuil
cf94a02207
AP_Scripting: Stop running scripts if the enable flag ever goes false
2019-10-15 15:35:12 -06:00
Michael du Breuil
f0e742caa3
AP_Scripting: Fix generation of uint32_t arguments
...
This also fixes the message interval description not generating
correctly, it must have been manually edited before
2019-10-14 17:51:54 -06:00
Tatsuya Yamaguchi
5039bdc8ea
AP_Scripting: add set_message_interval binding
2019-10-02 16:09:44 +09:00
Andrew Tridgell
b577787f68
AP_Scripting: use AP_Filesystem API
2019-08-27 15:40:43 +10:00
Michael du Breuil
7fdc9fef12
AP_Scripting: Garbage collect after each run of a script
...
For some reason this resolves a memory leak in a tight loop of file
open, close. This also extends the memory debug printing to be a bit
more useful.
2019-08-27 13:54:54 +10:00
Michael du Breuil
1e66457755
AP_Scripting: Allow the bindings to descirbe any build dependencies needed
...
Scripting has a hard requirement on AP_Terrain being available, this
allows us to emit a cleaner error message if you have disabled terrain
but not scripting
2019-08-27 09:45:35 +10:00
Michael du Breuil
e05047bb0b
AP_Scripting: Remove unneeded function, add some more enums
2019-08-17 10:41:27 +09:00
Michael du Breuil
1677c11855
AP_Scripting: Cope with new AP_GPS::first_unconfigured_gps
2019-07-30 10:12:43 +10:00
Randy Mackay
0e9688a4e1
AP_Scripting: resolve gcs::send_text compiler warning
2019-07-29 09:23:13 +09:00
Michael du Breuil
852f85ec10
AP_Scripting: Fix bad return types on is_nan, is_inf, is_zero
2019-07-24 16:03:46 +10:00
Michael du Breuil
9e04939adf
AP_Scripting: Protect send_text from reading the stack
...
Also fixes small alignment problem in generated code
2019-07-24 16:03:46 +10:00
Michael du Breuil
6caa700c09
AP_Scripting: Add literal support to the binding layer
2019-07-23 10:05:29 +09:00
Michael du Breuil
f79a3100d0
AP_Scripting: Add arming call, improve range check casting
2019-07-22 14:32:54 +09:00
Randy Mackay
e45db32957
AP_Scripting: add AP_arming binding
2019-07-19 19:44:13 -07:00
Michael du Breuil
0054544bd3
AP_Scripting: Add support for enums to be passed through
2019-07-19 09:34:05 +09:00
Michael du Breuil
6e7367b86f
AP_Scripting: Reduce lua stack usage
2019-07-19 09:34:05 +09:00
Michael du Breuil
ed584313bd
AP_Scripting: Remove unneeded debug output, fix the index for singleton errors
2019-07-14 00:28:00 -07:00
Michael du Breuil
be25a703c0
AP_Scripting: Update battery interface
2019-07-14 00:28:00 -07:00
Michael du Breuil
d58783664d
AP_Scripting: Update generator to not use readline
2019-07-12 16:55:12 -07:00
Randy Mackay
27e802eaa6
AP_Scripting: add AP_AHRS method get_roll, pitch, yaw
2019-07-12 13:57:28 +09:00
Michael du Breuil
104164d2e4
AP_Scripting: Tighten range checks on library calls
2019-07-06 09:01:13 -07:00
Michael du Breuil
0ed3c547fd
AP_Scripting: Disable by default, fix a nullable type, update README
2019-06-18 00:06:32 -07:00
Michael du Breuil
8db8dcd2d2
AP_Scripting: Fix up some warnings
...
-Remove some non forward declared issues
-Remove forced min/max values from the enum range check
2019-05-11 18:25:43 -07:00
Michael du Breuil
bd256afee4
AP_Scripting: extract a common argument check helper
...
Allows an easy additional flag for saving flash space
2019-05-11 18:25:43 -07:00
Michael du Breuil
84c2b18e43
AP_Scripting: Support enum types, add millis() remove manual GCS wrapper
...
This introduces enum types for range checking/returns, adds a millis(() call
(this returns a uint32_t), and moves over to an auto generated version of the GCS binding
2019-05-11 18:25:43 -07:00
Michael du Breuil
eddf926433
AP_Scripting: Add support for semaphore protection around singletons
...
This makes the assumption that the semaphore is available via reference, not pointer
For a singleton object this seems like a reasonable API restriction
2019-05-11 18:25:43 -07:00
Michael du Breuil
17e258d347
AP_Scripting: Reenable file IO
2019-04-26 08:07:19 +10:00
Michael du Breuil
066dc9d12b
AP_Scripting: Add support for terrain
2019-04-26 08:07:19 +10:00
Michael du Breuil
50b76a27aa
AP_Scripting: Add uint32_t support to generator
2019-04-26 08:07:19 +10:00
Michael du Breuil
7690df1d69
AP_Scripting: Add boxed numerics for uint32_t types
...
Also fixes bad check in send_text that could seg fault in send_text
And fixes the fact that all freshly allocated userdata's need to be
memset
2019-04-26 08:07:19 +10:00
Michael du Breuil
8e50ca9ae4
AP_Scripting: Add stack checking to allocators
2019-04-26 08:07:19 +10:00
Michael du Breuil
56b8741c3e
AP_Scripting: Add more bindings
2019-04-26 08:07:19 +10:00
Michael du Breuil
1b48ce57f0
AP_Scripting: Add operator overloading
...
Also introduces battmonitor wrappers, and removes an unneeded checkdata
2019-04-26 08:07:19 +10:00
Michael du Breuil
6bcc6d85e7
AP_Scripting: Nullable primitive arguments do not recieve a range check
2019-04-26 08:07:19 +10:00
Michael du Breuil
893779fbcd
AP_Scripting: Introduce fixed minimum range type checking on primitives
2019-04-26 08:07:19 +10:00
Michael du Breuil
1895178285
AP_Scripting: Add support for nullable types
...
This adds nil punning to the generator. It also unifies the emitter for
both singletons and userdata, as they were almost identical to begin
with. This should ease the maintenance burden of adding new types.
2019-04-26 08:07:19 +10:00
Michael du Breuil
e4035bd7e8
AP_Scripting: Add alias suppport to the scripting generator
2019-04-26 08:07:19 +10:00
Michael du Breuil
746240ebe3
AP_Scripting: Add more primitive types
2019-04-26 08:07:19 +10:00
Michael du Breuil
f1d5269f9e
AP_Scritping: remove more libraries from the sandbox
2019-04-11 23:03:20 -07:00
Michael du Breuil
d7e71f85b8
AP_Scripting: Add a debug level param
2019-04-11 23:03:20 -07:00
Michael du Breuil
e7d59514d9
AP_Scripting: Add an initial generator
2019-04-11 23:03:20 -07:00
Pierre Kancir
ad75b1e56f
AP_Scripting: update locations_are_same to same_latlon_as
2019-04-08 08:05:05 -07:00
Pierre Kancir
3e122c19f3
AP_Scripting: move location_update to Location and rename to offset_bearing
2019-04-06 09:10:28 +11:00
Michael du Breuil
7183b504a7
AP_Scripting: Fix bad location changes
2019-03-05 08:45:54 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
67bbc6962a
AP_Scripting: replace location_offset() and get_distance() function calls with Location object member function calls
...
This allows removing duplicated code
2019-02-28 11:44:09 +11:00
Michael du Breuil
c3e11fd34d
AP_Scripting: Reduce stack allocated buffer size to reduce warnings
...
about large frame size
2019-02-01 14:31:05 -07:00
Michael du Breuil
b45970fded
AP_Scripting: Add location and ahrs user data
2019-02-01 14:31:05 -07:00
Michael du Breuil
9dd36ba511
AP_Scripting: Factor out common range constraints
2019-02-01 14:31:05 -07:00
Michael du Breuil
d38dde82fe
Lua: revert including lmem
2018-12-31 19:25:23 -07:00
Michael du Breuil
c191789651
AP_Scripting: Use dedicated heap
2018-12-31 19:25:23 -07:00
Michael du Breuil
0ede7b7d39
AP_Scripting: Catch lua panics
2018-11-26 22:32:56 +00:00
Michael du Breuil
2afe72d79f
AP_Scripting: Swap reschedule to be callback, delay
2018-11-14 01:41:35 +00:00
Michael du Breuil
ecb1a433b1
AP_Scripting: Add more runtime sanity checks
2018-11-14 01:41:35 +00:00
Michael du Breuil
40d5e233d4
AP_Scripting: Autostart all scripts in a given folder
2018-11-14 01:41:35 +00:00
Michael du Breuil
19a8c5a6ed
AP_Scripting: Run multiple scripts at once
2018-11-14 01:41:35 +00:00
Michael du Breuil
b0a84ab7cf
AP_Scripting: Enforce a time limit for a script
2018-11-14 01:41:35 +00:00
Michael du Breuil
a2a8ac15b3
AP_Scripting: Add access to SRV_Channels::set_output_pwm
...
This also provides a more intresting function, with range checking. We
could choose to ignore this range checking and leave the script author
responsible for managing this, but it's probably better to protect the
author from themselves as much as possible, even if it makes the API
binding harder to automate
2018-10-30 16:17:03 -07:00
Michael du Breuil
2c3fe0cbcf
AP_Scripting: Load a sandbox enviorment
2018-10-30 16:17:03 -07:00
Michael du Breuil
beaa069082
AP_Scripting: Disable lua coroutines
2018-10-30 16:17:03 -07:00
Michael du Breuil
68576eff32
AP_Scripting: Initial test script
2018-10-09 10:08:52 +11:00
Michael du Breuil
e421599e4f
AP_Scripting: Hide lua IO for now
2018-10-09 10:08:52 +11:00
Michael du Breuil
513e5946bb
AP_Scripting: Add Lua 5.3.5 source
2018-10-09 10:08:52 +11:00
Michael du Breuil
8049c64a5b
AP_Scripting: Create a thread and spin
2018-10-09 10:08:52 +11:00
Michael du Breuil
f2a31866aa
AP_Scripting: Initial scripting framework
2018-10-09 10:08:52 +11:00