I wanted to use the sliders to send PWM inputs to a motor. I have 5 sliders configured to the T200 motors on my ROV (raw servo output 1-6) and I am able to receive data from the motors and are represented on the sliders when I drive with the joystick, but I am unable to move the slider in cockpit to control the motor.
Is this because the Servo PWM outputs are strictly controlled by the joystick and cant be mapped elsewhere or is there another issue?
The reported output values are not inputs, so changing them in cockpit just changes what cockpit shows you - it doesn’t send any kind of control commands to the autopilot. It is also not currently possible with ArduSub to control individual motion motor outputs - just motion axes (e.g. you can command “forwards”, but not “motor 1”). Controlling individual peripheral motors (like the camera tilt servo) is possible, but then they don’t respect vehicle arming or joystick axis control.
It should in principle be possible to create custom actions to send MANUAL_CONTROL or RC_CHANNELS_OVERRIDE (with Sub mappings) MAVLink messages as a repeated custom action based on data lake variables that your sliders are tied to, but at the moment you would need to disable the joystick while using them, and disable your Action when you want to use the joystick, so they don’t fight each other for control of the vehicle.
That all makes sense, thank you for clearing that up. Just to clarify, I am simply trying to control a M200/T200 using custom widget sliders. It doesnt have to be the motors included in the ROV frame its just what I currently have set up on my physical model. Reading through the Cockpit/Widget documentation it appears that I can use these custom widgets (like you are saying when referring to camera tilt servos) as inputs but there might be more configuring to do than just pairing the slider to the correct data lake variable? Correct me if I’m wrong.
I see - in that case this example should cover what you need (but I’d recommend setting your output function (in step 1) to Disabled (0), since you’re not using a predefined output function)
Indeed - by default none of the data lake variables are directly used as inputs to commands that get sent to the autopilot, and especially not the MAVLink ones that are populated using values received from the autopilot. You can, however, use them in and/or to trigger Custom Actions if you want to