PX4 Architecture Question -- how are the radio telemetry modules organized?

Hi guys,
Could someone with more experience clue me in about how the radio modules are organized?

Questions:

  1. Are r/c input modules organized separately from telemetry modules?
  2. Should various r/c modules behave independently? Or are some startup up by others?
    • If the second, which module acts as the traffic-director role?
  3. Should r/c-input modules expect to receive all inputs, and ignore messages it doesn’t understand?

Context:

I’m writing a patch to support a spektrum receiver (spm4651t), and I’d like to add the new supporting code in the right place – the problem is, I don’t understand what the right place is:

  • Currently, spektrum telemetry code is at: src/drivers/telemetry/spektrum_telemetry/*
  • Which may or may not duplicate the code at: src/drivers/spektrum_rc/*
  • But the rc_input module also contains some spektrum code: src/drivers/rc_input/*

p.s. source issue: #16620