Christoph --
I see all the bitwise PTT configuration controls, it seems like you could use one control to set a pttMode that will cover all your cases.
I'll look at the sidetone smoother, I got some comments about it, too, and about the master volume range.
I was puzzled by your comment about the master volume resolution, when I looked at the master volume in the driver source, it said it was using a 7 bit value in half dB steps from +6 dB down, but it certainly seems to pack more oomph than that. Is there another amp being kicked on to extend the high end response?
Wrapping an eight bit serial line in MIDI is fine, but I would specify an endpoint for the connection, too, since other capabilities could use a wrapped serial protocol, too. So another control to specify the target serial endpoint. You could actually send 14 bits very efficiently by using one of the MSB/LSB control pairs. Once the MSB is set to 0, you can send repeated 7 bit characters by sending LSB, and once the MSB is set to 1, you can send repeated 0x80|LSB by sending LSB.
Hmm, I guess you could put the endpoint identifier in the high bits of MSB and you won't need another control to specify the endpoint. 6 bits of endpoint should be enough.
On directly keying, are you ignoring the pttMode setting? I put the tune switch into the keying arbitrator so it gets the same PTT treatment as any other key signal. It should also get pre-empted if the operator touches the straight key or paddle, but that's still to be tested. If you're going to allow remotely switched keyout and pttout, it seems that you should have to set a pttMode that specifies that's what you're doing. Otherwise you have PTT settings which are true, except when they're ignored, and there's no way to tell by looking at the PTT settings that being ignored is an option.
I don't understand "For this I simply use the NOTE values of the outgoing messages
as CONTROLLER numbers for the incoming ones." Could you explain that some more?