Commit Graph

179 Commits

Author SHA1 Message Date
Randy Mackay e8699ab9fe AP_Scripting: add Location.alt to bindings 2020-03-03 10:06:38 -07:00
Randy Mackay 1e2fc444b6 AP_Scripting: add set_target_location binding 2020-03-03 10:06:38 -07:00
Peter Hall fc0d845b6c AP_Scripting: add NMEA decode example 2020-03-03 09:57:07 -07:00
Peter Hall 71f1755c97 AP_Scripting: update plane-wind-fs example 2020-02-27 18:33:56 -07:00
Peter Hall 6587653e14 AP_Scripting: regnerate bindings 2020-02-27 18:07:31 -07:00
Peter Hall 129dc16bdb AP_Scripting: add mission scripting example 2020-02-27 18:07:31 -07:00
Peter Hall 370b6473a2 AP_Scripting: add AP_Mission bindings 2020-02-27 18:07:31 -07:00
Andrew Tridgell e582432a2f AP_Scripting: regen bindings 2020-02-27 13:12:26 +11:00
Andrew Tridgell fe86d8bb0c AP_Scripting: adjust for updated LED API 2020-02-27 13:12:26 +11:00
Randy Mackay cc33c8d116 AP_Scripting: make bindings 2020-02-25 19:55:54 +09:00
Randy Mackay c0bc696b86 AP_Scripting: add arming-check-batt-temp example script 2020-02-25 19:55:54 +09:00
Randy Mackay ccaa74655c AP_Scripting: support external authorisation for arming 2020-02-25 19:55:54 +09:00
Peter Barker 1e82ae4676 AP_Scripting: log disarm method 2020-02-22 12:16:29 +11:00
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