Skip to content

Commit 3fa2d43

Browse files
committed
AP_Scripting: Add bindings to allow updating servo telem
1 parent e1fb6c8 commit 3fa2d43

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
@@ -4173,56 +4173,105 @@ servo_telem = {}
41734173

41744174
-- get servo telem for the given servo number
41754175
---@param servo_index integer -- 0 indexed servo number
4176-
---@return AP_Servo_Telem_Data_ud|nil
4176+
---@return ServoTelemetryData_ud|nil
41774177
function servo_telem:get_telem(servo_index) end
41784178

4179+
-- update telemetry data for an servo instance
4180+
---@param instance integer -- servo instance, 0 indexed
4181+
---@param telemdata ServoTelemetryData_ud -- Data to update
4182+
function servo_telem:update_telem_data(instance, telemdata) end
4183+
41794184
-- Servo telemetry userdata object
4180-
---@class AP_Servo_Telem_Data_ud
4181-
local AP_Servo_Telem_Data_ud = {}
4185+
---@class ServoTelemetryData_ud
4186+
local ServoTelemetryData_ud = {}
4187+
4188+
-- Create new instance of ServoTelemetryData userdata object
4189+
---@return ServoTelemetryData_ud
4190+
function ServoTelemetryData() end
41824191

41834192
-- Get timestamp of last telem update
41844193
---@return uint32_t_ud -- milliseconds since boot
4185-
function AP_Servo_Telem_Data_ud:last_update_ms() end
4194+
function ServoTelemetryData_ud:last_update_ms() end
41864195

41874196
-- Get type spesfic status flags
41884197
---@return integer|nil -- flags or nil if not available
4189-
function AP_Servo_Telem_Data_ud:status_flags() end
4198+
function ServoTelemetryData_ud:status_flags() end
4199+
4200+
-- Set type spesfic status flags
4201+
---@param value integer
4202+
function ServoTelemetryData_ud:status_flags(value) end
41904203

41914204
-- Get pcb temperature in centidegrees
41924205
---@return integer|nil -- temperature in centidegrees or nil if not available
4193-
function AP_Servo_Telem_Data_ud:pcb_temperature_cdeg() end
4206+
function ServoTelemetryData_ud:pcb_temperature_cdeg() end
4207+
4208+
-- Set pcb temperature in centidegrees
4209+
---@param value integer -- temperature in centidegrees
4210+
function ServoTelemetryData_ud:pcb_temperature_cdeg(value) end
41944211

41954212
-- Get motor temperature in centidegrees
41964213
---@return integer|nil -- temperature in centidegrees or nil if not available
4197-
function AP_Servo_Telem_Data_ud:motor_temperature_cdeg() end
4214+
function ServoTelemetryData_ud:motor_temperature_cdeg() end
4215+
4216+
-- Set motor temperature in centidegrees
4217+
---@param value integer -- temperature in centidegrees
4218+
function ServoTelemetryData_ud:motor_temperature_cdeg(value) end
41984219

41994220
-- Get duty cycle
42004221
---@return integer|nil -- duty cycle 0% to 100% or nil if not available
4201-
function AP_Servo_Telem_Data_ud:duty_cycle() end
4222+
function ServoTelemetryData_ud:duty_cycle() end
4223+
4224+
-- Set duty cycle
4225+
---@param value integer -- duty cycle 0% to 100%
4226+
function ServoTelemetryData_ud:duty_cycle(value) end
42024227

42034228
-- get current
42044229
---@return number|nil -- current in amps or nil if not available
4205-
function AP_Servo_Telem_Data_ud:current() end
4230+
function ServoTelemetryData_ud:current() end
4231+
4232+
-- Set current
4233+
---@param value number -- current in amps
4234+
function ServoTelemetryData_ud:current(value) end
42064235

42074236
-- get voltage
42084237
---@return number|nil -- voltage in volts or nil if not available
4209-
function AP_Servo_Telem_Data_ud:voltage() end
4238+
function ServoTelemetryData_ud:voltage() end
4239+
4240+
-- Set voltage
4241+
---@param value number -- voltage in volts
4242+
function ServoTelemetryData_ud:voltage(value) end
42104243

42114244
-- get speed
42124245
---@return number|nil -- speed in degrees per second or nil if not available
4213-
function AP_Servo_Telem_Data_ud:speed() end
4246+
function ServoTelemetryData_ud:speed() end
4247+
4248+
-- Set speed
4249+
---@param value number -- speed in degrees per second
4250+
function ServoTelemetryData_ud:speed(value) end
42144251

42154252
-- get force
42164253
---@return number|nil -- force in newton meters or nil if not available
4217-
function AP_Servo_Telem_Data_ud:force() end
4254+
function ServoTelemetryData_ud:force() end
4255+
4256+
-- Set force
4257+
---@param value number -- force in newton meters
4258+
function ServoTelemetryData_ud:force(value) end
42184259

42194260
-- get measured position
42204261
---@return number|nil -- measured position in degrees or nil if not available
4221-
function AP_Servo_Telem_Data_ud:measured_position() end
4262+
function ServoTelemetryData_ud:measured_position() end
4263+
4264+
-- Set measured position
4265+
---@param value number -- measured position in degrees
4266+
function ServoTelemetryData_ud:measured_position(value) end
42224267

42234268
-- get commanded position
42244269
---@return number|nil -- comanded position in degrees or nil if not available
4225-
function AP_Servo_Telem_Data_ud:command_position() end
4270+
function ServoTelemetryData_ud:command_position() end
4271+
4272+
-- Set commanded position
4273+
---@param value number -- comanded position in degrees
4274+
function ServoTelemetryData_ud:command_position(value) end
42264275

42274276
-- simulator specific bindings
42284277
sim = {}

libraries/AP_Scripting/generator/description/bindings.desc

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1113,19 +1113,20 @@ include AP_Servo_Telem/AP_Servo_Telem_config.h
11131113
singleton AP_Servo_Telem depends AP_SERVO_TELEM_ENABLED
11141114
singleton AP_Servo_Telem rename servo_telem
11151115
singleton AP_Servo_Telem method get_telem boolean uint8_t'skip_check AP_Servo_Telem::TelemetryData'Null
1116+
singleton AP_Servo_Telem method update_telem_data void uint8_t'skip_check AP_Servo_Telem::TelemetryData
11161117

11171118
userdata AP_Servo_Telem::TelemetryData depends AP_SERVO_TELEM_ENABLED
1118-
userdata AP_Servo_Telem::TelemetryData rename AP_Servo_Telem_Data
1119-
userdata AP_Servo_Telem::TelemetryData field command_position float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::COMMANDED_POSITION
1120-
userdata AP_Servo_Telem::TelemetryData field measured_position float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::MEASURED_POSITION
1121-
userdata AP_Servo_Telem::TelemetryData field force float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::FORCE
1122-
userdata AP_Servo_Telem::TelemetryData field speed float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::SPEED
1123-
userdata AP_Servo_Telem::TelemetryData field voltage float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::VOLTAGE
1124-
userdata AP_Servo_Telem::TelemetryData field current float'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::CURRENT
1125-
userdata AP_Servo_Telem::TelemetryData field duty_cycle uint8_t'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::DUTY_CYCLE
1126-
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
1127-
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
1128-
userdata AP_Servo_Telem::TelemetryData field status_flags uint8_t'skip_check read valid_mask present_types AP_Servo_Telem::TelemetryData::Types::STATUS
1119+
userdata AP_Servo_Telem::TelemetryData rename ServoTelemetryData
1120+
userdata AP_Servo_Telem::TelemetryData field command_position float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::COMMANDED_POSITION
1121+
userdata AP_Servo_Telem::TelemetryData field measured_position float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::MEASURED_POSITION
1122+
userdata AP_Servo_Telem::TelemetryData field force float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::FORCE
1123+
userdata AP_Servo_Telem::TelemetryData field speed float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::SPEED
1124+
userdata AP_Servo_Telem::TelemetryData field voltage float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::VOLTAGE
1125+
userdata AP_Servo_Telem::TelemetryData field current float'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::CURRENT
1126+
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
1127+
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
1128+
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
1129+
userdata AP_Servo_Telem::TelemetryData field status_flags uint8_t'skip_check read write valid_mask present_types AP_Servo_Telem::TelemetryData::Types::STATUS
11291130
userdata AP_Servo_Telem::TelemetryData field last_update_ms uint32_t'skip_check read
11301131

11311132
-- simulator only bindings

0 commit comments

Comments
 (0)