Topics

Changelog


Mike Zingman - N4IRR
 
Edited

We just posted some changes to the components, here is the. changelog.  Several of these changes will require significant doc for you to use so more to come:
AB:
  • Add AGC update including new settings
        • In AB.ini you can now set usrpAgc to adjust the threshold, slope and decay of the AGC
        • "Threshold" specifies AGC Knee in dB if AGC is active.( nominal range -160 to 0dB)

        • "Slope" specifies dB reduction in output at knee from maximum output level(nominal range 0 to 10dB) 
        • "Decay" is AGC decay value in milliseconds ( nominal range 20 to 5000 milliSeconds)

      • Add reloadDatabase remote command
        • This command (issued from dvswitch.sh) will cause AB to reload its internal database of users from disk.  This is normally done once every 24h
  • Add menu command (does not popup menu on mobile)
        • Like the "macro" menu for DVSM/pyUC, the menu command loads a transient menu into the client. 
        • Unlike the "macro" command (which now popups up immediately) the menu command just loads the menu
        • This command is most useful in conjunction with the OnRegister macro
  • Support USRP ping back (NAT keep alive)
        • Allow AB to respect a reverse keep alive from the mobile client for some NAT situations
  • Multiport transmit to support better bridge creation
        • This requires a full post all by itself, but the quick description is that a comma delimited list of transmit ports is now supported by AB and MB
        • The main purpose of this is to support better bridge architectures
        • Other uses include logging and streaming 
  • Allow macro variables with substitution
        • Again a single change that requires a full post.
        • Variables are now supported in the macro section of AB.ini
        • The variables are substituted by the shell before command. execution
        • The variables allow for much more concise command line strings
        • The variables make for much more readable macro definitions
        • Less dedicated scripts will. be needed as the macro definition can be defined in the section alone
        • Variables are exported to the environment and be used by client scripts for context
  • Better ini parsing error messages
        • When an error. is encountered in the parsing of the ini files, a better error message is. generated to. help diagnose the problem
  • Add warning if call not found in database (DSTAR)
        • DSTAR/ircddbGateway is picky and wants a valid callsign to operate.
        • This warning tells you that a call can not be found in the database that matches the DMR ID/CCS7 provided in "gatewayDmrId"
  • Add name lookup and metadata export
        • Metadata exported from the USRP interface now includes the first name and callsign of the DMR ID
        • The information comes from the database file loaded by "subscriberFile"
  • Change default transferRoot to /tmp
        • Change the default so that users who fail to set this parameter still function as expected
  • Make tune command able to invoke macros
        • The dvswitch.sh tune command/AB now supports invocation of AB macros using the same syntax (*) as DVSM/pyUC
dvswitch.sh
  • Inherit dir names from environment
        • Along with the variable support in AB, dvswitch.sh can now use AB_DIR, MMDVM_DIR and NODE_DIR from the environment
  • Use awk and not jq
        • On small machines (older Raspberry Pi) using jq would choke on large database files (DMR)
        • We moved bac to using awk which performs MUCH better and does not choke
  • Change ASL validation to a more visible node
      • Allow several commands to execute without ABInfo being present.
  • Add download and validation of user database files.
      • Support new AB commands reloadDatabase, AGC settings, etc
MB:
  • Change DMR networks on the fly.
        • The DMR tune command now support network selection.
        • The tune syntax. is PPPPP@AAAAA:###:OOOO
        • Where
          • PPPPP is the password for the DMR server
          • AAAA is the. FQDN (ip address) of the server
          • #### is the port that the DMR server is listening on
          • OOOO is any options that may be needed (XLX and DMR+)
  • Comma delimited set of transmit ports for each mode.
        • This will take a whole post to describe!  Maybe even two
        • The transmit ports in DVSWITCH.INI now take a comma delimited list of ports
        • These ports will allow you to set up single instance bridges with like mode partners with greater than two networks
      • NXDN remote command error silence (Just a bug fix)
      • DSTAR remote command was dropping into END_TX case. (just a bug fix)
  • Better error message for dvswitch.ini file parsing.
        • When an error. is found while parsing the ini files, a better error message is generated
  • DMR support for talker alias. DVSWITCH.ini has a new tag (TalkerAlias) in the DMR section.
        • This setting will be transmitted to the network on each transmission and can include your name, rig, location, etc
  • P25 Soft Id transmit and receive
        • Still a work in progress, but it is functional on decode
  • YSF split of narrow and wide TLV export to support transcode.
        • Wide mode YSF packets can now be sent to its own list of transmit ports using TXWidePort
        • This is independent of the narrow transmit ports
        • This allows you to transcode one side of YSF while keeping the other format free from conversion
  • YSF uses the latitude and longitude from MMDVM_Bridge.ini for the GPS location.
        • All transmissions will include GPS locations from the MB.ini file if non-zero
  • DSTAR slow data fix DSTAR ini file addition: message
  • Force MB to begin transmission if we did not see one (FCS bug)
  • Make MB return MMDVM and not _Unknown


JJ Cummings
 

Awesome work Mike!


On Mon, Apr 20, 2020 at 11:28 AM Mike Zingman - N4IRR <mike.zingman@...> wrote:

[Edited Message Follows]

We just posted some changes to the components, here is the. changelog.  Several of these changes will require significant doc for you to use so more to come:
AB:
  • Add AGC update including new settings
        • In AB.ini you can now set usrpAgc to adjust the threshold, slope and decay of the AGC
        • "Threshold" specifies AGC Knee in dB if AGC is active.( nominal range -160 to 0dB)

        • "Slope" specifies dB reduction in output at knee from maximum output level(nominal range 0 to 10dB) 
        • "Decay" is AGC decay value in milliseconds ( nominal range 20 to 5000 milliSeconds)

      • Add reloadDatabase remote command
        • This command (issued from dvswitch.sh) will cause AB to reload its internal database of users from disk.  This is normally done once every 24h
  • Add menu command (does not popup menu on mobile)
        • Like the "macro" menu for DVSM/pyUC, the menu command loads a transient menu into the client. 
        • Unlike the "macro" command (which now popups up immediately) the menu command just loads the menu
        • This command is most useful in conjunction with the OnRegister macro
  • Support USRP ping back (NAT keep alive)
        • Allow AB to respect a reverse keep alive from the mobile client for some NAT situations
  • Multiport transmit to support better bridge creation
        • This requires a full post all by itself, but the quick description is that a comma delimited list of transmit ports is now supported by AB and MB
        • The main purpose of this is to support better bridge architectures
        • Other uses include logging and streaming 
  • Allow macro variables with substitution
        • Again a single change that requires a full post.
        • Variables are now supported in the macro section of AB.ini
        • The variables are substituted by the shell before command. execution
        • The variables allow for much more concise command line strings
        • The variables make for much more readable macro definitions
        • Less dedicated scripts will. be needed as the macro definition can be defined in the section alone
        • Variables are exported to the environment and be used by client scripts for context
  • Better ini parsing error messages
        • When an error. is encountered in the parsing of the ini files, a better error message is. generated to. help diagnose the problem
  • Add warning if call not found in database (DSTAR)
        • DSTAR/ircddbGateway is picky and wants a valid callsign to operate.
        • This warning tells you that a call can not be found in the database that matches the DMR ID/CCS7 provided in "gatewayDmrId"
  • Add name lookup and metadata export
        • Metadata exported from the USRP interface now includes the first name and callsign of the DMR ID
        • The information comes from the database file loaded by "subscriberFile"
  • Change default transferRoot to /tmp
        • Change the default so that users who fail to set this parameter still function as expected
  • Make tune command able to invoke macros
        • The dvswitch.sh tune command/AB now supports invocation of AB macros using the same syntax (*) as DVSM/pyUC
dvswitch.sh
  • Inherit dir names from environment
        • Along with the variable support in AB, dvswitch.sh can now use AB_DIR, MMDVM_DIR and NODE_DIR from the environment
  • Use awk and not jq
        • On small machines (older Raspberry Pi) using jq would choke on large database files (DMR)
        • We moved bac to using awk which performs MUCH better and does not choke
  • Change ASL validation to a more visible node
      • Allow several commands to execute without ABInfo being present.
  • Add download and validation of user database files.
      • Support new AB commands reloadDatabase, AGC settings, etc
MB:
  • Change DMR networks on the fly.
        • The DMR tune command now support network selection.
        • The tune syntax. is PPPPP@AAAAA:###:OOOO
        • Where
          • PPPPP is the password for the DMR server
          • AAAA is the. FQDN (ip address) of the server
          • #### is the port that the DMR server is listening on
          • OOOO is any options that may be needed (XLX and DMR+)
  • Comma delimited set of transmit ports for each mode.
        • This will take a whole post to describe!  Maybe even two
        • The transmit ports in DVSWITCH.INI now take a comma delimited list of ports
        • These ports will allow you to set up single instance bridges with like mode partners with greater than two networks
      • NXDN remote command error silence (Just a bug fix)
      • DSTAR remote command was dropping into END_TX case. (just a bug fix)
  • Better error message for dvswitch.ini file parsing.
        • When an error. is found while parsing the ini files, a better error message is generated
  • DMR support for talker alias. DVSWITCH.ini has a new tag (TalkerAlias) in the DMR section.
        • This setting will be transmitted to the network on each transmission and can include your name, rig, location, etc
  • P25 Soft Id transmit and receive
        • Still a work in progress, but it is functional on decode
  • YSF split of narrow and wide TLV export to support transcode.
        • Wide mode YSF packets can now be sent to its own list of transmit ports using TXWidePort
        • This is independent of the narrow transmit ports
        • This allows you to transcode one side of YSF while keeping the other format free from conversion
  • YSF uses the latitude and longitude from MMDVM_Bridge.ini for the GPS location.
        • All transmissions will include GPS locations from the MB.ini file if non-zero
  • DSTAR slow data fix DSTAR ini file addition: message
  • Force MB to begin transmission if we did not see one (FCS bug)
  • Make MB return MMDVM and not _Unknown


Kevin - W8KHW
 

Wow, you guys really have had cabin fever. Thank you!

Kevin
W8KHW 

On Apr 20, 2020, at 1:28 PM, Mike Zingman - N4IRR <mike.zingman@...> wrote:



[Edited Message Follows]

We just posted some changes to the components, here is the. changelog.  Several of these changes will require significant doc for you to use so more to come:
AB:
  • Add AGC update including new settings
        • In AB.ini you can now set usrpAgc to adjust the threshold, slope and decay of the AGC
        • "Threshold" specifies AGC Knee in dB if AGC is active.( nominal range -160 to 0dB)

        • "Slope" specifies dB reduction in output at knee from maximum output level(nominal range 0 to 10dB) 
        • "Decay" is AGC decay value in milliseconds ( nominal range 20 to 5000 milliSeconds)

      • Add reloadDatabase remote command
        • This command (issued from dvswitch.sh) will cause AB to reload its internal database of users from disk.  This is normally done once every 24h
  • Add menu command (does not popup menu on mobile)
        • Like the "macro" menu for DVSM/pyUC, the menu command loads a transient menu into the client. 
        • Unlike the "macro" command (which now popups up immediately) the menu command just loads the menu
        • This command is most useful in conjunction with the OnRegister macro
  • Support USRP ping back (NAT keep alive)
        • Allow AB to respect a reverse keep alive from the mobile client for some NAT situations
  • Multiport transmit to support better bridge creation
        • This requires a full post all by itself, but the quick description is that a comma delimited list of transmit ports is now supported by AB and MB
        • The main purpose of this is to support better bridge architectures
        • Other uses include logging and streaming 
  • Allow macro variables with substitution
        • Again a single change that requires a full post.
        • Variables are now supported in the macro section of AB.ini
        • The variables are substituted by the shell before command. execution
        • The variables allow for much more concise command line strings
        • The variables make for much more readable macro definitions
        • Less dedicated scripts will. be needed as the macro definition can be defined in the section alone
        • Variables are exported to the environment and be used by client scripts for context
  • Better ini parsing error messages
        • When an error. is encountered in the parsing of the ini files, a better error message is. generated to. help diagnose the problem
  • Add warning if call not found in database (DSTAR)
        • DSTAR/ircddbGateway is picky and wants a valid callsign to operate.
        • This warning tells you that a call can not be found in the database that matches the DMR ID/CCS7 provided in "gatewayDmrId"
  • Add name lookup and metadata export
        • Metadata exported from the USRP interface now includes the first name and callsign of the DMR ID
        • The information comes from the database file loaded by "subscriberFile"
  • Change default transferRoot to /tmp
        • Change the default so that users who fail to set this parameter still function as expected
  • Make tune command able to invoke macros
        • The dvswitch.sh tune command/AB now supports invocation of AB macros using the same syntax (*) as DVSM/pyUC
dvswitch.sh
  • Inherit dir names from environment
        • Along with the variable support in AB, dvswitch.sh can now use AB_DIR, MMDVM_DIR and NODE_DIR from the environment
  • Use awk and not jq
        • On small machines (older Raspberry Pi) using jq would choke on large database files (DMR)
        • We moved bac to using awk which performs MUCH better and does not choke
  • Change ASL validation to a more visible node
      • Allow several commands to execute without ABInfo being present.
  • Add download and validation of user database files.
      • Support new AB commands reloadDatabase, AGC settings, etc
MB:
  • Change DMR networks on the fly.
        • The DMR tune command now support network selection.
        • The tune syntax. is PPPPP@AAAAA:###:OOOO
        • Where
          • PPPPP is the password for the DMR server
          • AAAA is the. FQDN (ip address) of the server
          • #### is the port that the DMR server is listening on
          • OOOO is any options that may be needed (XLX and DMR+)
  • Comma delimited set of transmit ports for each mode.
        • This will take a whole post to describe!  Maybe even two
        • The transmit ports in DVSWITCH.INI now take a comma delimited list of ports
        • These ports will allow you to set up single instance bridges with like mode partners with greater than two networks
      • NXDN remote command error silence (Just a bug fix)
      • DSTAR remote command was dropping into END_TX case. (just a bug fix)
  • Better error message for dvswitch.ini file parsing.
        • When an error. is found while parsing the ini files, a better error message is generated
  • DMR support for talker alias. DVSWITCH.ini has a new tag (TalkerAlias) in the DMR section.
        • This setting will be transmitted to the network on each transmission and can include your name, rig, location, etc
  • P25 Soft Id transmit and receive
        • Still a work in progress, but it is functional on decode
  • YSF split of narrow and wide TLV export to support transcode.
        • Wide mode YSF packets can now be sent to its own list of transmit ports using TXWidePort
        • This is independent of the narrow transmit ports
        • This allows you to transcode one side of YSF while keeping the other format free from conversion
  • YSF uses the latitude and longitude from MMDVM_Bridge.ini for the GPS location.
        • All transmissions will include GPS locations from the MB.ini file if non-zero
  • DSTAR slow data fix DSTAR ini file addition: message
  • Force MB to begin transmission if we did not see one (FCS bug)
  • Make MB return MMDVM and not _Unknown


Steve N4IRS
 
Edited

I have posted armhf, arm64, armv6l i386 and amd64 to GitHub. (The full Monty)
Last update to github: 04/26/2020 07:37:00 EST


From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of Mike Zingman - N4IRR <mike.zingman@...>
Sent: Monday, April 20, 2020 1:26:28 PM
To: main@DVSwitch.groups.io <main@DVSwitch.groups.io>
Subject: [DVSwitch] Changelog
 

[Edited Message Follows]

We just posted some changes to the components, here is the. changelog.  Several of these changes will require significant doc for you to use so more to come:
AB:
  • Add AGC update including new settings
        • In AB.ini you can now set usrpAgc to adjust the threshold, slope and decay of the AGC
        • "Threshold" specifies AGC Knee in dB if AGC is active.( nominal range -160 to 0dB)

        • "Slope" specifies dB reduction in output at knee from maximum output level(nominal range 0 to 10dB) 
        • "Decay" is AGC decay value in milliseconds ( nominal range 20 to 5000 milliSeconds)

      • Add reloadDatabase remote command
        • This command (issued from dvswitch.sh) will cause AB to reload its internal database of users from disk.  This is normally done once every 24h
  • Add menu command (does not popup menu on mobile)
        • Like the "macro" menu for DVSM/pyUC, the menu command loads a transient menu into the client. 
        • Unlike the "macro" command (which now popups up immediately) the menu command just loads the menu
        • This command is most useful in conjunction with the OnRegister macro
  • Support USRP ping back (NAT keep alive)
        • Allow AB to respect a reverse keep alive from the mobile client for some NAT situations
  • Multiport transmit to support better bridge creation
        • This requires a full post all by itself, but the quick description is that a comma delimited list of transmit ports is now supported by AB and MB
        • The main purpose of this is to support better bridge architectures
        • Other uses include logging and streaming 
  • Allow macro variables with substitution
        • Again a single change that requires a full post.
        • Variables are now supported in the macro section of AB.ini
        • The variables are substituted by the shell before command. execution
        • The variables allow for much more concise command line strings
        • The variables make for much more readable macro definitions
        • Less dedicated scripts will. be needed as the macro definition can be defined in the section alone
        • Variables are exported to the environment and be used by client scripts for context
  • Better ini parsing error messages
        • When an error. is encountered in the parsing of the ini files, a better error message is. generated to. help diagnose the problem
  • Add warning if call not found in database (DSTAR)
        • DSTAR/ircddbGateway is picky and wants a valid callsign to operate.
        • This warning tells you that a call can not be found in the database that matches the DMR ID/CCS7 provided in "gatewayDmrId"
  • Add name lookup and metadata export
        • Metadata exported from the USRP interface now includes the first name and callsign of the DMR ID
        • The information comes from the database file loaded by "subscriberFile"
  • Change default transferRoot to /tmp
        • Change the default so that users who fail to set this parameter still function as expected
  • Make tune command able to invoke macros
        • The dvswitch.sh tune command/AB now supports invocation of AB macros using the same syntax (*) as DVSM/pyUC
dvswitch.sh
  • Inherit dir names from environment
        • Along with the variable support in AB, dvswitch.sh can now use AB_DIR, MMDVM_DIR and NODE_DIR from the environment
  • Use awk and not jq
        • On small machines (older Raspberry Pi) using jq would choke on large database files (DMR)
        • We moved bac to using awk which performs MUCH better and does not choke
  • Change ASL validation to a more visible node
      • Allow several commands to execute without ABInfo being present.
  • Add download and validation of user database files.
      • Support new AB commands reloadDatabase, AGC settings, etc
MB:
  • Change DMR networks on the fly.
        • The DMR tune command now support network selection.
        • The tune syntax. is PPPPP@AAAAA:###:OOOO
        • Where
          • PPPPP is the password for the DMR server
          • AAAA is the. FQDN (ip address) of the server
          • #### is the port that the DMR server is listening on
          • OOOO is any options that may be needed (XLX and DMR+)
  • Comma delimited set of transmit ports for each mode.
        • This will take a whole post to describe!  Maybe even two
        • The transmit ports in DVSWITCH.INI now take a comma delimited list of ports
        • These ports will allow you to set up single instance bridges with like mode partners with greater than two networks
      • NXDN remote command error silence (Just a bug fix)
      • DSTAR remote command was dropping into END_TX case. (just a bug fix)
  • Better error message for dvswitch.ini file parsing.
        • When an error. is found while parsing the ini files, a better error message is generated
  • DMR support for talker alias. DVSWITCH.ini has a new tag (TalkerAlias) in the DMR section.
        • This setting will be transmitted to the network on each transmission and can include your name, rig, location, etc
  • P25 Soft Id transmit and receive
        • Still a work in progress, but it is functional on decode
  • YSF split of narrow and wide TLV export to support transcode.
        • Wide mode YSF packets can now be sent to its own list of transmit ports using TXWidePort
        • This is independent of the narrow transmit ports
        • This allows you to transcode one side of YSF while keeping the other format free from conversion
  • YSF uses the latitude and longitude from MMDVM_Bridge.ini for the GPS location.
        • All transmissions will include GPS locations from the MB.ini file if non-zero
  • DSTAR slow data fix DSTAR ini file addition: message
  • Force MB to begin transmission if we did not see one (FCS bug)
  • Make MB return MMDVM and not _Unknown


HL5KY
 
Edited

Thank you for the great work.
 
Here I have some issue with the new update. After updating binaries, I can't transmit on DSTAR. Connecting DSTAR reflector seems to be ok, as I could hear the other's voice. Pressing PTT made it red but no real TX was carried out. And in about 5~10 seconds, it became unregistered.
 
Please find the attached files, a part of MMDVM_Bridge.log and the result of './dvswitch.sh show'. As you can see, after pressing PTT, it changes to DMR by itself.
 
Joe, HL5KY.
 
p.s. TG450 is a static TG.


ea7jcl@...
 

Wow! Good job. Thanks


Patrick Perdue
 

I installed the new A_B yesterday morning, and enabled AGC. What a difference! Very smooth, and gets through analog a lot better with certain radios.

Thanks for the great work.


On 4/20/2020 1:26 PM, Mike Zingman - N4IRR wrote:

[Edited Message Follows]

We just posted some changes to the components, here is the. changelog.  Several of these changes will require significant doc for you to use so more to come:
AB:
  • Add AGC update including new settings
        • In AB.ini you can now set usrpAgc to adjust the threshold, slope and decay of the AGC
        • "Threshold" specifies AGC Knee in dB if AGC is active.( nominal range -160 to 0dB)

        • "Slope" specifies dB reduction in output at knee from maximum output level(nominal range 0 to 10dB) 
        • "Decay" is AGC decay value in milliseconds ( nominal range 20 to 5000 milliSeconds)

      • Add reloadDatabase remote command
        • This command (issued from dvswitch.sh) will cause AB to reload its internal database of users from disk.  This is normally done once every 24h
  • Add menu command (does not popup menu on mobile)
        • Like the "macro" menu for DVSM/pyUC, the menu command loads a transient menu into the client. 
        • Unlike the "macro" command (which now popups up immediately) the menu command just loads the menu
        • This command is most useful in conjunction with the OnRegister macro
  • Support USRP ping back (NAT keep alive)
        • Allow AB to respect a reverse keep alive from the mobile client for some NAT situations
  • Multiport transmit to support better bridge creation
        • This requires a full post all by itself, but the quick description is that a comma delimited list of transmit ports is now supported by AB and MB
        • The main purpose of this is to support better bridge architectures
        • Other uses include logging and streaming 
  • Allow macro variables with substitution
        • Again a single change that requires a full post.
        • Variables are now supported in the macro section of AB.ini
        • The variables are substituted by the shell before command. execution
        • The variables allow for much more concise command line strings
        • The variables make for much more readable macro definitions
        • Less dedicated scripts will. be needed as the macro definition can be defined in the section alone
        • Variables are exported to the environment and be used by client scripts for context
  • Better ini parsing error messages
        • When an error. is encountered in the parsing of the ini files, a better error message is. generated to. help diagnose the problem
  • Add warning if call not found in database (DSTAR)
        • DSTAR/ircddbGateway is picky and wants a valid callsign to operate.
        • This warning tells you that a call can not be found in the database that matches the DMR ID/CCS7 provided in "gatewayDmrId"
  • Add name lookup and metadata export
        • Metadata exported from the USRP interface now includes the first name and callsign of the DMR ID
        • The information comes from the database file loaded by "subscriberFile"
  • Change default transferRoot to /tmp
        • Change the default so that users who fail to set this parameter still function as expected
  • Make tune command able to invoke macros
        • The dvswitch.sh tune command/AB now supports invocation of AB macros using the same syntax (*) as DVSM/pyUC
dvswitch.sh
  • Inherit dir names from environment
        • Along with the variable support in AB, dvswitch.sh can now use AB_DIR, MMDVM_DIR and NODE_DIR from the environment
  • Use awk and not jq
        • On small machines (older Raspberry Pi) using jq would choke on large database files (DMR)
        • We moved bac to using awk which performs MUCH better and does not choke
  • Change ASL validation to a more visible node
      • Allow several commands to execute without ABInfo being present.
  • Add download and validation of user database files.
      • Support new AB commands reloadDatabase, AGC settings, etc
MB:
  • Change DMR networks on the fly.
        • The DMR tune command now support network selection.
        • The tune syntax. is PPPPP@AAAAA:###:OOOO
        • Where
          • PPPPP is the password for the DMR server
          • AAAA is the. FQDN (ip address) of the server
          • #### is the port that the DMR server is listening on
          • OOOO is any options that may be needed (XLX and DMR+)
  • Comma delimited set of transmit ports for each mode.
        • This will take a whole post to describe!  Maybe even two
        • The transmit ports in DVSWITCH.INI now take a comma delimited list of ports
        • These ports will allow you to set up single instance bridges with like mode partners with greater than two networks
      • NXDN remote command error silence (Just a bug fix)
      • DSTAR remote command was dropping into END_TX case. (just a bug fix)
  • Better error message for dvswitch.ini file parsing.
        • When an error. is found while parsing the ini files, a better error message is generated
  • DMR support for talker alias. DVSWITCH.ini has a new tag (TalkerAlias) in the DMR section.
        • This setting will be transmitted to the network on each transmission and can include your name, rig, location, etc
  • P25 Soft Id transmit and receive
        • Still a work in progress, but it is functional on decode
  • YSF split of narrow and wide TLV export to support transcode.
        • Wide mode YSF packets can now be sent to its own list of transmit ports using TXWidePort
        • This is independent of the narrow transmit ports
        • This allows you to transcode one side of YSF while keeping the other format free from conversion
  • YSF uses the latitude and longitude from MMDVM_Bridge.ini for the GPS location.
        • All transmissions will include GPS locations from the MB.ini file if non-zero
  • DSTAR slow data fix DSTAR ini file addition: message
  • Force MB to begin transmission if we did not see one (FCS bug)
  • Make MB return MMDVM and not _Unknown


Mike Zingman - N4IRR
 

Patrick,

Thanks for the feedback.  
A great thanks go out to Moe AE4JY.  His code for AGC is awesome.  Check out the incredible discussion in this doc if you want to know more:
https://sourceforge.net/projects/cutesdr/files/doc/CuteSDR102.pdf/download


SP2ONG Waldek
 

Hi Mike,

Can you give an example of how to use it?

Do I then run two Analog_Bridge which supports YSFN and the other YSFW with different TX ports but the same RXport with DVswitch.ini?


On Mon, Apr 20, 2020 at 10:26 AM, Mike Zingman - N4IRR wrote:
  • YSF split of narrow and wide TLV export to support transcode.
        • Wide mode YSF packets can now be sent to its own list of transmit ports using TXWidePort
        • This is independent of the narrow transmit ports
        • This allows you to transcode one side of YSF while keeping the other format free from conversion


Mike Zingman - N4IRR
 

Hello Waldek,

So, this is a BIG topic which covers several ways you may want to use the DVSwitch components.  The multiple transmit ports in general will allow you to have a much richer assortment of networks/modes bridged.  We will cover this is a very long message to come later.

The YSF change was actually done a while ago (before multi-ports), but did not get released until this last build.  Its original intent was to allow both wide and narrow YSF variants to be bridged to another mode.  As you may understand, MB can only bridge like modes together and all others must be transcoded before they can be bridged.  What this addition lets you do is to have BOTH a like mode bridge AND a transcoded bridge at the same time.  This is mostly unique to YSF, but has other uses as well.

So lets take an example DMR <--> YSF bridge.  Before the last release you could bridge the AMBE directly between the two modes and all would work well.  However, if a transmission on YSF wide was seen, the bridge would drop those voice packets since they were not of the proper data type for DMR.  Now you "could" have transcoded ALL (narrow and wide) and then re-encoded them, but this is a bad solution because of the loss of quality.

Now, what we can do is this:
DMR <--- > YSFN (direct mode bridge)
DMR <-- AB_AMBE <-- AB_IMBE <-- YSFW (transcoded bridge)

The only change you need is to define the TXWidePort to point at AB_IMBE and make the AB_AMBE point to the same port as the direct mode bridge.  The above diagram looks like two separate bridge instances, but it is not!  There is an an instance of MB and two instances of AB.  That is all.  The rest is just port mapping.

I did not use any port numbers in my example on purpose.  They do not matter.  As long as they match on each side.  So you "could"
DMR = 30001
YSFN = 3002
AB_AMBE = 3003
AB_IMBE = 3004
YSFW = 3005

I do not care what the numbers as long as the RX port for each mode is unique and the transmit ports match it.  Lets follow the data as it moves from mode to mode.  First the like modes are simple.  A transmission on DMR will be exported to the YSFN listener and sent to the network.  Good.  Same for the reverse direction.  Now a YSFW transmission is sent to the TXWidePort.  AB_IMBE is listening to that port, gets the TLV, decodes it to PCM, sends it to AB_AMBE to encode into AMBE and then sends the TLV to the same YSFN port.  Done. And lastly, please notice that the transcode for YSFW to DMR is only one way.  Why?  Because 1) it would be bad to have both modes arrive at the same time and 2) It is not needed. The YSF radio will decode the narrow transmission just fine.

All of this was done with only a single transmit port for each mode defined.  In future posts we will discuss how multiple transmit ports adds to this discussion.

Hope this made some sense
73, Mike N4IRR


SP2ONG Waldek
 

Hi Mike,

Thank you very much for the extensive description which is very useful and allows you to better understand how to use it. Yes, I know that we can use a direct connection with MMDM_Bridge with YSF reflector but surely there are differences in audio levels between for example C4FM and DMR and so users with YSF Reflector are heard quieter on DMR and DMR users on YSF Reflector are heard too loud compared to a station with C4FM. For this reason, for YSFN I would also like to use two Analog_Bridge  to be able to compensate for audio levels. Unless there is another way? The same problem is with NXDN.


73 Waldek, SP2ONG


Tom Corcoran
 

Very nice deliverable. Earlier comment is right on … "cabin fever" can have some side benefits!!

AGC function makes a big difference. Is there any source you can point me at that describes how to use the AUDIO_BPF option?
--
Tom VE3NY


Steve N4IRS
 

I have updated MMDVM_Bridge and Analog_Bridge for armhf (only for now) No MAJOR changes. Some bug fixes.
I have updated dvswitch.sh Some bug fixes and additions for more robust retrieval of user databases.

73, Steve N4IRS