Open richark opened 9 years ago
A few things to think about:
1) The bandwidth issue has come up to me. I'm not sure how to deal with this, really, although in a modern sense it's not that much bandwidth. I understand there are some people in out-back areas that only have 128k DSL lines and such, but a modern Comcast line is a few megabit, and we're talking about download bandwidth, which is nearly always fatter.
2) I think that it's impossible in the current architecture to do this. The only way to "transmit" is if the AMBE encoder produces AMBE packets. That only happens when the audio object queues audio data for it. I'm not writing something like ircDDBGateway where I'm trying to pass DSTAR streams. I'm only a destination for them. But I will keep it in mind as this comes to fruition.
3) The code is already sufficiently abstract that this shouldn't be an issue. The difference between a network AMBE device and a USB one is encapsulated in two classes. In fact, the plan is to support any number of vocoder drivers. If you look at the code, the main program doesn't care about what kind of vocoder it is, as long as it supports the BTRVocoderDriver protocol.
4) Supporting these other protocols has been in the back of my mind and trying to leave stuff open for future implementation. I think it will take some modification to the BTRVocoderProtocol interface to support switching the RATEP words and other parameters.
Allow the user to identify x number of defined reflectors and 'scan' through them like a analog radio would scan through a list of repeaters.
Feature would establish links to the x reflectors, monitor the AMBE streams for activity and when a reflector has traffic, switch to the 'linked' state in Buster. When the activity stopped and if the user hadn't transmitted, resume scanning.
Alternatively you could have a timer for how long to listen to an active stream.