Hi @espenr, welcome to the forum ![]()
I’m unsure whether this was a serious question/critique, but I’ll respond to it to try to provide some more context around what goes into making a robotic vehicle like this work, in a sustainable way:
Embedded firmware often has quite significant resource constraints it needs to work within, and there are already various features that are not compiled by default in the autopilot firmware so it can fit within the storage capacity of the more constrained flight controller board options that ArduPilot firmware gets built for.
There is also technical debt in how ArduSub firmware currently expects to be controlled, and the infrastructure around it. Adding an extra lights output means adding more configuration parameters as well as several extra joystick button functions (which then need to be searched through / scrolled past by users looking for other things), and those in turn all need to be supported within interfacing software like BlueOS and Cockpit (which requires additional development, and creates more code to maintain).
Beyond that, our todo list of ideas grows much faster than our capacity to make them happen, as is typical of complex projects, and especially those aiming to be useful to a wide variety of users with different applications and concerns. While it may be free for you to access and use the firmware and software we provide, our development work is not free, so we need to prioritise the time we have available to features that are most important and valuable to users.
Yes, in this case there are workarounds available ![]()
Assuming you’re using the latest ArduSub firmware (4.5.6), you can configure up to 6 additional lights-like outputs using the new Actuator functions, which also have ACTUATORn_INC parameters to control the step size of the increment/decrement button functions (akin to the brighter/dimmer functions available for lights). Note that only 3 of those are exposed in Cockpit’s current stable version (v1.16) - the remaining 3 will be available in the next stable (v1.17).
Older firmware can instead use the hardcoded servo button functions to control pins 9/10/11, which still adds 3 outputs if you keep your lights function assignments to other output pins.