diff --git a/libraries/AP_Scripting/docs/docs.lua b/libraries/AP_Scripting/docs/docs.lua index 3e6e5a0b0e..823735a9be 100644 --- a/libraries/AP_Scripting/docs/docs.lua +++ b/libraries/AP_Scripting/docs/docs.lua @@ -645,6 +645,15 @@ function RC_Channel_ud:get_aux_switch_pos() end function RC_Channel_ud:norm_input() end +-- desc +---@class motors +motors = {} + +-- desc +---@param param1 string +function motors:set_frame_string(param1) end + + -- desc ---@class periph periph = {} diff --git a/libraries/AP_Scripting/examples/MotorMatrix_fault_tolerant_hex.lua b/libraries/AP_Scripting/examples/MotorMatrix_fault_tolerant_hex.lua index 72f97194df..e39b702b4a 100644 --- a/libraries/AP_Scripting/examples/MotorMatrix_fault_tolerant_hex.lua +++ b/libraries/AP_Scripting/examples/MotorMatrix_fault_tolerant_hex.lua @@ -33,3 +33,5 @@ add_motor(AP_MOTORS_MOT_5, 30, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 1) add_motor(AP_MOTORS_MOT_6,-150, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 4) assert(MotorsMatrix:init(6), "Failed to init MotorsMatrix") + +motors:set_frame_string("fault tolerant hex") diff --git a/libraries/AP_Scripting/examples/MotorMatrix_setup.lua b/libraries/AP_Scripting/examples/MotorMatrix_setup.lua index 3e017de8ff..17b475b668 100644 --- a/libraries/AP_Scripting/examples/MotorMatrix_setup.lua +++ b/libraries/AP_Scripting/examples/MotorMatrix_setup.lua @@ -7,3 +7,5 @@ MotorsMatrix:add_motor_raw(2, 0, 1,-1, 1) MotorsMatrix:add_motor_raw(3, 0,-1,-1, 3) assert(MotorsMatrix:init(4), "Failed to init MotorsMatrix") + +motors:set_frame_string("scripting plus example") diff --git a/libraries/AP_Scripting/examples/Motor_mixer_dynamic_setup.lua b/libraries/AP_Scripting/examples/Motor_mixer_dynamic_setup.lua index 7aa9f3b6bc..e0eb0fd64d 100644 --- a/libraries/AP_Scripting/examples/Motor_mixer_dynamic_setup.lua +++ b/libraries/AP_Scripting/examples/Motor_mixer_dynamic_setup.lua @@ -43,5 +43,7 @@ assert(Motors_dynamic:init(4), "Failed to init Motors_dynamic") -- at any time we can then re-load new factors Motors_dynamic:load_factors(factors) +motors:set_frame_string("Dynamic example") + -- if doing changes in flight it is a good idea to us pcall to protect the script from crashing -- see 'protected_call.lua' example diff --git a/libraries/AP_Scripting/examples/Motors_6DoF.lua b/libraries/AP_Scripting/examples/Motors_6DoF.lua index bb06c78631..473d977f3c 100644 --- a/libraries/AP_Scripting/examples/Motors_6DoF.lua +++ b/libraries/AP_Scripting/examples/Motors_6DoF.lua @@ -9,3 +9,6 @@ Motors_6DoF:add_motor(4, -0.205533, -0.035715, 0.359267, -0.048371, 0.010753, Motors_6DoF:add_motor(5, 0.143881, -0.227449, 0.375220, -0.046098, 0.811593, 0.431718, true, 6) assert(Motors_6DoF:init(6),'unable to setup 6 motors') + +motors:set_frame_string("6DoF example") + diff --git a/libraries/AP_Scripting/generator/description/bindings.desc b/libraries/AP_Scripting/generator/description/bindings.desc index ef73683679..d0d301daf5 100644 --- a/libraries/AP_Scripting/generator/description/bindings.desc +++ b/libraries/AP_Scripting/generator/description/bindings.desc @@ -452,3 +452,9 @@ singleton AP_Periph_FW depends defined(HAL_BUILD_AP_PERIPH) singleton AP_Periph_FW alias periph singleton AP_Periph_FW method get_yaw_earth float singleton AP_Periph_FW method get_vehicle_state uint32_t + +include AP_Motors/AP_Motors_Class.h depends APM_BUILD_TYPE(APM_BUILD_ArduPlane)||APM_BUILD_COPTER_OR_HELI +singleton AP::motors() depends APM_BUILD_TYPE(APM_BUILD_ArduPlane)||APM_BUILD_COPTER_OR_HELI +singleton AP::motors() literal +singleton AP::motors() alias motors +singleton AP::motors() method set_frame_string void string