Commit Graph

477 Commits

Author SHA1 Message Date
Andrew Tridgell 06ef5aed14 AP_Scripting: added an example of OOP programming
very useful pattern for more complex scripts
2021-12-01 17:40:34 +11:00
Andrew Tridgell d52f5a9034 AP_Scripting: added rolling circle to aerobatics example 2021-11-30 16:19:26 +11:00
Andrew Tridgell ab333d0708 Ap_Scripting: added earth frame yaw tracking off WPs
this uses the new yaw rate controller to do EF tracking, so we follow
towards the next WP while doing the roll
2021-11-30 16:19:26 +11:00
Andrew Tridgell 3a3cb92efd Ap_Scripting: fixed plane aerobatics for full yaw rate control 2021-11-30 16:19:26 +11:00
Iampete1 58ef0d0137 AP_Scripting: log files and runtime stats 2021-11-17 19:16:46 +11:00
Iampete1 817864ce74 AP_Scripting: convert DEBUG_LVL to DEBUG_OPTS bitmask 2021-11-17 19:16:46 +11:00
Peter Barker f4651f0287 AP_Scripting: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Peter Barker 6b4de23630 AP_Scripting: ensure ENABLE_SCRIPTING is always defined 2021-11-15 20:27:40 +11:00
Andrew Tridgell ad29135384 AP_Scripting: added plane aerobatics example 2021-11-08 21:08:52 +11:00
Andrew Tridgell 9ccfbe9813 AP_Scripting: added bindings for NAV_SCRIPT_TIME support 2021-11-08 21:08:52 +11:00
Iampete1 0f1d3c4fc4 AP_Scripting: Docs: document arguments 2021-11-07 08:01:32 +11:00
Iampete1 b047ea5c02 AP_Scripting: stop and restart scripting via command int 2021-11-02 17:33:34 +11:00
drtrigon 3a0ed5446a AP_Scripting: select auto or manual gimbal/camera control mode
I have a camera that has picture and video trigger on the same channel. As ArduPilot is not able to handle that currently I wrote a script that allows to switch between auto and manual gimbal and camera control modes. Switching to manual camera control allows to enable picture as well as video trigger.
2021-10-27 18:40:42 +11:00
Andy Piper 31c74f9793 AP_Scripting: convert APM_BUILD_COPTER_OR_HELI() to APM_BUILD_COPTER_OR_HELI 2021-10-26 11:42:12 +11:00
Iampete1 f5805058c2 AP_Scripting: docs ignore duplicate-set-field warning 2021-10-26 11:05:22 +11:00
Iampete1 648a2b7140 AP_Scripting: docs: add manual bindings 2021-10-26 11:05:22 +11:00
Iampete1 da1fde06ad AP_Scripting: fix skip check userdata feild write 2021-10-26 11:05:22 +11:00
Iampete1 003561ab75 AP_Scripting: Docs: append _ud to userdata types to avoild name clash with new functions and declare local 2021-10-26 11:05:22 +11:00
Iampete1 05e01fb603 AP_Scripting: docs: update GCS 2021-10-20 18:35:09 +11:00
Iampete1 1af244e5bc AP_Scripting: maunaly update GPIO docs as example 2021-10-20 18:35:09 +11:00
Iampete1 6dd9ffc334 AP_Scripting: auto generate docs 2021-10-20 18:35:09 +11:00
Iampete1 a70134ba38 AP_Scripting: generator: ouput Emmylua docs 2021-10-20 18:35:09 +11:00
Iampete1 a5a3b413df AP_Scripting: wscript: support docs option 2021-10-20 18:35:09 +11:00
Iampete1 fbb9ef422c AP_Scripting: use floats for get/set output scaled 2021-10-20 18:29:58 +11:00
tajisoft f076bb3ad1 AP_Scripting: update ahrs-source-gps-optflow.lua 2021-10-14 10:36:29 +11:00
Iampete1 0f8bcbf4b8 AP_Scripting: optimise genrated bindings for size 2021-10-12 10:08:56 +11:00
Iampete1 c1dbb1c046 AP_Scripting: change all -FLT_MAX FLT_MAX ranges to no check 2021-10-12 10:08:56 +11:00
Iampete1 302e855dab AP_Scripting: add 'skip_check keyword to skip argument range check 2021-10-12 10:08:56 +11:00
Iampete1 0772af5539 AP_Scripting: generator: dont initalise trivial types 2021-10-12 10:08:56 +11:00
Iampete1 32d6919ae2 AP_Scripting: generator: remove unneeded else in nullable returns 2021-10-12 10:08:56 +11:00
tajisoft 68274ff996 AP_Scripting: fix switch check in ahrs-source 2021-10-11 20:59:46 +11:00
murata fa609afc44 AP_Scripting: Change the script file name for messages 2021-10-07 18:21:11 -04:00
Iampete1 86e56934b6 AP_Scripting: update analog input example to check for valid pin 2021-10-06 18:42:51 +11:00
Iampete1 e5ae023be2 AP_Scripting: AnalogSource set_pin returns bool 2021-10-06 18:42:51 +11:00
Andrew Tridgell 32731e2cd0 AP_Scripting: fixed bug in string logging with logger.write()
this dereferenced a bad pointer, leading to crash and watchdog

thanks to Charlie for finding this!
2021-10-06 18:14:54 +11:00
bugobliterator dd9f513aa5 AP_HAL_ChibiOS: setup led control via lua script for HerePro 2021-09-30 08:52:27 +10:00
bugobliterator d23e37e3bb AP_Scripting: add script for controling herepro leds per vehicle state 2021-09-30 08:52:27 +10:00
bugobliterator e666e460f9 AP_Scripting: add periph methods for getting vehicle states 2021-09-30 08:52:27 +10:00
Siddharth Purohit 24448d6adf AP_Scripting: add rgb control for independent LEDs 2021-09-30 08:52:27 +10:00
Gone4Dirt f8ed6426a9 AP_Scripting: Add APM_BUILD_Heli 2021-09-29 19:55:48 +10:00
Iampete1 6aa8319b90 AP_Scripting: re-emmit error messages every 10 seconds if SCR_DEBUG_LVL > 0 2021-09-29 17:11:18 +10:00
TunaLobster dd379af7cc AP_Scripting: Add Z logger format to example 2021-09-25 14:00:00 +01:00
Iampete1 955be569a3 AP_Scripting: add forward flight motor shutdown applet 2021-09-22 18:16:32 +10:00
yaapu a2b83d675f AP_Scripting: added a frsky battery example 2021-09-15 17:21:41 +10:00
Peter Barker 305a8ad48a AP_Scripting: add and use HAL_QUADPLANE_ENABLED 2021-09-14 11:23:18 +10:00
murata 731fd7221f AP_Scripting: Only use messages that are useful for debugging 2021-09-10 20:46:33 +10:00
Willian Galvani e563919dd2 AP_Scripting: update to use capacity_remaining_pct() as a bool 2021-09-08 17:17:41 +10:00
Randy Mackay b396169084 AP_Scripting: copter-fast-descent.lua example script 2021-08-26 11:25:54 +09:00
Randy Mackay e8155bc47c AP_Scripting: add AP_Vehicle set_target_pos_NED and posvelaccel_NED bindings 2021-08-26 11:25:54 +09:00
Randy Mackay a3b4c8efd8 AP_Scripting: minor reorder of AP_Vehicle bindings
this is a slightly better grouping
2021-08-26 11:25:54 +09:00
Randy Mackay 5eb65c9a1f AP_Scripting: add AHRS:get_relative_position_NED_origin binding 2021-08-26 11:25:54 +09:00
Peter Barker 9dd02f0c2b AP_Scripting: add and use HAL_BUTTON_ENABLE 2021-08-25 19:03:42 +10:00
Randy Mackay 4bdb428cfe AP_Scripting: add copter-circle-speed.lua example
Co-authored-by: Iampete1 <iampete@hotmail.co.uk>
2021-08-25 18:39:09 +10:00
Randy Mackay 8548695e5d AP_Scripting: add bindings for get_circle_radius, set_circle_rate 2021-08-25 18:39:09 +10:00
Randy Mackay 5de30cc7cf AP_Scripting: ahrs-source-gps-optflow script fixups from peer review
also dded assert on optical flow to ensure the script is used with a version of AP that includes the optical flow bindings
2021-08-24 16:49:04 +09:00
Randy Mackay 2aa17916b1 AP_Scripting: add ahrs-source-gps-optflow
this supports automatic switching between GPS and opticalflow
2021-08-24 16:49:04 +09:00
Randy Mackay df187d5d3f AP_Scripting: add optical flow bindings 2021-08-24 16:49:04 +09:00
Andrew Tridgell f822d8f5f6 AP_Scripting: example script for testing EKF3/DCM switching 2021-08-19 14:42:28 +10:00
Peter Hall 2ec36d7f7f AP_Scripting: add quadplane in_assisted_flight binding 2021-08-18 18:07:20 +10:00
Peter Hall 5eee3c4eb0 AP_Scripting: add binding to get RC_Channel by number 2021-08-17 11:01:00 +01:00
Hwurzburg 400cf31df1 AP_Scripting: Add mission selection applet 2021-08-13 08:18:55 +10:00
Andrew Tridgell 2d6070d449 AP_Scripting: added has_valid_input binding 2021-08-10 08:48:10 +10:00
Hwurzburg 72a927343a AP_Scripting: make LUA memory panic more helpful 2021-08-09 16:34:09 +10:00
Andrew Tridgell ba45d32c7e AP_Scripting: avoid a error in lua with gcc 10.2 on STM32 with -Werror 2021-08-04 15:48:23 +10:00
Iampete1 4b28f53644 AP_Scripting: add change alt frame method to location userdata 2021-07-28 18:19:23 +10:00
Iampete1 9047b19e59 AP_Scripting: bindings for CANFrame and ScriptingCANBuffer 2021-07-27 09:04:17 +10:00
Iampete1 44276be3a1 AP_Scripting: add CANSensor and manaul bindings to load. 2021-07-27 09:04:17 +10:00
Iampete1 e29dd0e7e7 AP_Scripting: add CAN read and write examples 2021-07-27 09:04:17 +10:00
Iampete1 8c7cad8663 AP_Scripting: generator support depends keyword on AP_Object 2021-07-27 09:04:17 +10:00
Tatsuya Yamaguchi a3e176284d AP_Scripting: add AP_InertialSensor binding 2021-07-23 09:32:04 +09:00
Iampete1 d158199a7a AP_Scripting: add bindings and example for dynamic motor mixer 2021-07-20 09:19:28 +10:00
Iampete1 a6795a8e45 AP_Scripting: support depends keyword on userdata 2021-07-20 09:19:28 +10:00
Iampete1 aad459d447 AP_Scripting: support array userdata feilds 2021-07-20 09:19:28 +10:00
CallanDaniel c34322f6ce AP_Scripting: add set_origin and initialised bindings
added bindings and example scripts
2021-07-08 11:54:37 +09:00
bugobliterator 027d8b4aea AP_Scripting: add support for controlling onvif camera using lua script 2021-07-07 18:57:25 +10:00
Michael Oborne a81da13c13 AP_Scripting: add support for configuring ONVIF using scripting 2021-07-07 18:57:25 +10:00
CallanDaniel a617175881 AP_Scripting: add get_origin and set_home bindings
added bindings and example scripts for set_home and get_origin
2021-06-23 10:11:02 +09:00
Peter Hall c5c2b18a0b AP_Scripting: update 6DoF mixer example 2021-06-21 09:58:05 +09:00
Iampete1 4df09360ab AP_Scripting: add SN-GCJA5 particle sensor example 2021-06-15 09:04:32 +10:00
TunaLobster 2359de250d AP_Scripting: add example of fixed wing doublets via scripting 2021-06-08 14:48:27 +10:00
Peter Hall c239e71de5 AP_Scripting: add motor matrix set throttle factor binding 2021-05-25 09:01:06 +09:00
Andy Piper f1078d00a3 AP_Scripting: add in ESC telemetry bindings and make optional 2021-05-12 17:01:11 +10:00
Iampete1 15362484bc AP_Scripting: add do_aux_function binding and example 2021-05-04 09:05:56 +10:00
Iampete1 2a10d9d4f5 AP_Scirpting: add terrain warning example 2021-04-15 09:16:28 +09:00
Mirko Denecke e904de3431 AP_Scripting: add position light example 2021-04-13 09:23:59 +10:00
Iampete1 186cb6ef13 AP_Scripting: correct rotations in fault tolerant hex example 2021-04-08 08:23:08 +09:00
Iampete1 0b8cdaf392 AP_Scripting: add mission command receve function, binding and example 2021-03-31 19:23:13 +11:00
Iampete1 82228469c8 AP_Scripting: add reset_remianing battery binding 2021-03-31 19:21:59 +11:00
Iampete1 8b278b52b3 AP_Scripting: add GPIO inputs and exmaple 2021-03-30 10:44:43 +11:00
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