We are running Cockpit with the Logitech gamepad. All was fine when put away but next day the joysticks had swapped functions with each other i.e left stick is now the right stick and vice versa. No idea how this has happened as no one has accessed the settings.
I have attempted to change the axis in Cockpit via the controller section in settings to
Axis 0 = R
Axis 1 = Z
Axis 2 = Y
Axis 3 = X
This changes the sticks back but as soon as i hit arm all 8 thrusters spin up to full speed. checked its in manual mode so its not depth hold etc.
The only defaults i can find on line are the following:
Axis 0 = Y
Axis 1 = X
Axis 2 = R
Axis 3 = Z
These settings are the opposite of what we have always had.
Searching for answer to the auto spin up on arming returns that the joysticks need calibrating but on entering the calibration in Cockpit I have no idea what to do. I have tried the auto dead zoning but nothing changes. Reading seems to suggest that this area is just for adjusting sensitivity.
I’m not sure which Cockpit version it is (I am away from it atm). Axis are set to 1000 both + and . One of the operators reports that this happened to her in the past and managed to change it on the gamepad by holding a button. It was a fluke and she cannot remember how it was done. Seems to to remember a list coming up on screen? I have tried adjusting the axis ranges but nothing.
I have now managed to return it to the YXRZ config and the spin up has stopped with functionality returned. However, the joysticks are still opposite to what they were. We have many operators so the change will be a pain.
Just remembered that a pop up came on screen asking if i wanted to update to the latest version. ROV built last year.
Ok, it sounds like that’s the problem then - Axis Z specifically needs to have its range centred on 500 (with maximum limits at 0 to +1000), and all other axes should be centred on 0 (with maximum limits at -1000 to +1000). If you’re swapping axes around in Cockpit without also changing the corresponding value ranges it’s using for them then in the joystick’s resting position Cockpit will be sending full negative Z axis values, and 50% positive X axis ones (which would correspond to all the thrusters moving as soon as you arm).
There was a new Cockpit version released quite recently. Assuming you updated to that it’s possible a different User got selected that uses the default axis alignments for ROVs, or that there was a joystick profile migration issue which moved your setup back to using the default axis alignments. We’ll see if we can find any migration-related bugs (we’ve already patched one where not all the users were showing up), but that shouldn’t stop you from changing your axes to the way you want them (as long as the limits are set correctly).
In case there has been some unexpected change of the joystick profile you’re using, you might want to also make sure your button functions are the way you normally set them.
Spring-loaded joysticks sometimes have a region of “play” at the relaxed side of the springs that the joystick can settle in, and if it settles off-centre then that can register as a small control input to the vehicle. Specifying a dead zone can account for that by allowing you to wiggle the joysticks without engaging the springs, then making that whole wiggle region count as no input.
If you’re arming and the thrusters are running high (rather than just on a tiny bit) then a dead zone (or lack thereof) is unrelated to your issue
I will give that a try and let you know the outcome. Just for info I didn’t download the newer version of Cockpit I mentioned that to try and help identify which version we are running.
I can confirm we are running 1.18.0. I think it is sorted with the Z axis set to 0. Joysticks back to what they were and fully functional. Still wondering how they managed to change over and how one of our crew were able to change it on the gamepad. Thanks for the help chaps.
1.18.0 was only released as stable a week ago, so somebody on your end likely followed through with the update message for that one. We have since also released 1.18.1 as a patch release, which could be the message you saw and didn’t follow through with.
I suspect there was indeed a migration issue (perhaps the hidden users issue that 1.18.1 fixes), that meant you ended up with the default ROV joystick mapping instead of your normal one.
Are you familiar with ArduSub’s roll-pitch toggle (swap X+Y axes between forward+lateral / roll+pitch control) and input hold (cruise control - set current axis levels as the relaxed point) joystick button functions? Both of those (temporarily) affect how the axes are interpreted, and if applied accidentally (and without understanding the corresponding alert) could present as a similar issue.
The roll-pitch toggle in particular we’ve removed from our default joystick profile because it’s often more confusing than helpful, especially since there are roll and pitch increment/decrement functions that are less complicated to work with, and there are dedicated S and T axes for roll/pitch control for users more axes available on their joystick.