-- ArduPilot lua scripting documentation in EmmyLua Annotations -- This file should be auto generated and then manual edited -- generate with --scripting-docs, eg ./waf copter --scripting-docs -- see: https://github.com/sumneko/lua-language-server/wiki/EmmyLua-Annotations -- luacheck: ignore 121 (Setting a read-only global variable) -- luacheck: ignore 122 (Setting a read-only field of a global variable) -- luacheck: ignore 212 (Unused argument) -- luacheck: ignore 241 (Local variable is mutated but never accessed) -- set and get for field types share function names ---@diagnostic disable: duplicate-set-field ---@diagnostic disable: missing-return -- manual bindings ---@class uint32_t_ud local uint32_t_ud = {} -- create uint32_t_ud with optional value ---@param value? number|integer ---@return uint32_t_ud function uint32_t(value) end -- Convert to number ---@return number function uint32_t_ud:tofloat() end -- Convert to integer ---@return integer function uint32_t_ud:toint() end -- system time in milliseconds ---@return uint32_t_ud -- milliseconds function millis() end -- system time in microseconds ---@return uint32_t_ud -- microseconds function micros() end -- receive mission command from running mission ---@return uint32_t_ud|nil -- command start time milliseconds ---@return integer|nil -- command param 1 ---@return number|nil -- command param 2 ---@return number|nil -- command param 3 ---@return number|nil -- command param 4 function mission_receive() end -- Print text, if MAVLink is available the value will be sent with debug severity -- If no MAVLink the value will be sent over can -- equivalent to gcs:send_text(7, text) or periph:can_printf(text) ---@param text string|number|integer function print(text) end -- data flash logging to SD card ---@class logger logger = {} -- write value to data flash log with given types and names, optional units and multipliers, timestamp will be automatically added ---@param name string -- up to 4 characters ---@param labels string -- comma separated value labels, up to 58 characters ---@param format string -- type format string, see https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Logger/README.md ---@param units? string -- optional units string ---@param multipliers? string -- optional multipliers string ---@param data1 integer|number|uint32_t_ud|string -- data to be logged, type to match format string function logger:write(name, labels, format, units, multipliers, data1, ...) end -- log a files content to onboard log ---@param filename string -- file name function logger:log_file_content(filename) end -- i2c bus interaction ---@class i2c i2c = {} -- get a i2c device handler ---@param bus integer -- bus number ---@param address integer -- device address 0 to 128 ---@param clock? uint32_t_ud -- optional bus clock, default 400000 ---@param smbus? boolean -- optional sumbus flag, default false ---@return AP_HAL__I2CDevice_ud function i2c:get_device(bus, address, clock, smbus) end -- EFI state structure ---@class EFI_State_ud local EFI_State_ud = {} ---@return EFI_State_ud function EFI_State() end -- get field ---@return number function EFI_State_ud:pt_compensation() end -- set field ---@param value number function EFI_State_ud:pt_compensation(value) end -- get field ---@return number function EFI_State_ud:throttle_out() end -- set field ---@param value number function EFI_State_ud:throttle_out(value) end -- get field ---@return number function EFI_State_ud:ignition_voltage() end -- set field ---@param value number function EFI_State_ud:ignition_voltage(value) end -- get field ---@return Cylinder_Status_ud function EFI_State_ud:cylinder_status() end -- set field ---@param value Cylinder_Status_ud function EFI_State_ud:cylinder_status(value) end -- get field ---@return integer function EFI_State_ud:ecu_index() end -- set field ---@param value integer function EFI_State_ud:ecu_index(value) end -- get field ---@return integer function EFI_State_ud:throttle_position_percent() end -- set field ---@param value integer function EFI_State_ud:throttle_position_percent(value) end -- get field ---@return number function EFI_State_ud:estimated_consumed_fuel_volume_cm3() end -- set field ---@param value number function EFI_State_ud:estimated_consumed_fuel_volume_cm3(value) end -- get field ---@return number function EFI_State_ud:fuel_consumption_rate_cm3pm() end -- set field ---@param value number function EFI_State_ud:fuel_consumption_rate_cm3pm(value) end -- get field ---@return number function EFI_State_ud:fuel_pressure() end -- set field ---@param value number function EFI_State_ud:fuel_pressure(value) end -- get field ---@return integer ---| '0' # Not supported ---| '1' # Ok ---| '2' # Below nominal ---| '3' # Above nominal function EFI_State_ud:fuel_pressure_status() end -- set field ---@param status integer ---| '0' # Not supported ---| '1' # Ok ---| '2' # Below nominal ---| '3' # Above nominal function EFI_State_ud:fuel_pressure_status(status) end -- get field ---@return number function EFI_State_ud:oil_temperature() end -- set field ---@param value number function EFI_State_ud:oil_temperature(value) end -- get field ---@return number function EFI_State_ud:oil_pressure() end -- set field ---@param value number function EFI_State_ud:oil_pressure(value) end -- get field ---@return number function EFI_State_ud:coolant_temperature() end -- set field ---@param value number function EFI_State_ud:coolant_temperature(value) end -- get field ---@return number function EFI_State_ud:intake_manifold_temperature() end -- set field ---@param value number function EFI_State_ud:intake_manifold_temperature(value) end -- get field ---@return number function EFI_State_ud:intake_manifold_pressure_kpa() end -- set field ---@param value number function EFI_State_ud:intake_manifold_pressure_kpa(value) end -- get field ---@return number function EFI_State_ud:atmospheric_pressure_kpa() end -- set field ---@param value number function EFI_State_ud:atmospheric_pressure_kpa(value) end -- get field ---@return number function EFI_State_ud:spark_dwell_time_ms() end -- set field ---@param value number function EFI_State_ud:spark_dwell_time_ms(value) end -- get field ---@return uint32_t_ud function EFI_State_ud:engine_speed_rpm() end -- set field ---@param value uint32_t_ud function EFI_State_ud:engine_speed_rpm(value) end -- get field ---@return integer function EFI_State_ud:engine_load_percent() end -- set field ---@param value integer function EFI_State_ud:engine_load_percent(value) end -- get field ---@return boolean function EFI_State_ud:general_error() end -- set field ---@param value boolean function EFI_State_ud:general_error(value) end -- get field ---@return uint32_t_ud function EFI_State_ud:last_updated_ms() end -- set field ---@param value uint32_t_ud function EFI_State_ud:last_updated_ms(value) end -- EFI Cylinder_Status structure ---@class Cylinder_Status_ud local Cylinder_Status_ud = {} ---@return Cylinder_Status_ud function Cylinder_Status() end -- get field ---@return number function Cylinder_Status_ud:lambda_coefficient() end -- set field ---@param value number function Cylinder_Status_ud:lambda_coefficient(value) end -- get field ---@return number function Cylinder_Status_ud:exhaust_gas_temperature() end -- set field ---@param value number function Cylinder_Status_ud:exhaust_gas_temperature(value) end -- get field ---@return number function Cylinder_Status_ud:cylinder_head_temperature() end -- set field ---@param value number function Cylinder_Status_ud:cylinder_head_temperature(value) end -- get field ---@return number function Cylinder_Status_ud:injection_time_ms() end -- set field ---@param value number function Cylinder_Status_ud:injection_time_ms(value) end -- get field ---@return number function Cylinder_Status_ud:ignition_timing_deg() end -- set field ---@param value number function Cylinder_Status_ud:ignition_timing_deg(value) end -- desc ---@class efi efi = {} -- desc ---@return EFI_State_ud function efi:get_state() end -- desc ---@param instance integer ---@return AP_EFI_Backend_ud function efi:get_backend(instance) end -- CAN bus interaction ---@class CAN CAN = {} -- get a CAN bus device handler first scripting driver ---@param buffer_len uint32_t_ud -- buffer length 1 to 25 ---@return ScriptingCANBuffer_ud function CAN:get_device(buffer_len) end -- get a CAN bus device handler second scripting driver ---@param buffer_len uint32_t_ud -- buffer length 1 to 25 ---@return ScriptingCANBuffer_ud function CAN:get_device2(buffer_len) end -- Auto generated binding -- desc ---@class CANFrame_ud local CANFrame_ud = {} ---@return CANFrame_ud function CANFrame() end -- get field ---@return integer function CANFrame_ud:dlc() end -- set field ---@param value integer function CANFrame_ud:dlc(value) end -- get array field ---@param index integer ---@return integer function CANFrame_ud:data(index) end -- set array field ---@param index integer ---@param value integer function CANFrame_ud:data(index, value) end -- get field ---@return uint32_t_ud function CANFrame_ud:id() end -- set field ---@param value uint32_t_ud function CANFrame_ud:id(value) end -- desc ---@return boolean function CANFrame_ud:isErrorFrame() end -- desc ---@return boolean function CANFrame_ud:isRemoteTransmissionRequest() end -- desc ---@return boolean function CANFrame_ud:isExtended() end -- desc ---@return integer function CANFrame_ud:id_signed() end -- desc ---@class motor_factor_table_ud local motor_factor_table_ud = {} ---@return motor_factor_table_ud function motor_factor_table() end -- get array field ---@param index integer ---@return number function motor_factor_table_ud:throttle(index) end -- set array field ---@param index integer ---@param value number function motor_factor_table_ud:throttle(index, value) end -- get array field ---@param index integer ---@return number function motor_factor_table_ud:yaw(index) end -- set array field ---@param index integer ---@param value number function motor_factor_table_ud:yaw(index, value) end -- get array field ---@param index integer ---@return number function motor_factor_table_ud:pitch(index) end -- set array field ---@param index integer ---@param value number function motor_factor_table_ud:pitch(index, value) end -- get array field ---@param index integer ---@return number function motor_factor_table_ud:roll(index) end -- set array field ---@param index integer ---@param value number function motor_factor_table_ud:roll(index, value) end -- desc ---@class AP_HAL__PWMSource_ud local AP_HAL__PWMSource_ud = {} ---@return AP_HAL__PWMSource_ud function PWMSource() end -- desc ---@return integer function AP_HAL__PWMSource_ud:get_pwm_avg_us() end -- desc ---@return integer function AP_HAL__PWMSource_ud:get_pwm_us() end -- desc ---@param pin_number integer ---@return boolean function AP_HAL__PWMSource_ud:set_pin(pin_number) end -- desc ---@class mavlink_mission_item_int_t_ud local mavlink_mission_item_int_t_ud = {} ---@return mavlink_mission_item_int_t_ud function mavlink_mission_item_int_t() end -- get field ---@return integer function mavlink_mission_item_int_t_ud:current() end -- set field ---@param value integer function mavlink_mission_item_int_t_ud:current(value) end -- get field ---@return integer function mavlink_mission_item_int_t_ud:frame() end -- set field ---@param value integer function mavlink_mission_item_int_t_ud:frame(value) end -- get field ---@return integer function mavlink_mission_item_int_t_ud:command() end -- set field ---@param value integer function mavlink_mission_item_int_t_ud:command(value) end -- get field ---@return integer function mavlink_mission_item_int_t_ud:seq() end -- set field ---@param value integer function mavlink_mission_item_int_t_ud:seq(value) end -- get field ---@return number function mavlink_mission_item_int_t_ud:z() end -- set field ---@param value number function mavlink_mission_item_int_t_ud:z(value) end -- get field ---@return integer function mavlink_mission_item_int_t_ud:y() end -- set field ---@param value integer function mavlink_mission_item_int_t_ud:y(value) end -- get field ---@return integer function mavlink_mission_item_int_t_ud:x() end -- set field ---@param value integer function mavlink_mission_item_int_t_ud:x(value) end -- get field ---@return number function mavlink_mission_item_int_t_ud:param4() end -- set field ---@param value number function mavlink_mission_item_int_t_ud:param4(value) end -- get field ---@return number function mavlink_mission_item_int_t_ud:param3() end -- set field ---@param value number function mavlink_mission_item_int_t_ud:param3(value) end -- get field ---@return number function mavlink_mission_item_int_t_ud:param2() end -- set field ---@param value number function mavlink_mission_item_int_t_ud:param2(value) end -- get field ---@return number function mavlink_mission_item_int_t_ud:param1() end -- set field ---@param value number function mavlink_mission_item_int_t_ud:param1(value) end -- desc ---@class Parameter_ud local Parameter_ud = {} ---@return Parameter_ud ---@param name? string function Parameter(name) end -- desc ---@param value number ---@return boolean function Parameter_ud:set_default(value) end -- desc ---@return boolean function Parameter_ud:configured() end -- desc ---@param value number ---@return boolean function Parameter_ud:set_and_save(value) end -- desc ---@param value number ---@return boolean function Parameter_ud:set(value) end -- desc ---@return number|nil function Parameter_ud:get() end -- desc ---@param key integer ---@param group_element uint32_t_ud ---@param type integer ---| '1' # AP_PARAM_INT8 ---| '2' # AP_PARAM_INT16 ---| '3' # AP_PARAM_INT32 ---| '4' # AP_PARAM_FLOAT ---@return boolean function Parameter_ud:init_by_info(key, group_element, type) end -- desc ---@param name string ---@return boolean function Parameter_ud:init(name) end -- desc ---@class Vector2f_ud local Vector2f_ud = {} ---@return Vector2f_ud function Vector2f() end -- copy ---@return Vector2f_ud function Vector2f_ud:copy() end -- get field ---@return number function Vector2f_ud:y() end -- set field ---@param value number function Vector2f_ud:y(value) end -- get field ---@return number function Vector2f_ud:x() end -- set field ---@param value number function Vector2f_ud:x(value) end -- desc ---@param angle_rad number function Vector2f_ud:rotate(angle_rad) end -- desc ---@return boolean function Vector2f_ud:is_zero() end -- desc ---@return boolean function Vector2f_ud:is_inf() end -- desc ---@return boolean function Vector2f_ud:is_nan() end -- desc function Vector2f_ud:normalize() end -- desc ---@return number function Vector2f_ud:length() end -- desc ---@return number function Vector2f_ud:angle() end -- desc ---@class Vector3f_ud local Vector3f_ud = {} ---@return Vector3f_ud function Vector3f() end -- copy ---@return Vector3f_ud function Vector3f_ud:copy() end -- get field ---@return number function Vector3f_ud:z() end -- set field ---@param value number function Vector3f_ud:z(value) end -- get field ---@return number function Vector3f_ud:y() end -- set field ---@param value number function Vector3f_ud:y(value) end -- get field ---@return number function Vector3f_ud:x() end -- set field ---@param value number function Vector3f_ud:x(value) end -- desc ---@param scale_factor number ---@return Vector3f_ud function Vector3f_ud:scale(scale_factor) end -- desc ---@param vector Vector3f_ud ---@return Vector3f_ud function Vector3f_ud:cross(vector) end -- desc ---@param vector Vector3f_ud ---@return number function Vector3f_ud:dot(vector) end -- desc ---@return boolean function Vector3f_ud:is_zero() end -- desc ---@return boolean function Vector3f_ud:is_inf() end -- desc ---@return boolean function Vector3f_ud:is_nan() end -- desc function Vector3f_ud:normalize() end -- desc ---@return number function Vector3f_ud:length() end -- Computes angle between this vector and vector v2 ---@param v2 Vector3f_ud ---@return number function Vector3f_ud:angle(v2) end -- desc ---@param param1 number -- XY rotation in radians function Vector3f_ud:rotate_xy(param1) end -- desc ---@return Vector2f_ud function Vector3f_ud:xy() end -- desc ---@class Quaternion_ud local Quaternion_ud = {} ---@return Quaternion_ud function Quaternion() end -- get field ---@return number function Quaternion_ud:q4() end -- set field ---@param value number function Quaternion_ud:q4(value) end -- get field ---@return number function Quaternion_ud:q3() end -- set field ---@param value number function Quaternion_ud:q3(value) end -- get field ---@return number function Quaternion_ud:q2() end -- set field ---@param value number function Quaternion_ud:q2(value) end -- get field ---@return number function Quaternion_ud:q1() end -- set field ---@param value number function Quaternion_ud:q1(value) end -- Applies rotation to vector argument ---@param vec Vector3f_ud function Quaternion_ud:earth_to_body(vec) end -- Returns inverse of quaternion ---@return Quaternion_ud function Quaternion_ud:inverse() end -- Integrates angular velocity over small time delta ---@param angular_velocity Vector3f_ud ---@param time_delta number function Quaternion_ud:from_angular_velocity(angular_velocity, time_delta) end -- Constructs Quaternion from axis and angle ---@param axis Vector3f_ud ---@param angle number function Quaternion_ud:from_axis_angle(axis, angle) end -- Converts Quaternion to axis-angle representation ---@param axis_angle Vector3f_ud function Quaternion_ud:to_axis_angle(axis_angle) end -- Construct quaternion from Euler angles ---@param roll number ---@param pitch number ---@param yaw number function Quaternion_ud:from_euler(roll, pitch, yaw) end -- Returns yaw component of quaternion ---@return number function Quaternion_ud:get_euler_yaw() end -- Returns pitch component of quaternion ---@return number function Quaternion_ud:get_euler_pitch() end -- Returns roll component of quaternion ---@return number function Quaternion_ud:get_euler_roll() end -- Mutates quaternion have length 1 function Quaternion_ud:normalize() end -- Returns length or norm of quaternion ---@return number function Quaternion_ud:length() end -- desc ---@class Location_ud local Location_ud = {} ---@return Location_ud function Location() end -- copy ---@return Location_ud function Location_ud:copy() end -- get field ---@return boolean function Location_ud:loiter_xtrack() end -- set field ---@param value boolean function Location_ud:loiter_xtrack(value) end -- get field ---@return boolean function Location_ud:origin_alt() end -- set field ---@param value boolean function Location_ud:origin_alt(value) end -- get field ---@return boolean function Location_ud:terrain_alt() end -- set field ---@param value boolean function Location_ud:terrain_alt(value) end -- get field ---@return boolean function Location_ud:relative_alt() end -- set field ---@param value boolean function Location_ud:relative_alt(value) end -- get field ---@return integer function Location_ud:alt() end -- set field ---@param value integer function Location_ud:alt(value) end -- get field ---@return integer function Location_ud:lng() end -- set field ---@param value integer function Location_ud:lng(value) end -- get field ---@return integer function Location_ud:lat() end -- set field ---@param value integer function Location_ud:lat(value) end -- get altitude frame ---@return integer ---| '0' # ABSOLUTE ---| '1' # ABOVE_HOME ---| '2' # ABOVE_ORIGIN ---| '3' # ABOVE_TERRAIN function Location_ud:get_alt_frame() end -- desc ---@param desired_frame integer ---| '0' # ABSOLUTE ---| '1' # ABOVE_HOME ---| '2' # ABOVE_ORIGIN ---| '3' # ABOVE_TERRAIN ---@return boolean function Location_ud:change_alt_frame(desired_frame) end -- desc ---@param loc Location_ud ---@return Vector2f_ud function Location_ud:get_distance_NE(loc) end -- desc ---@param loc Location_ud ---@return Vector3f_ud function Location_ud:get_distance_NED(loc) end -- desc ---@param loc Location_ud ---@return number function Location_ud:get_bearing(loc) end -- desc ---@return Vector3f_ud|nil function Location_ud:get_vector_from_origin_NEU() end -- desc ---@param bearing_deg number ---@param distance number function Location_ud:offset_bearing(bearing_deg, distance) end -- desc ---@param bearing_deg number ---@param pitch_deg number ---@param distance number function Location_ud:offset_bearing_and_pitch(bearing_deg, pitch_deg, distance) end -- desc ---@param ofs_north number ---@param ofs_east number function Location_ud:offset(ofs_north, ofs_east) end -- desc ---@param loc Location_ud ---@return number function Location_ud:get_distance(loc) end -- desc ---@class AP_EFI_Backend_ud local AP_EFI_Backend_ud = {} -- desc ---@param state EFI_State_ud ---@return boolean function AP_EFI_Backend_ud:handle_scripting(state) end -- desc ---@class ScriptingCANBuffer_ud local ScriptingCANBuffer_ud = {} -- desc ---@return CANFrame_ud|nil function ScriptingCANBuffer_ud:read_frame() end -- desc ---@param frame CANFrame_ud ---@param timeout_us uint32_t_ud ---@return boolean function ScriptingCANBuffer_ud:write_frame(frame, timeout_us) end -- desc ---@class AP_HAL__AnalogSource_ud local AP_HAL__AnalogSource_ud = {} -- desc ---@return number function AP_HAL__AnalogSource_ud:voltage_average_ratiometric() end -- desc ---@return number function AP_HAL__AnalogSource_ud:voltage_latest() end -- desc ---@return number function AP_HAL__AnalogSource_ud:voltage_average() end -- desc ---@param pin_number integer ---@return boolean function AP_HAL__AnalogSource_ud:set_pin(pin_number) end -- desc ---@class AP_HAL__I2CDevice_ud local AP_HAL__I2CDevice_ud = {} -- desc ---@param address integer function AP_HAL__I2CDevice_ud:set_address(address) end -- If no read length is provided a single register will be read and returned. -- If read length is provided a table of register values are returned. ---@param register_num integer ---@param read_length? integer ---@return integer|table|nil function AP_HAL__I2CDevice_ud:read_registers(register_num, read_length) end -- desc ---@param register_num integer ---@param value integer ---@return boolean function AP_HAL__I2CDevice_ud:write_register(register_num, value) end -- desc ---@param retries integer function AP_HAL__I2CDevice_ud:set_retries(retries) end -- desc ---@class AP_HAL__UARTDriver_ud local AP_HAL__UARTDriver_ud = {} -- desc ---@param flow_control_setting integer ---| '0' # disabled ---| '1' # enabled ---| '2' # auto function AP_HAL__UARTDriver_ud:set_flow_control(flow_control_setting) end -- desc ---@return uint32_t_ud function AP_HAL__UARTDriver_ud:available() end -- desc ---@param value integer ---@return uint32_t_ud function AP_HAL__UARTDriver_ud:write(value) end -- desc ---@return integer function AP_HAL__UARTDriver_ud:read() end -- desc ---@param baud_rate uint32_t_ud function AP_HAL__UARTDriver_ud:begin(baud_rate) end -- desc ---@class RC_Channel_ud local RC_Channel_ud = {} -- desc ---@return number function RC_Channel_ud:norm_input_ignore_trim() end -- desc ---@param PWM integer function RC_Channel_ud:set_override(PWM) end -- desc ---@return integer function RC_Channel_ud:get_aux_switch_pos() end -- desc return input on a channel from -1 to 1, centered on the trim. Ignores the deadzone ---@return number function RC_Channel_ud:norm_input() end -- desc return input on a channel from -1 to 1, centered on the trim. Returns zero when within deadzone of the trim ---@return number function RC_Channel_ud:norm_input_dz() end -- desc ---@class winch winch = {} -- desc ---@return number function winch:get_rate_max() end -- desc ---@param param1 number function winch:set_desired_rate(param1) end -- desc ---@param param1 number function winch:release_length(param1) end -- desc function winch:relax() end -- desc ---@return boolean function winch:healthy() end -- desc ---@class iomcu iomcu = {} -- Check if the IO is healthy ---@return boolean function iomcu:healthy() end -- desc ---@class compass compass = {} -- Check if the compass is healthy ---@param instance integer -- the 0-based index of the compass instance to return. ---@return boolean function compass:healthy(instance) end -- desc ---@class camera camera = {} -- desc ---@param instance integer ---@param distance_m number function camera:set_trigger_distance(instance, distance_m) end -- desc ---@param instance integer ---@param start_recording boolean ---@return boolean function camera:record_video(instance, start_recording) end -- desc ---@param instance integer function camera:take_picture(instance) end -- desc ---@class AP_Camera__camera_state_t_ud local AP_Camera__camera_state_t_ud = {} ---@return AP_Camera__camera_state_t_ud function AP_Camera__camera_state_t() end -- get field ---@return Vector2f_ud function AP_Camera__camera_state_t_ud:tracking_p1() end -- get field ---@return Vector2f_ud function AP_Camera__camera_state_t_ud:tracking_p2() end -- get field ---@return integer function AP_Camera__camera_state_t_ud:tracking_type() end -- get field ---@return number function AP_Camera__camera_state_t_ud:focus_value() end -- get field ---@return integer function AP_Camera__camera_state_t_ud:focus_type() end -- get field ---@return number function AP_Camera__camera_state_t_ud:zoom_value() end -- get field ---@return integer function AP_Camera__camera_state_t_ud:zoom_type() end -- get field ---@return boolean function AP_Camera__camera_state_t_ud:recording_video() end -- get field ---@return integer function AP_Camera__camera_state_t_ud:take_pic_incr() end -- desc ---@param instance integer ---@return AP_Camera__camera_state_t_ud|nil function camera:get_state(instance) end -- desc ---@class mount mount = {} -- desc ---@param instance integer ---@param roll_deg number ---@param pitch_deg number ---@param yaw_deg number function mount:set_attitude_euler(instance, roll_deg, pitch_deg, yaw_deg) end -- desc ---@param instance integer ---@return Location_ud|nil function mount:get_location_target(instance) end -- desc ---@param instance integer ---@return number|nil -- roll_deg ---@return number|nil -- pitch_deg ---@return number|nil -- yaw_deg ---@return boolean|nil -- yaw_is_earth_frame function mount:get_angle_target(instance) end -- desc ---@param instance integer ---@return number|nil -- roll_degs ---@return number|nil -- pitch_degs ---@return number|nil -- yaw_degs ---@return boolean|nil -- yaw_is_earth_frame function mount:get_rate_target(instance) end -- desc ---@param instance integer ---@param target_loc Location_ud function mount:set_roi_target(instance, target_loc) end -- desc ---@param instance integer ---@param roll_degs number ---@param pitch_degs number ---@param yaw_degs number ---@param yaw_is_earth_frame boolean function mount:set_rate_target(instance, roll_degs, pitch_degs, yaw_degs, yaw_is_earth_frame) end -- desc ---@param instance integer ---@param roll_deg number ---@param pitch_deg number ---@param yaw_deg number ---@param yaw_is_earth_frame boolean function mount:set_angle_target(instance, roll_deg, pitch_deg, yaw_deg, yaw_is_earth_frame) end -- desc ---@param instance integer ---@param mode integer function mount:set_mode(instance, mode) end -- desc ---@param instance integer ---@return integer function mount:get_mode(instance) end -- desc ---@param instance integer ---@return number|nil -- roll_deg ---@return number|nil -- pitch_deg ---@return number|nil -- yaw_bf_deg function mount:get_attitude_euler(instance) end -- desc ---@class motors motors = {} -- Get motors interlock state, the state of motors controlled by AP_Motors, Copter and Quadplane VTOL motors. Not plane forward flight motors. ---@return boolean ---| true # motors active ---| false # motors inactive function motors:get_interlock() end -- get lateral motor output ---@return number function motors:get_lateral() end -- set external limit flags for each axis to prevent integrator windup ---@param roll boolean ---@param pitch boolean ---@param yaw boolean ---@param throttle_lower boolean ---@param throttle_upper boolean function motors:set_external_limits(roll, pitch, yaw, throttle_lower, throttle_upper) end -- get forward motor output ---@return number function motors:get_forward() end -- get throttle motor output ---@return number function motors:get_throttle() end -- get throttle motor output ---@return integer ---| '0' # Shut down ---| '1' # Ground idle ---| '2' # Spooling up ---| '3' # Throttle unlimited ---| '4' # Spooling down function motors:get_spool_state() end -- desc ---@param param1 string function motors:set_frame_string(param1) end -- desc ---@return integer function motors:get_desired_spool_state() end -- get yaw FF output ---@return number function motors:get_yaw_ff() end -- get yaw P+I+D ---@return number function motors:get_yaw() end -- get pitch FF out ---@return number function motors:get_pitch_ff() end -- get pitch P+I+D out ---@return number function motors:get_pitch() end -- get roll FF out ---@return number function motors:get_roll_ff() end -- get roll P+I+D ---@return number function motors:get_roll() end -- desc ---@class FWVersion FWVersion = {} -- get field ---@return string function FWVersion:hash() end -- get field ---@return integer function FWVersion:patch() end -- get field ---@return integer function FWVersion:minor() end -- get field ---@return integer function FWVersion:major() end --get APM_BUILD_? value from AP_Vehicle/AP_Vehicle_Type.h that is checked against APM_BUILD_TYPE() ---@return integer ---| '1' # Rover ---| '2' # ArduCopter ---| '3' # ArduPlane ---| '4' # AntennaTracker ---| '7' # ArduSub ---| '9' # AP_Periph ---| '12' # Blimp ---| '13' # Heli function FWVersion:type() end -- get field ---@return string function FWVersion:string() end -- desc ---@class periph periph = {} -- desc ---@return uint32_t_ud function periph:get_vehicle_state() end -- desc ---@return number function periph:get_yaw_earth() end -- desc ---@param text string function periph:can_printf(text) end -- desc ---@class ins ins = {} -- desc ---@param instance integer ---@return number function ins:get_temperature(instance) end -- Check if a specific gyrometer sensor is healthy ---@param instance integer -- the 0-based index of the gyrometer instance to return. ---@return boolean function ins:get_gyro_health(instance) end -- Check if a specific accelerometer sensor is healthy ---@param instance integer -- the 0-based index of the accelerometer instance to return. ---@return boolean function ins:get_accel_health(instance) end -- desc ---@class Motors_dynamic Motors_dynamic = {} -- desc ---@param factor_table motor_factor_table_ud function Motors_dynamic:load_factors(factor_table) end -- desc ---@param motor_num integer ---@param testing_order integer function Motors_dynamic:add_motor(motor_num, testing_order) end -- desc ---@param expected_num_motors integer ---@return boolean function Motors_dynamic:init(expected_num_motors) end -- desc ---@class analog analog = {} -- desc ---@return AP_HAL__AnalogSource_ud function analog:channel() end -- Control of general purpose input/output pins ---@class gpio gpio = {} -- set GPIO pin mode ---@param pin_number integer ---@param mode integer ---| '0' # input ---| '1' # output function gpio:pinMode(pin_number, mode) end -- toggle GPIO output ---@param pin_number integer function gpio:toggle(pin_number) end -- write GPIO output ---@param pin_number integer ---@param value integer ---| '0' # low ---| '1' # high function gpio:write(pin_number, value) end -- read GPIO input ---@param pin_number integer ---@return boolean -- pin state function gpio:read(pin_number) end -- desc ---@class Motors_6DoF Motors_6DoF = {} -- desc ---@param motor_num integer ---@param roll_factor number ---@param pitch_factor number ---@param yaw_factor number ---@param throttle_factor number ---@param forward_factor number ---@param right_factor number ---@param reversible boolean ---@param testing_order integer function Motors_6DoF:add_motor(motor_num, roll_factor, pitch_factor, yaw_factor, throttle_factor, forward_factor, right_factor, reversible, testing_order) end -- desc ---@param expected_num_motors integer ---@return boolean function Motors_6DoF:init(expected_num_motors) end -- desc ---@class attitude_control attitude_control = {} -- desc ---@param roll_deg number ---@param pitch_deg number function attitude_control:set_offset_roll_pitch(roll_deg, pitch_deg) end -- desc ---@param bool boolean function attitude_control:set_forward_enable(bool) end -- desc ---@param bool boolean function attitude_control:set_lateral_enable(bool) end -- desc ---@class frsky_sport frsky_sport = {} -- desc ---@param number integer ---@param digits integer ---@param power integer ---@return integer function frsky_sport:prep_number(number, digits, power) end -- desc ---@param sensor integer ---@param frame integer ---@param appid integer ---@param data integer ---@return boolean function frsky_sport:sport_telemetry_push(sensor, frame, appid, data) end -- desc ---@class MotorsMatrix MotorsMatrix = {} -- desc ---@param motor_num integer ---@param throttle_factor number ---@return boolean function MotorsMatrix:set_throttle_factor(motor_num, throttle_factor) end -- desc ---@param motor_num integer ---@param roll_factor number ---@param pitch_factor number ---@param yaw_factor number ---@param testing_order integer function MotorsMatrix:add_motor_raw(motor_num, roll_factor, pitch_factor, yaw_factor, testing_order) end -- desc ---@param expected_num_motors integer ---@return boolean function MotorsMatrix:init(expected_num_motors) end -- desc get index (starting at 0) of lost motor ---@return integer function MotorsMatrix:get_lost_motor() end -- desc return true if we are in thrust boost due to possible lost motor ---@return boolean function MotorsMatrix:get_thrust_boost() end -- Sub singleton ---@class sub sub = {} -- Return true if joystick button is currently pressed ---@param index integer ---@return boolean function sub:is_button_pressed(index) end -- Get count of joystick button presses, then clear count ---@param index integer ---@return integer function sub:get_and_clear_button_count(index) end -- desc ---@class quadplane quadplane = {} -- desc ---@return boolean function quadplane:in_assisted_flight() end -- desc ---@return boolean function quadplane:in_vtol_mode() end -- true in descent phase of VTOL landing ---@return boolean function quadplane:in_vtol_land_descent() end -- abort a VTOL landing, climbing back up ---@return boolean function quadplane:abort_landing() end -- desc ---@class LED LED = {} -- desc ---@return integer ---@return integer ---@return integer function LED:get_rgb() end -- desc ---@class button button = {} -- desc ---@param button_number integer ---@return boolean function button:get_button_state(button_number) end -- desc ---@class RPM RPM = {} -- desc ---@param instance integer ---@return number|nil function RPM:get_rpm(instance) end -- desc ---@class mission ---@field MISSION_COMPLETE number ---@field MISSION_RUNNING number ---@field MISSION_STOPPED number mission = {} -- clear - clears out mission ---@return boolean function mission:clear() end -- set any WP items in any order in a mavlink-ish kinda way. ---@param index integer ---@param item mavlink_mission_item_int_t_ud ---@return boolean function mission:set_item(index, item) end -- get any WP items in any order in a mavlink-ish kinda way. ---@param index integer ---@return mavlink_mission_item_int_t_ud|nil function mission:get_item(index) end -- num_commands - returns total number of commands in the mission -- this number includes offset 0, the home location ---@return integer function mission:num_commands() end -- get_current_do_cmd_id - returns id of the active "do" command ---@return integer function mission:get_current_do_cmd_id() end -- get_current_nav_id - return the id of the current nav command ---@return integer function mission:get_current_nav_id() end -- get_prev_nav_cmd_id - returns the previous "navigation" command id -- if there was no previous nav command it returns AP_MISSION_CMD_ID_NONE (0) -- we do not return the entire command to save on RAM ---@return integer function mission:get_prev_nav_cmd_id() end -- set_current_cmd - jumps to command specified by index ---@param index integer ---@return boolean function mission:set_current_cmd(index) end -- get_current_nav_index - returns the current "navigation" command index -- Note that this will return 0 if there is no command. This is -- used in MAVLink reporting of the mission command ---@return integer function mission:get_current_nav_index() end -- status - returns the status of the mission (i.e. Mission_Started, Mission_Complete, Mission_Stopped ---@return integer function mission:state() end -- returns true if the mission cmd has a location ---@param cmd integer ---@return boolean function mission:cmd_has_location(cmd)end -- Set the mission index to the first JUMP_TAG with this tag. -- Returns true on success, else false if no appropriate JUMP_TAG match can be found or if setting the index failed ---@param tag integer ---@return boolean function mission:jump_to_tag(tag) end -- desc ---@param tag integer ---@return integer function mission:get_index_of_jump_tag(tag) end -- Jump Tags. When a JUMP_TAG is run in the mission, either via DO_JUMP_TAG or -- by just being the next item, the tag is remembered and the age is set to 1. -- Only the most recent tag is remembered. It's age is how many NAV items have -- progressed since the tag was seen. While executing the tag, the -- age will be 1. The next NAV command after it will tick the age to 2, and so on. ---@return integer|nil ---@return integer|nil function mission:get_last_jump_tag() end -- desc ---@class param param = {} -- desc ---@param name string ---@param value number ---@return boolean function param:set_and_save(name, value) end -- desc ---@param name string ---@param value number ---@return boolean function param:set(name, value) end -- desc ---@param name string ---@return number|nil function param:get(name) end -- desc ---@param name string ---@param value number ---@return boolean function param:set_default(name, value) end -- desc ---@param table_key integer ---@param prefix string ---@param num_params integer ---@return boolean function param:add_table(table_key, prefix, num_params) end -- desc ---@param table_key integer ---@param param_num integer ---@param name string ---@param default_value number ---@return boolean function param:add_param(table_key, param_num, name, default_value) end -- desc ---@class esc_telem esc_telem = {} -- desc ---@param instance integer ---@return uint32_t_ud|nil function esc_telem:get_usage_seconds(instance) end -- desc ---@param instance integer ---@return number|nil function esc_telem:get_consumption_mah(instance) end -- desc ---@param instance integer ---@return number|nil function esc_telem:get_voltage(instance) end -- desc ---@param instance integer ---@return number|nil function esc_telem:get_current(instance) end -- desc ---@param instance integer ---@return integer|nil function esc_telem:get_motor_temperature(instance) end -- desc ---@param instance integer ---@return integer|nil function esc_telem:get_temperature(instance) end -- desc ---@param instance integer ---@return number|nil function esc_telem:get_rpm(instance) end -- update RPM for an ESC ---@param esc_index integer -- ESC number ---@param rpm integer -- RPM ---@param error_rate number -- error rate function esc_telem:update_rpm(esc_index, rpm, error_rate) end -- set scale factor for RPM on a motor ---@param esc_index integer -- index (0 is first motor) ---@param scale_factor number -- factor function esc_telem:set_rpm_scale(esc_index, scale_factor) end -- desc ---@class optical_flow optical_flow = {} -- desc ---@return integer function optical_flow:quality() end -- desc ---@return boolean function optical_flow:healthy() end -- desc ---@return boolean function optical_flow:enabled() end -- desc ---@class baro baro = {} -- desc ---@return number function baro:get_external_temperature() end -- temperature in degrees C ---@return number function baro:get_temperature() end -- pressure in Pascal. Divide by 100 for millibars or hectopascals ---@return number function baro:get_pressure() end -- get current altitude in meters relative to altitude at the time -- of the last calibrate() call, typically at boot ---@return number function baro:get_altitude() end -- Check if a baro sensor is healthy ---@param instance integer -- the 0-based index of the BARO instance to return. ---@return boolean function baro:healthy(instance) end -- desc ---@class serial serial = {} -- Returns the UART instance that allows connections from scripts (those with SERIALx_PROTOCOL = 28`). -- For instance = 0, returns first such UART, second for instance = 1, and so on. -- If such an instance is not found, returns nil. ---@param instance integer -- the 0-based index of the UART instance to return. ---@return AP_HAL__UARTDriver_ud -- the requested UART instance available for scripting, or nil if none. function serial:find_serial(instance) end -- desc ---@class rc rc = {} -- desc ---@param chan_num integer ---@return RC_Channel_ud function rc:get_channel(chan_num) end -- desc ---@return boolean function rc:has_valid_input() end -- return cached level of aux function ---@param aux_fn integer ---@return integer|nil function rc:get_aux_cached(aux_fn) end -- desc ---@param aux_fun integer ---@param ch_flag integer ---| '0' # low ---| '1' # middle ---| '2' # high ---@return boolean function rc:run_aux_function(aux_fun, ch_flag) end -- desc ---@param aux_fun integer ---@return RC_Channel_ud function rc:find_channel_for_option(aux_fun) end -- desc ---@param chan_num integer ---@return integer|nil function rc:get_pwm(chan_num) end -- desc ---@class SRV_Channels SRV_Channels = {} -- Get emergency stop state if active no motors of any kind will be active ---@return boolean ---| true # E-Stop active ---| false # E-Stop inactive function SRV_Channels:get_emergency_stop() end -- Get safety state ---@return boolean ---| true # Disarmed outputs inactive ---| false # Armed outputs live function SRV_Channels:get_safety_state() end -- desc ---@param function_num integer ---@param range integer function SRV_Channels:set_range(function_num, range) end -- desc ---@param function_num integer ---@param angle integer function SRV_Channels:set_angle(function_num, angle) end -- desc ---@param function_num integer ---@param value number function SRV_Channels:set_output_norm(function_num, value) end -- desc ---@param function_num integer ---@return number function SRV_Channels:get_output_scaled(function_num) end -- desc ---@param function_num integer ---@return integer|nil function SRV_Channels:get_output_pwm(function_num) end -- desc ---@param function_num integer ---@param value number function SRV_Channels:set_output_scaled(function_num, value) end -- desc ---@param chan integer ---@param pwm integer ---@param timeout_ms integer function SRV_Channels:set_output_pwm_chan_timeout(chan, pwm, timeout_ms) end -- desc ---@param chan integer ---@param pwm integer function SRV_Channels:set_output_pwm_chan(chan, pwm) end -- desc ---@param function_num integer ---@param pwm integer function SRV_Channels:set_output_pwm(function_num, pwm) end -- desc ---@param function_num integer ---@return integer|nil function SRV_Channels:find_channel(function_num) end -- desc ---@class serialLED serialLED = {} -- desc ---@param chan integer function serialLED:send(chan) end -- desc ---@param chan integer ---@param led_index integer ---@param red integer ---@param green integer ---@param blue integer function serialLED:set_RGB(chan, led_index, red, green, blue) end -- desc ---@param chan integer ---@param num_leds integer ---@return boolean function serialLED:set_num_profiled(chan, num_leds) end -- desc ---@param chan integer ---@param num_leds integer ---@return boolean function serialLED:set_num_neopixel(chan, num_leds) end -- desc ---@param chan integer ---@param num_leds integer ---@return boolean function serialLED:set_num_neopixel_rgb(chan, num_leds) end -- desc ---@class vehicle vehicle = {} -- override landing descent rate, times out in 1s ---@param rate number ---@return boolean function vehicle:set_land_descent_rate(rate) end -- desc ---@param rudder_pct number ---@param run_yaw_rate_control boolean function vehicle:set_rudder_offset(rudder_pct, run_yaw_rate_control) end -- desc ---@return boolean function vehicle:has_ekf_failsafed() end -- desc ---@return number|nil ---@return number|nil function vehicle:get_pan_tilt_norm() end -- desc ---@return number|nil function vehicle:get_wp_crosstrack_error_m() end -- desc ---@return number|nil function vehicle:get_wp_bearing_deg() end -- desc ---@return number|nil function vehicle:get_wp_distance_m() end -- desc ---@param steering number ---@param throttle number ---@return boolean function vehicle:set_steering_and_throttle(steering, throttle) end -- desc ---@return number|nil ---@return number|nil function vehicle:get_steering_and_throttle() end -- desc ---@param rate_dps number ---@return boolean function vehicle:set_circle_rate(rate_dps) end -- desc ---@return number|nil function vehicle:get_circle_radius() end -- desc ---@param roll_deg number ---@param pitch_deg number ---@param yaw_deg number ---@param climb_rate_ms number ---@param use_yaw_rate boolean ---@param yaw_rate_degs number ---@return boolean function vehicle:set_target_angle_and_climbrate(roll_deg, pitch_deg, yaw_deg, climb_rate_ms, use_yaw_rate, yaw_rate_degs) end -- desc ---@param vel_ned Vector3f_ud ---@return boolean function vehicle:set_target_velocity_NED(vel_ned) end -- desc ---@param target_vel Vector3f_ud ---@param target_accel Vector3f_ud ---@param use_yaw boolean ---@param yaw_deg number ---@param use_yaw_rate boolean ---@param yaw_rate_degs number ---@param yaw_relative boolean ---@return boolean function vehicle:set_target_velaccel_NED(target_vel, target_accel, use_yaw, yaw_deg, use_yaw_rate, yaw_rate_degs, yaw_relative) end -- desc ---@param target_pos Vector3f_ud ---@param target_vel Vector3f_ud ---@param target_accel Vector3f_ud ---@param use_yaw boolean ---@param yaw_deg number ---@param use_yaw_rate boolean ---@param yaw_rate_degs number ---@param yaw_relative boolean ---@return boolean function vehicle:set_target_posvelaccel_NED(target_pos, target_vel, target_accel, use_yaw, yaw_deg, use_yaw_rate, yaw_rate_degs, yaw_relative) end -- desc ---@param target_pos Vector3f_ud ---@param target_vel Vector3f_ud ---@return boolean function vehicle:set_target_posvel_NED(target_pos, target_vel) end -- desc ---@param target_pos Vector3f_ud ---@param use_yaw boolean ---@param yaw_deg number ---@param use_yaw_rate boolean ---@param yaw_rate_degs number ---@param yaw_relative boolean ---@param terrain_alt boolean ---@return boolean function vehicle:set_target_pos_NED(target_pos, use_yaw, yaw_deg, use_yaw_rate, yaw_rate_degs, yaw_relative, terrain_alt) end -- desc ---@param current_target Location_ud -- current target, from get_target_location() ---@param new_target Location_ud -- new target ---@return boolean function vehicle:update_target_location(current_target, new_target) end -- desc ---@return Location_ud|nil function vehicle:get_target_location() end -- desc ---@param target_loc Location_ud ---@return boolean function vehicle:set_target_location(target_loc) end -- desc ---@param alt number ---@return boolean function vehicle:start_takeoff(alt) end -- desc ---@param control_output integer ---| '1' # Roll ---| '2' # Pitch ---| '3' # Throttle ---| '4' # Yaw ---| '5' # Lateral ---| '6' # MainSail ---| '7' # WingSail ---| '8' # Walking_Height ---@return number|nil function vehicle:get_control_output(control_output) end -- desc ---@return uint32_t_ud function vehicle:get_time_flying_ms() end -- desc ---@return boolean function vehicle:get_likely_flying() end -- desc ---@return integer function vehicle:get_control_mode_reason() end -- desc ---@return integer function vehicle:get_mode() end -- desc ---@param mode_number integer ---@return boolean function vehicle:set_mode(mode_number) end -- desc ---@param param1 Vector2f_ud ---@return boolean function vehicle:set_velocity_match(param1) end -- desc ---@param param1 integer ---@return boolean function vehicle:nav_scripting_enable(param1) end -- desc sets autopilot nav speed (Copter and Rover) ---@param param1 number ---@return boolean function vehicle:set_desired_speed(param1) end -- desc ---@param param1 number ---@param param2 number ---@return boolean function vehicle:set_desired_turn_rate_and_speed(param1, param2) end -- desc ---@param param1 number -- throttle percent ---@param param2 number -- roll rate deg/s ---@param param3 number -- pitch rate deg/s ---@param param4 number -- yaw rate deg/s function vehicle:set_target_throttle_rate_rpy(param1, param2, param3, param4) end -- desc ---@param param1 integer function vehicle:nav_script_time_done(param1) end -- desc ---@return integer|nil ---@return integer|nil ---@return number|nil ---@return number|nil function vehicle:nav_script_time() end -- desc ---@param hold_in_bootloader boolean function vehicle:reboot(hold_in_bootloader) end -- desc ---@return boolean function vehicle:is_taking_off() end -- desc ---@return boolean function vehicle:is_landing() end -- desc ---@class onvif onvif = {} -- desc ---@return Vector2f_ud function onvif:get_pan_tilt_limit_max() end -- desc ---@return Vector2f_ud function onvif:get_pan_tilt_limit_min() end -- desc ---@param pan number ---@param tilt number ---@param zoom number ---@return boolean function onvif:set_absolutemove(pan, tilt, zoom) end -- desc ---@param username string ---@param password string ---@param httphostname string ---@return boolean function onvif:start(username, password, httphostname) end -- MAVLink interaction with ground control station ---@class gcs gcs = {} -- send named float value using NAMED_VALUE_FLOAT message ---@param name string -- up to 10 chars long ---@param value number -- value to send function gcs:send_named_float(name, value) end -- set message interval for a given serial port and message id ---@param port_num integer -- serial port number ---@param msg_id uint32_t_ud -- MAVLink message id ---@param interval_us integer -- interval in micro seconds ---@return integer ---| '0' # Accepted ---| '4' # Failed function gcs:set_message_interval(port_num, msg_id, interval_us) end -- get the vehicle MAV_TYPE ---@return integer ---| '0' # MAV_TYPE_GENERIC=0, /* Generic micro air vehicle | */ ---| '1' # MAV_TYPE_FIXED_WING=1, /* Fixed wing aircraft. | */ ---| '2' # MAV_TYPE_QUADROTOR=2, /* Quadrotor | */ ---| '3' # MAV_TYPE_COAXIAL=3, /* Coaxial helicopter | */ ---| '4' # MAV_TYPE_HELICOPTER=4, /* Normal helicopter with tail rotor. | */ ---| '5' # MAV_TYPE_ANTENNA_TRACKER=5, /* Ground installation | */ ---| '6' # MAV_TYPE_GCS=6, /* Operator control unit / ground control station | */ ---| '7' # MAV_TYPE_AIRSHIP=7, /* Airship, controlled | */ ---| '8' # MAV_TYPE_FREE_BALLOON=8, /* Free balloon, uncontrolled | */ ---| '9' # MAV_TYPE_ROCKET=9, /* Rocket | */ ---| '10' # MAV_TYPE_GROUND_ROVER=10, /* Ground rover | */ ---| '11' # MAV_TYPE_SURFACE_BOAT=11, /* Surface vessel, boat, ship | */ ---| '12' # MAV_TYPE_SUBMARINE=12, /* Submarine | */ ---| '13' # MAV_TYPE_HEXAROTOR=13, /* Hexarotor | */ ---| '14' # MAV_TYPE_OCTOROTOR=14, /* Octorotor | */ ---| '15' # MAV_TYPE_TRICOPTER=15, /* Tricopter | */ ---| '16' # MAV_TYPE_FLAPPING_WING=16, /* Flapping wing | */ ---| '17' # MAV_TYPE_KITE=17, /* Kite | */ ---| '18' # MAV_TYPE_ONBOARD_CONTROLLER=18, /* Onboard companion controller | */ ---| '19' # MAV_TYPE_VTOL_DUOROTOR=19, /* Two-rotor VTOL using control surfaces in vertical operation in addition. Tailsitter. | */ ---| '20' # MAV_TYPE_VTOL_QUADROTOR=20, /* Quad-rotor VTOL using a V-shaped quad config in vertical operation. Tailsitter. | */ ---| '21' # MAV_TYPE_VTOL_TILTROTOR=21, /* Tiltrotor VTOL | */ ---| '22' # MAV_TYPE_VTOL_RESERVED2=22, /* VTOL reserved 2 | */ ---| '23' # MAV_TYPE_VTOL_RESERVED3=23, /* VTOL reserved 3 | */ ---| '24' # MAV_TYPE_VTOL_RESERVED4=24, /* VTOL reserved 4 | */ ---| '25' # MAV_TYPE_VTOL_RESERVED5=25, /* VTOL reserved 5 | */ ---| '26' # MAV_TYPE_GIMBAL=26, /* Gimbal | */ ---| '27' # MAV_TYPE_ADSB=27, /* ADSB system | */ ---| '28' # MAV_TYPE_PARAFOIL=28, /* Steerable, nonrigid airfoil | */ ---| '29' # MAV_TYPE_DODECAROTOR=29, /* Dodecarotor | */ ---| '30' # MAV_TYPE_CAMERA=30, /* Camera | */ ---| '31' # MAV_TYPE_CHARGING_STATION=31, /* Charging station | */ ---| '32' # MAV_TYPE_FLARM=32, /* FLARM collision avoidance system | */ ---| '33' # MAV_TYPE_SERVO=33, /* Servo | */ ---| '34' # MAV_TYPE_ODID=34, /* Open Drone ID. See https://mavlink.io/en/services/opendroneid.html. | */ ---| '35' # MAV_TYPE_DECAROTOR=35, /* Decarotor | */ ---| '36' # MAV_TYPE_BATTERY=36, /* Battery | */ ---| '37' # MAV_TYPE_PARACHUTE=37, /* Parachute | */ ---| '38' # MAV_TYPE_LOG=38, /* Log | */ ---| '39' # MAV_TYPE_OSD=39, /* OSD | */ ---| '40' # MAV_TYPE_IMU=40, /* IMU | */ ---| '41' # MAV_TYPE_GPS=41, /* GPS | */ ---| '42' # MAV_TYPE_WINCH=42, /* Winch | */ ---| '43' # MAV_TYPE_ENUM_END=43, /* | */ function gcs:frame_type() end -- get the throttle value in % ---@return integer function gcs:get_hud_throttle() end -- set high latency control state. Analogous to MAV_CMD_CONTROL_HIGH_LATENCY ---@param enabled boolean -- true to enable or false to disable function gcs:enable_high_latency_connections(enabled) end -- get the the current state of high latency control ---@return boolean function gcs:get_high_latency_status() end -- send text with severity level ---@param severity integer ---| '0' # Emergency: System is unusable. This is a "panic" condition. ---| '1' # Alert: Action should be taken immediately. Indicates error in non-critical systems. ---| '2' # Critical: Action must be taken immediately. Indicates failure in a primary system. ---| '3' # Error: Indicates an error in secondary/redundant systems. ---| '4' # Warning: Indicates about a possible future error if this is not resolved within a given timeframe. Example would be a low battery warning. ---| '5' # Notice: An unusual event has occurred, though not an error condition. This should be investigated for the root cause. ---| '6' # Info: Normal operational messages. Useful for logging. No action is required for these messages. ---| '7' # Debug: Useful non-operational messages that can assist in debugging. These should not occur during normal operation. ---@param text string function gcs:send_text(severity, text) end -- desc ---@class relay relay = {} -- desc ---@param instance integer function relay:toggle(instance) end -- desc ---@param instance integer ---@return boolean function relay:enabled(instance) end -- return state of a relay ---@param instance integer ---@return integer function relay:get(instance) end -- desc ---@param instance integer function relay:off(instance) end -- desc ---@param instance integer function relay:on(instance) end -- desc ---@class terrain ---@field TerrainStatusOK number ---@field TerrainStatusUnhealthy number ---@field TerrainStatusDisabled number terrain = {} -- desc ---@param extrapolate boolean ---@return number|nil function terrain:height_above_terrain(extrapolate) end -- desc ---@param extrapolate boolean ---@return number|nil function terrain:height_terrain_difference_home(extrapolate) end -- desc ---@param loc Location_ud ---@param corrected boolean ---@return number|nil function terrain:height_amsl(loc, corrected) end -- desc ---@return integer function terrain:status() end -- desc ---@return boolean function terrain:enabled() end -- RangeFinder backend ---@class AP_RangeFinder_Backend_ud local AP_RangeFinder_Backend_ud = {} -- Send distance to lua rangefinder backend. Returns false if failed ---@param distance number ---@return boolean function AP_RangeFinder_Backend_ud:handle_script_msg(distance) end -- Status of this rangefinder instance ---@return integer function AP_RangeFinder_Backend_ud:status() end -- Type of rangefinder of this instance ---@return integer function AP_RangeFinder_Backend_ud:type() end -- Orintation of the rangefinder of this instance ---@return integer function AP_RangeFinder_Backend_ud:orientation() end -- Current distance of the sensor instance ---@return number function AP_RangeFinder_Backend_ud:distance() end -- desc ---@class rangefinder rangefinder = {} -- get backend based on rangefinder instance provided ---@param rangefinder_instance integer ---@return AP_RangeFinder_Backend_ud function rangefinder:get_backend(rangefinder_instance) end -- desc ---@param orientation integer ---@return Vector3f_ud function rangefinder:get_pos_offset_orient(orientation) end -- desc ---@param orientation integer ---@return boolean function rangefinder:has_data_orient(orientation) end -- desc ---@param orientation integer ---@return integer function rangefinder:status_orient(orientation) end -- desc ---@param orientation integer ---@return integer function rangefinder:ground_clearance_cm_orient(orientation) end -- desc ---@param orientation integer ---@return integer function rangefinder:min_distance_cm_orient(orientation) end -- desc ---@param orientation integer ---@return integer function rangefinder:max_distance_cm_orient(orientation) end -- desc ---@param orientation integer ---@return integer function rangefinder:distance_cm_orient(orientation) end -- desc ---@param orientation integer ---@return boolean function rangefinder:has_orientation(orientation) end -- desc ---@return integer function rangefinder:num_sensors() end -- Proximity backend methods ---@class AP_Proximity_Backend_ud local AP_Proximity_Backend_ud = {} -- Push virtual proximity boundary into actual boundary ---@return boolean function AP_Proximity_Backend_ud:update_virtual_boundary() end -- Set sensor min and max. Only need to do it once ---@param min number ---@param max number ---@return boolean function AP_Proximity_Backend_ud:set_distance_min_max(min, max) end -- type of backend ---@return integer function AP_Proximity_Backend_ud:type() end -- send 3d object as 3d vector ---@param vector_3d Vector3f_ud ---@param update_boundary boolean ---@return boolean function AP_Proximity_Backend_ud:handle_script_3d_msg(vector_3d, update_boundary) end -- send 3d object as angles ---@param dist_m number ---@param yaw_deg number ---@param pitch_deg number ---@param update_boundary boolean ---@return boolean function AP_Proximity_Backend_ud:handle_script_distance_msg(dist_m, yaw_deg, pitch_deg, update_boundary) end -- desc ---@class proximity proximity = {} -- get backend based on proximity instance provided ---@param instance integer ---@return AP_Proximity_Backend_ud function proximity:get_backend(instance) end -- desc ---@param object_number integer ---@return number|nil ---@return number|nil function proximity:get_object_angle_and_distance(object_number) end -- desc ---@return number|nil ---@return number|nil function proximity:get_closest_object() end -- desc ---@return integer function proximity:get_object_count() end -- desc ---@return integer function proximity:num_sensors() end -- desc ---@return integer function proximity:get_status() end -- desc ---@class notify notify = {} -- desc ---@param red integer ---@param green integer ---@param blue integer ---@param id integer function notify:handle_rgb_id(red, green, blue, id) end -- desc ---@param red integer ---@param green integer ---@param blue integer ---@param rate_hz integer function notify:handle_rgb(red, green, blue, rate_hz) end -- desc ---@param tune string function notify:play_tune(tune) end -- desc ---@class gps ---@field GPS_OK_FIX_3D_RTK_FIXED number ---@field GPS_OK_FIX_3D_RTK_FLOAT number ---@field GPS_OK_FIX_3D_DGPS number ---@field GPS_OK_FIX_3D number ---@field GPS_OK_FIX_2D number ---@field NO_FIX number ---@field NO_GPS number gps = {} -- desc ---@return integer|nil function gps:first_unconfigured_gps() end -- desc ---@param instance integer ---@return Vector3f_ud function gps:get_antenna_offset(instance) end -- desc ---@param instance integer ---@return boolean function gps:have_vertical_velocity(instance) end -- desc ---@param instance integer ---@return uint32_t_ud function gps:last_message_time_ms(instance) end -- desc ---@param instance integer ---@return uint32_t_ud function gps:last_fix_time_ms(instance) end -- desc ---@param instance integer ---@return integer function gps:get_vdop(instance) end -- desc ---@param instance integer ---@return integer function gps:get_hdop(instance) end -- desc ---@param instance integer ---@return uint32_t_ud function gps:time_week_ms(instance) end -- desc ---@param instance integer ---@return integer function gps:time_week(instance) end -- desc ---@param instance integer ---@return integer function gps:num_sats(instance) end -- desc ---@param instance integer ---@return number function gps:ground_course(instance) end -- desc ---@param instance integer ---@return number function gps:ground_speed(instance) end -- desc ---@param instance integer ---@return Vector3f_ud function gps:velocity(instance) end -- desc ---@param instance integer ---@return number|nil function gps:vertical_accuracy(instance) end -- desc ---@param instance integer ---@return number|nil function gps:horizontal_accuracy(instance) end -- desc ---@param instance integer ---@return number|nil function gps:speed_accuracy(instance) end -- desc ---@param instance integer ---@return Location_ud function gps:location(instance) end -- desc ---@param instance integer ---@return integer function gps:status(instance) end -- desc ---@return integer function gps:primary_sensor() end -- desc ---@return integer function gps:num_sensors() end -- desc ---@class battery battery = {} -- desc ---@param instance integer ---@param percentage number ---@return boolean function battery:reset_remaining(instance, percentage) end -- desc ---@param instance integer ---@return integer|nil function battery:get_cycle_count(instance) end -- desc ---@param instance integer ---@return number|nil function battery:get_temperature(instance) end -- desc ---@param instance integer ---@return boolean function battery:overpower_detected(instance) end -- desc ---@return boolean function battery:has_failsafed() end -- desc ---@param instance integer ---@return integer function battery:pack_capacity_mah(instance) end -- desc ---@param instance integer ---@return integer|nil function battery:capacity_remaining_pct(instance) end -- desc ---@param instance integer ---@return number|nil function battery:consumed_wh(instance) end -- desc ---@param instance integer ---@return number|nil function battery:consumed_mah(instance) end -- desc ---@param instance integer ---@return number|nil function battery:current_amps(instance) end -- desc ---@param instance integer ---@return number function battery:voltage_resting_estimate(instance) end -- desc ---@param instance integer ---@return number function battery:voltage(instance) end -- desc ---@param instance integer ---@return boolean function battery:healthy(instance) end -- desc ---@return integer function battery:num_instances() end -- get individual cell voltage ---@param instance integer ---@param cell integer ---@return number|nil function battery:get_cell_voltage(instance, cell) end -- desc ---@class arming arming = {} -- desc ---@param auth_id integer ---@param fail_msg string function arming:set_aux_auth_failed(auth_id, fail_msg) end -- desc ---@param auth_id integer function arming:set_aux_auth_passed(auth_id) end -- desc ---@return integer|nil function arming:get_aux_auth_id() end -- desc ---@return boolean function arming:arm() end -- desc ---@return boolean function arming:is_armed() end -- desc ---@return boolean function arming:pre_arm_checks() end -- desc ---@return boolean function arming:disarm() end -- desc ---@class ahrs ahrs = {} -- desc ---@return Quaternion_ud|nil function ahrs:get_quaternion() end -- desc ---@return integer function ahrs:get_posvelyaw_source_set() end -- desc ---@return boolean function ahrs:initialised() end -- desc ---@param loc Location_ud ---@return boolean function ahrs:set_origin(loc) end -- desc ---@return Location_ud|nil function ahrs:get_origin() end -- desc ---@param loc Location_ud ---@return boolean function ahrs:set_home(loc) end -- desc ---@param source integer ---@return Vector3f_ud|nil ---@return Vector3f_ud|nil function ahrs:get_vel_innovations_and_variances_for_source(source) end -- desc ---@param source_set_idx integer function ahrs:set_posvelyaw_source_set(source_set_idx) end -- desc ---@return number|nil ---@return number|nil ---@return number|nil ---@return Vector3f_ud|nil ---@return number|nil function ahrs:get_variances() end -- desc ---@return number function ahrs:get_EAS2TAS() end -- desc ---@param vector Vector3f_ud ---@return Vector3f_ud function ahrs:body_to_earth(vector) end -- desc ---@param vector Vector3f_ud ---@return Vector3f_ud function ahrs:earth_to_body(vector) end -- desc ---@return Vector3f_ud function ahrs:get_vibration() end -- desc ---@return number|nil function ahrs:airspeed_estimate() end -- desc ---@return boolean function ahrs:healthy() end -- desc ---@return boolean function ahrs:home_is_set() end -- desc ---@return number function ahrs:get_relative_position_D_home() end -- desc ---@return Vector3f_ud|nil function ahrs:get_relative_position_NED_origin() end -- desc ---@return Vector3f_ud|nil function ahrs:get_relative_position_NED_home() end -- desc ---@return Vector3f_ud|nil function ahrs:get_velocity_NED() end -- desc ---@return Vector2f_ud function ahrs:groundspeed_vector() end -- desc ---@return Vector3f_ud function ahrs:wind_estimate() end -- desc ---@return number|nil function ahrs:get_hagl() end -- desc ---@return Vector3f_ud function ahrs:get_accel() end -- desc ---@return Vector3f_ud function ahrs:get_gyro() end -- desc ---@return Location_ud function ahrs:get_home() end -- desc ---@return Location_ud|nil function ahrs:get_location() end -- same as `get_location` will be removed ---@return Location_ud|nil function ahrs:get_position() end -- desc ---@return number function ahrs:get_yaw() end -- desc ---@return number function ahrs:get_pitch() end -- desc ---@return number function ahrs:get_roll() end -- desc ---@class AC_AttitudeControl AC_AttitudeControl = {} -- return slew rates for VTOL controller ---@return number -- roll slew rate ---@return number -- pitch slew rate ---@return number -- yaw slew rate function AC_AttitudeControl:get_rpy_srate() end -- desc ---@class AR_AttitudeControl AR_AttitudeControl = {} -- return attitude controller slew rates for rovers ---@return number -- steering slew rate ---@return number -- spees slew rate function AR_AttitudeControl:get_srate() end -- desc ---@class AR_PosControl AR_PosControl = {} -- return position controller slew rates for rovers ---@return number -- velocity slew rate function AR_PosControl:get_srate() end -- desc ---@class follow follow = {} -- desc ---@return number|nil function follow:get_target_heading_deg() end -- desc ---@return Location_ud|nil ---@return Vector3f_ud|nil function follow:get_target_location_and_velocity_ofs() end -- desc ---@return Location_ud|nil ---@return Vector3f_ud|nil function follow:get_target_location_and_velocity() end -- desc ---@return uint32_t_ud function follow:get_last_update_ms() end -- desc ---@return boolean function follow:have_target() end -- desc ---@class scripting scripting = {} -- desc function scripting:restart_all() end -- desc ---@param directoryname string ---@return table -- table of filenames function dirlist(directoryname) end --desc ---@param filename string function remove(filename) end -- desc ---@class mavlink mavlink = {} -- initializes mavlink ---@param num_rx_msgid uint32_t_ud|integer ---@param msg_queue_length uint32_t_ud|integer function mavlink:init(num_rx_msgid, msg_queue_length) end -- marks mavlink message for receive, message id can be get using mavlink_msgs.get_msgid("MSG_NAME") ---@param msg_id number function mavlink:register_rx_msgid(msg_id) end -- receives mavlink message marked for receive using mavlink:register_rx_msgid ---@return string -- bytes ---@return number -- mavlink channel ---@return uint32_t_ud -- receive_timestamp function mavlink:receive_chan() end -- sends mavlink message, to use this function the call should be like this: -- mavlink:send(chan, mavlink_msgs.encode("MSG_NAME", {param1 = value1, param2 = value2, ...}}) ---@param chan integer ---@param msgid integer ---@param message string function mavlink:send_chan(chan, msgid, message) end -- Block a given MAV_CMD from being procceced by ArduPilot ---@param comand_id integer function mavlink:block_command(comand_id) end