Alex,
I don't think this a bug, but I can not get passthru to work. I have used an FDTI adapter with the RX line tied to the Serial 4 port TX line of the FC, and of course set SERIAL4_PROTOCOL=10 and OPTIONS=7. All I see from the sniff are the receivers requests for data:
dbf 717e ef7e bdbf 537e 347e ef7e bdbf
0002640 e27e 9690 ef7e bdbf ef7e bdbf 397e ef7e
0002650 bdbf e27e 9b90 e27e 8090 ef7e bdbf 227e
0002660 ef7e bdbf ef7e bdbf 457e ef7e bdbf 677e
0002670 487e ef7e bdbf 6a7e ef7e bdbf ef7e bdbf
0002680 0d7e ef7e bdbf 2f7e ef7e bdbf 717e ef7e
0002690 bdbf 537e 347e ef7e bdbf e27e 9690 ef7e
00026a0 bdbf ef7e bdbf 397e ef7e bdbf e27e 9b90
00026b0 e27e 8090 ef7e bdbf 227e ef7e bdbf ef7e
00026c0 bdbf 457e ef7e bdbf 677e
I added debug prints to the passthru code in ardupilot, in the send_byte method, and I get data. I did not capture it but I try to figure out how to do that, to capture all bytes sent. Nothing shows up on the TX line for FC sends. No converter, just the SERIAL_OPTIONS=7 and a wire soldered to the P pad on an R-XSR receiver.
Can you offer any insight? It shoudl just work. I've tried the latest dev with your new scheduler, and 3.9.