Skip to content

Commit 9929e20

Browse files
committed
AP_Scripting: Add bindings to allow updating servo telem
1 parent 54e1593 commit 9929e20

File tree

2 files changed

+75
-25
lines changed

2 files changed

+75
-25
lines changed

libraries/AP_Scripting/docs/docs.lua

Lines changed: 63 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4222,56 +4222,105 @@ servo_telem = {}
42224222

42234223
-- get servo telem for the given servo number
42244224
---@param servo_index integer -- 0 indexed servo number
4225-
---@return AP_Servo_Telem_Data_ud|nil
4225+
---@return ServoTelemetryData_ud|nil
42264226
function servo_telem:get_telem(servo_index) end
42274227

4228+
-- update telemetry data for an servo instance
4229+
---@param instance integer -- servo instance, 0 indexed
4230+
---@param telemdata ServoTelemetryData_ud -- Data to update
4231+
function servo_telem:update_telem_data(instance, telemdata) end
4232+
42284233
-- Servo telemetry userdata object
4229-
---@class AP_Servo_Telem_Data_ud
4230-
local AP_Servo_Telem_Data_ud = {}
4234+
---@class ServoTelemetryData_ud
4235+
local ServoTelemetryData_ud = {}
4236+
4237+
-- Create new instance of ServoTelemetryData userdata object
4238+
---@return ServoTelemetryData_ud
4239+
function ServoTelemetryData() end
42314240

42324241
-- Get timestamp of last telem update
42334242
---@return uint32_t_ud -- milliseconds since boot
4234-
function AP_Servo_Telem_Data_ud:last_update_ms() end
4243+
function ServoTelemetryData_ud:last_update_ms() end
42354244

42364245
-- Get type spesfic status flags
42374246
---@return integer|nil -- flags or nil if not available
4238-
function AP_Servo_Telem_Data_ud:status_flags() end
4247+
function ServoTelemetryData_ud:status_flags() end
4248+
4249+
-- Set type spesfic status flags
4250+
---@param value integer
4251+
function ServoTelemetryData_ud:status_flags(value) end
42394252

42404253
-- Get pcb temperature in centidegrees
42414254
---@return integer|nil -- temperature in centidegrees or nil if not available
4242-
function AP_Servo_Telem_Data_ud:pcb_temperature_cdeg() end
4255+
function ServoTelemetryData_ud:pcb_temperature_cdeg() end
4256+
4257+
-- Set pcb temperature in centidegrees
4258+
---@param value integer -- temperature in centidegrees
4259+
function ServoTelemetryData_ud:pcb_temperature_cdeg(value) end
42434260

42444261
-- Get motor temperature in centidegrees
42454262
---@return integer|nil -- temperature in centidegrees or nil if not available
4246-
function AP_Servo_Telem_Data_ud:motor_temperature_cdeg() end
4263+
function ServoTelemetryData_ud:motor_temperature_cdeg() end
4264+
4265+
-- Set motor temperature in centidegrees
4266+
---@param value integer -- temperature in centidegrees
4267+
function ServoTelemetryData_ud:motor_temperature_cdeg(value) end
42474268

42484269
-- Get duty cycle
42494270
---@return integer|nil -- duty cycle 0% to 100% or nil if not available
4250-
function AP_Servo_Telem_Data_ud:duty_cycle() end
4271+
function ServoTelemetryData_ud:duty_cycle() end
4272+
4273+
-- Set duty cycle
4274+
---@param value integer -- duty cycle 0% to 100%
4275+
function ServoTelemetryData_ud:duty_cycle(value) end
42514276

42524277
-- get current
42534278
---@return number|nil -- current in amps or nil if not available
4254-
function AP_Servo_Telem_Data_ud:current() end
4279+
function ServoTelemetryData_ud:current() end
4280+
4281+
-- Set current
4282+
---@param value number -- current in amps
4283+
function ServoTelemetryData_ud:current(value) end
42554284

42564285
-- get voltage
42574286
---@return number|nil -- voltage in volts or nil if not available
4258-
function AP_Servo_Telem_Data_ud:voltage() end
4287+
function ServoTelemetryData_ud:voltage() end
4288+
4289+
-- Set voltage
4290+
---@param value number -- voltage in volts
4291+
function ServoTelemetryData_ud:voltage(value) end
42594292

42604293
-- get speed
42614294
---@return number|nil -- speed in degrees per second or nil if not available
4262-
function AP_Servo_Telem_Data_ud:speed() end
4295+
function ServoTelemetryData_ud:speed() end
4296+
4297+
-- Set speed
4298+
---@param value number -- speed in degrees per second
4299+
function ServoTelemetryData_ud:speed(value) end
42634300

42644301
-- get force
42654302
---@return number|nil -- force in newton meters or nil if not available
4266-
function AP_Servo_Telem_Data_ud:force() end
4303+
function ServoTelemetryData_ud:force() end
4304+
4305+
-- Set force
4306+
---@param value number -- force in newton meters
4307+
function ServoTelemetryData_ud:force(value) end
42674308

42684309
-- get measured position
42694310
---@return number|nil -- measured position in degrees or nil if not available
4270-
function AP_Servo_Telem_Data_ud:measured_position() end
4311+
function ServoTelemetryData_ud:measured_position() end
4312+
4313+
-- Set measured position
4314+
---@param value number -- measured position in degrees
4315+
function ServoTelemetryData_ud:measured_position(value) end
42714316

42724317
-- get commanded position
42734318
---@return number|nil -- comanded position in degrees or nil if not available
4274-
function AP_Servo_Telem_Data_ud:command_position() end
4319+
function ServoTelemetryData_ud:command_position() end
4320+
4321+
-- Set commanded position
4322+
---@param value number -- comanded position in degrees
4323+
function ServoTelemetryData_ud:command_position(value) end
42754324

42764325
-- simulator specific bindings
42774326
sim = {}

libraries/AP_Scripting/generator/description/bindings.desc

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,19 +1131,20 @@ include AP_Servo_Telem/AP_Servo_Telem_config.h
11311131
singleton AP_Servo_Telem depends AP_SERVO_TELEM_ENABLED
11321132
singleton AP_Servo_Telem rename servo_telem
11331133
singleton AP_Servo_Telem method get_telem boolean uint8_t'skip_check AP_Servo_Telem::TelemetryData'Null
1134+
singleton AP_Servo_Telem method update_telem_data void uint8_t'skip_check AP_Servo_Telem::TelemetryData
11341135

11351136
userdata AP_Servo_Telem::TelemetryData depends AP_SERVO_TELEM_ENABLED
1136-
userdata AP_Servo_Telem::TelemetryData rename AP_Servo_Telem_Data
1137-
userdata AP_Servo_Telem::TelemetryData field command_position float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::COMMANDED_POSITION
1138-
userdata AP_Servo_Telem::TelemetryData field measured_position float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::MEASURED_POSITION
1139-
userdata AP_Servo_Telem::TelemetryData field force float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::FORCE
1140-
userdata AP_Servo_Telem::TelemetryData field speed float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::SPEED
1141-
userdata AP_Servo_Telem::TelemetryData field voltage float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::VOLTAGE
1142-
userdata AP_Servo_Telem::TelemetryData field current float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::CURRENT
1143-
userdata AP_Servo_Telem::TelemetryData field duty_cycle uint8_t'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::DUTY_CYCLE
1144-
userdata AP_Servo_Telem::TelemetryData field motor_temperature_cdeg int16_t'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::MOTOR_TEMP
1145-
userdata AP_Servo_Telem::TelemetryData field pcb_temperature_cdeg int16_t'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::PCB_TEMP
1146-
userdata AP_Servo_Telem::TelemetryData field status_flags uint8_t'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::STATUS
1137+
userdata AP_Servo_Telem::TelemetryData rename ServoTelemetryData
1138+
userdata AP_Servo_Telem::TelemetryData field command_position float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::COMMANDED_POSITION
1139+
userdata AP_Servo_Telem::TelemetryData field measured_position float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::MEASURED_POSITION
1140+
userdata AP_Servo_Telem::TelemetryData field force float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::FORCE
1141+
userdata AP_Servo_Telem::TelemetryData field speed float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::SPEED
1142+
userdata AP_Servo_Telem::TelemetryData field voltage float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::VOLTAGE
1143+
userdata AP_Servo_Telem::TelemetryData field current float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::CURRENT
1144+
userdata AP_Servo_Telem::TelemetryData field duty_cycle uint8_t'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::DUTY_CYCLE
1145+
userdata AP_Servo_Telem::TelemetryData field motor_temperature_cdeg int16_t'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::MOTOR_TEMP
1146+
userdata AP_Servo_Telem::TelemetryData field pcb_temperature_cdeg int16_t'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::PCB_TEMP
1147+
userdata AP_Servo_Telem::TelemetryData field status_flags uint8_t'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::STATUS
11471148
userdata AP_Servo_Telem::TelemetryData field last_update_ms uint32_t'skip_check read
11481149

11491150
-- simulator only bindings

0 commit comments

Comments
 (0)