Re: Analog_Bridge remote control (TLV) commands exposed.
I have received a few direct questions about this topic. I would prefer questions be asked here so all can learn from the question / answer but I'll try to cover the subject here.
Some people are under the impression that the changes to Analog_Bridge and the addition of dvswitch.sh are for DVSwitch Mobile(DVSM) and USRP Client(UC). This could not be further from the truth. The first version of Analog_Bridge was built to provide a method of bridging AllStarLink(ASL) to the DMR networks. Analog_Bridge has it's roots in ASL and we always consider the impact of any change.
I believe most of the ASL to Digital bridges in use today are single mode. I expect mostly DMR but I'm sure there are other modes in use. To build a multi-mode ASL bridge required some script jiu jitsu to change modes. The same method I used for the example multi-mode DVSM was used to change modes in a ASL to Digital bridge.
Create 5 copies of Analog_Bridge.ini (DMR.ini, YSF.ini, NXDN.ini, P25INI and DSTAR.ini
Edit each mode ini file to reflect the mode. Don't forget to set the TX and RX ports to match those defined in DVSwitch.ini.
Create 5 macros for ASL that copies the proper .ini file over Analog_Bridge.ini and restart Analog_Bridge.
Not elegant, but it works. I'll say it again, don't forget to set the proper TX and RX ports!
Now let's do the same thing with dvswitch.sh:
Create 5 macros in ASL, each with a a single command and a parameter. dvswitch.sh mode DMR or dvswitch.sh mode YSF. You get the idea.
That's it. dvswitch.sh will read DVSwitch.ini then find the desired mode. dvswitch.sh will tell Analog_Bridge to change mode and ports to match the running instance of MMDVM_Bridge. That's it, you are now on a new mode.
So, you want to change to a different Talk Group or Reflector? Create a macro for ASL with the command dvswitch.sh tune 3112138 or dvswitch.sh tune ysfreflector.net:42000 and you are on the new Talk Group or Reflector.
Now let's get cute. I want ASL to tell me what mode and TG it's currently pointed at. dvswitch.sh is your friend here too. I won't build the whole script but in pseudo code:
ask dvswitch the current mode with dvswitch.sh mode (no parameter)
ask dvswitch.sh the current Talk Group with dvswitch.sh tune (no parameter)
take the results of those 2 commands and ask ASL to say "tuned to Talk Group $tg on mode $mode"
You get the idea.
As we move forward with the fork of AllStarLink, we will expand the ability of AllStarLink to interact with Analog_Bridge. The first project will be to expand chan_usrp. The channel driver is simple and perfect to communicate more to Analog_Bridge. Some scripting will always be required but USRP has a lot of room to expand. If you have some ideas for what you would like to see join us in the subgroup for the fork <https://dvswitch.groups.io/g/DVSwitch-ASL>. Your ideas are welcome.