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