MissionPlanner icon indicating copy to clipboard operation
MissionPlanner copied to clipboard

CurrentState: honor MAVLinkInterface.speechenable

Open robertlong13 opened this issue 1 year ago • 4 comments

Some speech events, like mode changes, fire off on all connected com ports, not just the primary. Additionally, CurrentState ignores the speechenable flag of the MAVLinkInterface that it's attached to, causing it to go off even for interfaces that are supposed to be silent.

This PR makes CurrentState honor the speechenable flag. Additionally, it sets speechenable on an interface when MainV2.comPort is set to that interface, and clears speechenable on the old interface that MainV2.comPort was pointing to.

robertlong13 avatar Dec 15 '23 06:12 robertlong13

What about multi vehicle configurations ? Speech is the only feedback for changes on a non selected vehicle and this disables it as well...

EosBandi avatar Jan 15 '24 10:01 EosBandi

I was thinking about this in the context of multi vehicle applications too. "Mode changed to X", "Heading to Waypoint X", without any indication of which vehicle it came from, is, at best, unhelpful. At worst, it's overwhelming vocal spam. Especially if you have a large swarm.

If that's not convincing, then I can reduce this PR to just making CurrentState honor the speechenable flag. That way plugins have the ability to control it, and we can add options for the stock behavior in the future.

robertlong13 avatar Jan 15 '24 10:01 robertlong13

@EosBandi and @meee1, thoughts on this? If you think it's best to default it so that all connections speak normally, I can reduce this PR to just fix it so that speechenable works correctly.

robertlong13 avatar May 16 '24 05:05 robertlong13

@meee1, I have decided to limit the scope of this PR to just the bugfix. I can handle silencing/unsilencing in a plugin.

robertlong13 avatar May 30 '24 05:05 robertlong13