Siddharth Purohit
913c00dd96
AP_Scripting: add default case to fix uninitialised use situation
2020-07-30 20:28:48 +10:00
Michael du Breuil
1c789c66c3
AP_Scripting: Fix generator for nullable types with multiple return values
2020-07-28 16:22:17 -07:00
Iampete1
2ad81fb425
AP_Scripting: generator: static cast all basic return types
2020-07-28 13:47:35 +10:00
Michael du Breuil
ff007dd017
AP_Scripting: Allow generator to cope with windows line endings
...
Also fixes allowing an extra new line on the depends entries to be
emitted, as well as a possible stack overflow in the generator if
you inserted a malicious comment.
2020-06-24 09:37:36 -07:00
Andy Piper
e9b939ccb5
AP_Scripting: build fix for macOS
2020-05-13 11:59:03 -07:00
Andrew Tridgell
2c6fd13899
AP_Scripting: auto-build the bindings
2020-05-12 19:55:21 +10:00
Michael du Breuil
6753e99604
AP_Scripting: Add a return around luaL_error
...
This is the normal method of calling luaL_error which longjmp's away,
and it helps the static analysis tools realize that anything afterwards
will not be reached
2020-03-28 21:16:09 +11:00
Michael du Breuil
a0bfc823b3
AP_Scripting: Support libraries holding the scheduler lock
2020-02-18 09:16:10 +11: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
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
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
610dff61d8
AP_Scripting: Fix nullable arguments numbering, add location bearing
2019-10-25 08:48:22 +08: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
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
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
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
ed584313bd
AP_Scripting: Remove unneeded debug output, fix the index for singleton errors
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
Michael du Breuil
104164d2e4
AP_Scripting: Tighten range checks on library calls
2019-07-06 09:01:13 -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
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
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
e7d59514d9
AP_Scripting: Add an initial generator
2019-04-11 23:03:20 -07:00