Commit Graph

838 Commits

Author SHA1 Message Date
Iampete1 f2c2e8c1eb AP_Scripting: add PWM and GPIO to analog input example 2021-03-30 10:44:43 +11:00
Iampete1 e0621179ef AP_Scripting: add PWMSource bindings 2021-03-30 10:44:43 +11:00
Iampete1 590be4049c AP_Scripting: support userdata alias 2021-03-30 10:44:43 +11:00
Iampete1 9d739cfa42 AP_scripting: add bindings and example for analog inputs 2021-03-30 10:44:43 +11:00
Randy Mackay a17086816f AP_Scripting: proximity bindings depend upon HAL_PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00
Emre Saldiran 9e97c2e095 AP_Scripting: change set_target_posvel_circle example tart location calculation 2021-03-25 21:01:41 +09:00
Emre Saldiran dc290a8884 AP_Scripting: set_target_posvel example script 2021-03-24 08:55:48 +09:00
Emre Saldiran 1a3a2a0437 AP_Scripting: add set_target_posvel_NED binding 2021-03-24 08:55:48 +09:00
Rishabh 06a7086562 AP_Scripting: Add proximity status binding 2021-03-23 10:02:18 +09:00
Iampete1 58860205ea AP_Scripting: add manual i2c get device bindings 2021-03-17 18:50:05 +11:00
Iampete1 166aedf1be AP_Scripting: add I2CDevice to auto bindings 2021-03-17 18:50:05 +11:00
Iampete1 1f0e36e10d AP_Scripting: add i2c scan example 2021-03-17 18:50:05 +11:00
Iampete1 7b3097972b AP_Scripting: generator: support pointer semaphore flag 2021-03-17 18:50:05 +11:00
Iampete1 c54634e86b AP_Scripting: generator: finish off refence access implmentation 2021-03-17 18:50:05 +11:00
Iampete1 8effa59d10 AP_Scripting: generator: support method alias and sanitised names 2021-03-17 18:50:05 +11:00
Peter Hall 9997981702 AP_Scripting: generator: support literal singltons that do not need to be fetched 2021-03-17 18:50:05 +11:00
Andrew Tridgell 35149ae8b2 AP_Scripting: allow scripting startup with no sdcard
as scripts can be in ROMFS we should still create the thread without
the scripts directory
2021-02-25 11:34:39 -07:00
Andrew Tridgell 17031707e3 AP_Scripting: added pcall example
this shows how to catch errors in scripts to make them robust against
runtime errors
2021-02-23 09:59:37 +11:00
Iampete1 bf7920f2d7 AP_Scripting: use helper for not supported error saving 1K of flash 2021-02-18 15:12:58 -07:00
Peter Hall 43763091bd AP_Scripting: add send_named_float to simple loop example 2021-02-17 18:49:20 +11:00
Peter Hall fc95664580 AP_Scripting: add GCS send_named_float binding 2021-02-17 18:49:20 +11:00
Iampete1 6d650e74f2 AP_Scripting: add fault tolerant hex MotorsMatrix example 2021-02-10 11:16:27 +09:00
Iampete1 1395f9ce79 AP_Scripting: add 6DoF motors matrix bindings and example 2021-02-09 12:43:54 +09:00
Iampete1 28e8c5e56e AP_Scripting: add 6DoF attitude control bindings and example 2021-02-09 12:43:54 +09:00
Andrew Tridgell 5920c52285 Scripting: simple relay example
toggle at 50Hz
2021-02-09 10:23:06 +11:00
WillyZehnder acfe815305 AP_Scripting: make get_control_mode_reason available to lua 2021-02-04 08:32:35 +09:00
Patrick José Pereira bffda55639 AP_Scripting: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
yaapu 4fbba17506 AP_Scripting: added bindings for frsky telemetry library 2021-01-29 09:55:22 +11:00
Iampete1 ebfe593e38 AP_Scripting: add example script setting up a custom MotorMatrix 2021-01-26 11:07:36 +09:00
Iampete1 5c397d4674 AP_Scripting: add MotorMatrix bindings 2021-01-26 11:07:36 +09:00
Iampete1 9be19b0bfa AP_Scripting: add plane spesific quadplane in_vtol_mode binding 2021-01-19 11:18:10 +11:00
Iampete1 7de14f2e2f AP_Scripting: desc: update AP_Terrain depends 2021-01-19 11:18:10 +11:00
Iampete1 2a75432fa2 AP_Scripting: Generator: support depends 2021-01-19 11:18:10 +11:00
TsuyoshiKawamura 441be7e04b AP_Scripting: add rangefinder status_orient 2021-01-05 11:03:42 +11:00
Peter Hall 1f7d796845 AP_Scripting: add fast param bindings and example 2021-01-05 10:55:36 +11:00
Peter Hall 9dae370356 AP_Scripting: add param accesss helper 2021-01-05 10:55:36 +11:00
Randy Mackay 2eb5114688 AP_Scripting: ahrs-source.lua plays tune when source set changes 2020-12-23 19:02:59 +11:00
Randy Mackay 69cb8e6bc6 AP_Scripting: ahrs-soruce.lua uses RCx_OPTION 300
this removes the potential conflict with zigzag mode
2020-12-23 19:02:59 +11:00
yaapu 89f0ed2f8f AP_Scripting: added bindings and example for waypoint info 2020-12-10 12:39:44 +11:00
Andrew Tridgell c731e77607 AP_Scripting: added mission clear and offset_bearing bindings 2020-12-08 12:27:00 +11:00
Randy Mackay 02ba500d67 AP_Scripting: add ahrs-source-gps-wheelencoders.lua
supports automatically switching between GPS and wheel encoders based on GPS speed accuracy and vertical velocity innovation
2020-12-01 09:26:02 +09:00
Kawamura cef0c87c4c AP_Scripting: fix method name for ahrs-source.lua 2020-11-25 21:07:19 +09:00
Andy Piper a592d76866 AP_Scripting: fix compile on clang 10 2020-11-25 09:28:06 +11:00
Randy Mackay bf5c74dbdb AP_Scripting: ahrs-source example script
switches automatically between gps, external nav and optical flow
2020-11-20 16:43:44 +09:00
Randy Mackay 2b9fb79d72 AP_Scripting: add bindings for set_posvelyaw_source and get_vel_innovations 2020-11-20 16:43:44 +09:00
Michael du Breuil 53cbd86cbe AP_Scripting: Fix the lua scheduling rate to be referenced from the
start of the update

This allows specifying a return value like "return update, 10" to run
at a near perfect 100Hz, where as before it would be run 10 ms after the
script had completed it's loop, which can be highly variable as the
script experiences interupts from the system, as well as needing the
script author to take responsibility for calculating the desired update
rate at the end. This was always intended to be fixed, but I pushed it
back during the initial development, however people are begining to run
scripts that have enough processing, or are rate sensitive enough that
we are now needing to start correcting this, or scripts will have to do
their best to guess the time, which will be inferior to us providing it.

As a note if you exceeded the time expected we will be rescheduling the
script immediately, thus it will have a schedule time in the past and
will be slotted in. This can't indefinetly starve other scripts as they
will still be slotted in, but if you request an update in 1 ms, but took
100ms to run we will simply slide you back into the queue 1ms after when
you started running.
2020-11-17 10:19:13 +11:00
Andrew Tridgell c8e604a730 AP_Scripting: fixed gcc 9.x build 2020-11-13 14:30:11 +11:00
Peter Hall d6a1af4690 AP_Scripting: example: arming auth: removed unused millis call
now is fetched but never used
2020-11-11 18:24:55 +11:00
Iampete1 1587d88f58 AP_Scripting: example saving serial data to SD card 2020-11-10 12:15:56 +11:00
Iampete1 e95376fbef AP_Scripting: add notify LED get RGB binding and example 2020-11-02 17:40:21 -07:00
Iampete1 0668c5c584 AP_Scripting: support pass by refence on none bool return 2020-11-02 17:40:21 -07:00
Iampete1 97b44dfe71 AP_Scripting: add DIR_DISABLE param 2020-10-28 19:22:45 +11:00
Iampete1 2bdcadd785 AP_Scripting: examples to load and save missions to the SD card 2020-10-28 19:21:26 +11:00
Randy Mackay eb880a2657 AP_Scripting: copter-wall-climber fix for climb rate limiting 2020-10-27 14:06:15 +09:00
Randy Mackay eab7c9520c AP_Scripting: copter-wall-climber accel limiting
reduces climb rate slowly so it can stop before next interval
also fixup formatting of altitude output to user
2020-10-27 14:06:15 +09:00
Randy Mackay 2ab860b8b7 AP_Scripting: copter-wall-climber format and comment fixes
replaced tab with spaces
also fixed comment
2020-10-27 14:06:15 +09:00
Iampete1 8996c4cee0 AP_Scripting: NMEA example updated decoding 2020-10-27 11:24:49 +11:00
Michael du Breuil 1a1a5e69dd AP_Scripting: Add setmetatable back to the lua sandbox 2020-10-27 10:25:56 +11:00
Randy Mackay 8aba1655a2 AP_Scripting: add ahrs-print-variances example 2020-10-21 08:58:45 +09:00
Randy Mackay 5eae007d49 AP_Scripting: add binding for ahrs get_variances 2020-10-21 08:58:45 +09:00
Randy Mackay b0363a01b0 AP_Scripting: add copter-wall-climber example script 2020-10-20 23:04:45 +09:00
Iampete1 de664ae6a8 AP_Scripting: bindings: add units and multipliers to logging 2020-10-13 10:34:42 +11:00
Iampete1 5cbbe656ba AP_Scripting: add units and multipliers to logging example 2020-10-13 10:34:42 +11:00
Iampete1 a09e15137e AP_Scripting: add logging to plane-wind-fs example 2020-10-13 10:34:42 +11:00
Randy Mackay d31a00a6a1 AP_Scripting: replace prearm_healthy binding with healthy 2020-10-07 11:53:07 +11:00
Andy Piper 9fef5b1e94 AP_Scripting: remove compile errors and warnings 2020-09-22 09:37:02 +10:00
ashvath100 9665421a9c AP_Scripting: Walking robot naming fix and height control 2020-09-10 08:27:01 +09:00
Gone4Dirt 32de8d78ab AP_Scripting: Add Heli_IM_COL_TUNE applet and readme 2020-09-09 17:50:31 +10:00
Gone4Dirt 39788aa4f7 AP_Scripting: Add rc norm_input_ignore_trim binding 2020-09-09 17:50:31 +10:00
ashvath100 9e86355734 AP_Scripting: quadruped.lau fix after review 2020-09-01 09:33:24 +09:00
ashvath100 f344363404 AP_Scripting: quadruped.lua logic test fix 2020-09-01 09:33:24 +09:00
Randy Mackay a4c7aa6386 AP_Scripting: quadruped.lua fixups after peer review
includes these changes:
add header to quadruped.lua example
quadruped.lua loses unnecessary pwm array
minor formatting fix
correct quadruped comments re servo connections
quadruped.lua replaces /2 with x0.5
quadruped.lua loses servo_estimate arguments
2020-09-01 09:33:24 +09:00
Randy Mackay 28026176f6 AP_Scripting: quadruped example formatting fixes 2020-09-01 09:33:24 +09:00
ashvath100 1a6a623295 AP_Scripting: quadruped example script 2020-09-01 09:33:24 +09:00
Pierre Kancir af1bdcfdfc AP_Scipting: fix memleak on generator 2020-08-26 17:06:23 +10:00
Randy Mackay eddbf7a755 AP_Scripting: fix get_control_output binding
co-author: @wicked.shell.scripts@gmail.com
2020-08-20 14:09:29 +09:00
Randy Mackay 3638602d38 AP_Scripting: add rover-motor-driver example script 2020-08-20 14:09:29 +09:00
Randy Mackay 39d2079c06 AP_Scripting: add set_angle and set_range bindings 2020-08-20 14:09:29 +09:00
Randy Mackay 94b2381399 AP_Scripting: add set_output_norm binding 2020-08-20 14:09:29 +09:00
ashvath100 a3b435e912 AP_Scripting: add get_control_output binding 2020-08-20 14:09:29 +09:00
Andrew Tridgell 822d3b2a3a AP_Scripting: added get_accel AHRS method
complements get_gyro() method
2020-08-16 08:55:27 -07:00
Tsuyoshi Kawamura 67ad05609f AP_Scripting: add proximity bindings 2020-08-07 17:32:16 -07:00
Tsuyoshi Kawamura e2eed88ca3 AP_Scripting: add rangefinder bindings 2020-08-07 17:32:16 -07:00
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
Henry Wurzburg ec4bc71222 AP_Scripting: Setup of applets directory and first applet entry 2020-07-28 15:34:26 +10:00
Iampete1 2ad81fb425 AP_Scripting: generator: static cast all basic return types 2020-07-28 13:47:35 +10:00
Iampete1 4ad7eeb7a9 AP_Scripting: add RC Channel object bindings 2020-07-28 13:47:35 +10:00
Iampete1 0d9d593f05 AP_Scripting: add RC channel objects to example 2020-07-28 13:47:35 +10:00
Randy Mackay e3d538e676 AP_Scripting: add ahrs-print-angle-and-rates example 2020-07-28 09:47:59 +10:00
murata 5f3837f434 AP_Scripting: Modify the extension. 2020-07-28 08:40:06 +09:00
Henry Wurzburg 8bfda973db AP_Scripting: Add user accessable script parameters 2020-07-19 14:18:39 +10:00
Andrew Tridgell e9a4a74e7b AP_Scripting: suppress cast-align warnings in Lua interpreter
this is externally maintained code that makes heavy use of casting
2020-07-10 13:31:27 +10:00
Andrew Tridgell 6bab6d94bf AP_Scripting: fixed equality test for uint32_t 2020-07-06 10:08:19 -07:00
Andrew Tridgell 259cf10373 AP_Scripting: added rotate binding to Vector2f 2020-07-06 14:46:48 +10:00
craigy72 6557f3c258 AP_Scripting: fixup serial_test.lua 2020-07-04 09:11:09 +09: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
Randy Mackay 5b90c98e02 AP_Scripting: add rover-set-steering-and-throttle example script 2020-06-24 08:34:41 +09:00
Randy Mackay d665a0a440 AP_Scripting: add binding for set_desired_steering_and_throttle 2020-06-24 08:34:41 +09:00
Rishabh c53d42e665 AP_Scripting: Remove send_text if directory is created 2020-06-23 10:42:41 +10:00
Rishabh bd7190767e AP_Scripting: Create scripts folder automatically 2020-06-20 21:39:06 +10:00
Iampete1 a23934fe93 AP_Scripting: add set angle demo 2020-06-19 10:09:35 +10:00
Iampete1 dc34dfb003 AP_Scripting: add guided mode set angle 2020-06-19 10:09:35 +10:00
ashvath100 042ca7861f AP_Scripting: get_output_scaled method 2020-06-12 14:48:02 +10:00
Andrew Tridgell 86d53c96d1 AP_Scripting: added opendog lua demo 2020-06-08 17:50:03 +10:00
Andrew Tridgell d7b20c6e48 AP_Scripting: added micros() 2020-06-04 09:49:52 +10:00
Andrew Tridgell 1bc9001267 AP_Scripting: added ahrs:get_EAS2TAS() 2020-06-04 09:49:52 +10:00
Andrew Tridgell f8be087c7e AP_Scripting: added new lua bindings 2020-06-04 09:49:52 +10:00
TunaLobster a13ddc1096 AP_Scripting: add binding for get_output_pwm 2020-06-02 12:53:24 +10:00
Andrew Tridgell 5e74152444 AP_Scripting: Add servo chan override w/ timeout
Adds a feature to override a servo output for a given time. Scripting bindings and example included.
2020-05-25 14:10:01 +10:00
Peter Hall b368188b01 AP_Scripting: add AP_Logger binding 2020-05-19 09:09:48 +10:00
Peter Hall be37a8a2b6 AP_Scripting: add example logging serial to dataflash 2020-05-19 09:09:48 +10:00
Peter Hall 11dc3e05e3 AP_Scripting: add SD file and dataflash logging example 2020-05-19 09:09:48 +10:00
Peter Hall aa657626f2 AP_Scripting: examples: plane-wind-fs: read in CRT_MAH 2020-05-18 11:25:13 -07:00
Andy Piper e9b939ccb5 AP_Scripting: build fix for macOS 2020-05-13 11:59:03 -07:00
Andrew Tridgell 36869f668b AP_Scripting: fixed build on cygwin with deep directories 2020-05-12 19:55:21 +10:00
Andrew Tridgell 50db7f1648 AP_Scripting: update README.md 2020-05-12 19:55:21 +10:00
Andrew Tridgell 9cf464e570 AP_Scripting: removed the old Makefile 2020-05-12 19:55:21 +10:00
Andrew Tridgell 2c6fd13899 AP_Scripting: auto-build the bindings 2020-05-12 19:55:21 +10:00
Andrew Tridgell 5c8e4a4d7b AP_Scripting: removed old generated bindings 2020-05-12 19:55:21 +10:00
Buzz 9d9fdd1cb0 AP_Scripting: add big demo script for editing and updating mission item/s from lua. 2020-05-12 14:20:26 +10:00
Buzz 816474b6e8 AP_Scripting: rebuild bindings 2020-05-12 09:58:14 +10:00
Buzz 963b25059d AP_Scripting: allow to get/set/create arbitrary mission items
fetch item/s by their index, and review wp data, etc.  
AP_Mission: ran mission files through approved astyle  as they were non-compliant before this( astyle --options=Tools/CodeStyle/astylerc   )
2020-05-12 09:58:14 +10:00
Andrew Tridgell b1977ca43d AP_Scripting: removed old servo output binding 2020-04-28 11:14:26 +10:00
Andrew Tridgell d214e379a2 AP_Scripting: rebuild bindings 2020-04-28 11:14:26 +10:00
Andrew Tridgell ea9316c2b5 AP_Scripting: added servo movement example script 2020-04-28 11:14:26 +10:00
Andrew Tridgell ca584943a5 AP_Scripting: added bindings for servo output 2020-04-28 11:14:26 +10:00
Andrew Tridgell 6222649e37 AP_Scripting: avoid build warnings 2020-04-28 10:32:23 +10:00
Michael du Breuil 75b133926f AP_Scripting: Cleanups to remove false posive warnings 2020-03-28 21:16:09 +11:00
Michael du Breuil d50e9865bd AP_Scripting: Delete the lua object if we failed to allocate the required memory 2020-03-28 21:16:09 +11: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
Andrew Tridgell 5047eb88e2 AP_Scripting: use @ROMFS 2020-03-28 15:28:03 +11:00
Andrew Tridgell ebec738b88 AP_Scripting: enable lua scripts in ROMFS 2020-03-28 15:28:03 +11:00
Andrew Tridgell a91c587ef3 AP_Scripting: use new DirHandle for directory listings 2020-03-28 15:28:03 +11:00
bugobliterator edaf9fa086 AP_Scripting: remove unused user of realloc from lua 2020-03-24 10:32:14 +11:00
Peter Hall 3f7ab6289d AP_Scripting: move scripting_test.lua from examples to tests 2020-03-19 15:28:39 -07:00
Peter Hall 524d59ad78 AP_Scripting: add math and strings test scripts 2020-03-19 15:28:39 -07:00
Randy Mackay 05b563cf54 AP_Scripting: fixup comment in set-target-location example script 2020-03-19 15:17:11 -07:00
Randy Mackay 0846746932 AP_Scripting: add copter-fly-vertical-circle example script 2020-03-19 15:17:11 -07:00
Randy Mackay fa0fb9ef34 AP_Scripting: add set-target-velocity example script 2020-03-19 15:17:11 -07:00
Randy Mackay d7fb84c765 AP_Scripting: make bindings 2020-03-19 15:17:11 -07:00
Randy Mackay 60b3c6ca94 AP_Scripting: add bindings for start_takeoff and set_target_velocity_NED 2020-03-19 15:17:11 -07:00
Peter Hall d37efe1b38 AP_Scripting: regenerate bindings 2020-03-19 14:59:34 -07:00
Peter Hall 67bfedd845 AP_Scripting: add button example script 2020-03-19 14:59:34 -07:00
Peter Hall f5052b68a8 AP_Scripting: add binding for AP_Button get_button_state 2020-03-19 14:59:34 -07:00
Andrew Tridgell 87b97f8bee AP_Scripting: added a VTOL failsafe example script
if fwd motor is lost try to make best effort to get home
2020-03-12 08:36:40 +11:00
Andrew Tridgell e815b97c66 AP_Scripting: regenerate bindings 2020-03-12 08:36:40 +11:00
Andrew Tridgell 564740f06b AP_Scripting: added get_vibration and get_target_location bindings 2020-03-12 08:36:40 +11:00
Andrew Tridgell be7e142888 AP_Scripting: regenerate bindings for RPM 2020-03-12 08:36:40 +11:00
Andrew Tridgell 609b535dda AP_Scripting: added RPM interface 2020-03-12 08:36:40 +11:00
Peter Barker 19249a13fd AP_Scripting: tell the user where their scripts directory is on failure 2020-03-10 08:43:03 +09:00
Peter Hall e95e996cc4 AP_Scripting: Add led matrix examples 2020-03-10 10:37:26 +11:00
Peter Hall bf76a8c727 AP_Scripting: update LED_roll example 2020-03-10 10:37:26 +11:00
Peter Hall 8dccea4a15 AP_Scripting: regenerate bindings 2020-03-10 10:37:26 +11:00
Peter Hall 426f5e6180 AP_Scripting: support ProfiLEDs 2020-03-10 10:37:26 +11:00
Randy Mackay 1486421581 AP_Scripting: rename arming-check-batt-temp example script 2020-03-04 11:28:10 +09:00
Randy Mackay 2526aaeb74 AP_Scripting: set-target-location example script 2020-03-03 10:06:38 -07:00
Randy Mackay ae8c8b71b2 AP_Scripting: make bindings 2020-03-03 10:06:38 -07:00
Randy Mackay 989241a6bd AP_Scripting: fix limits on Location alt field binding 2020-03-03 10:06:38 -07:00
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
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