The DMR File Generator is back in service. Thank you for your patience.
Our complete DMR channel database is loaded, offering access to the full DMRVA statewide network of 30+ repeaters as well as DMR networks in neighboring states such as Interstate, NCPRN, NC4ES, SCHEART, and HEARS-NC. As of April 1, our database contains 1,842 channels in 168 zones and 9 datasets.
These files offer the same channel arrangement and talkgroup lineup as the other codeplugs on this site, except for the recent addition of Roanoke Metro to the Hampton Roads Brandmeister zones which is not yet reflected in any of our pre-built codeplugs.
Non-DMRVA zones include talkgroups primarily of interest to Virginia amateurs wanting to make contact back home to the DMRVA network. Larger systems like Interstate offer many more talkgroups which are not included in our files. For maximum hardware compatibility, RATS codeplugs are limited to 16 channels per zone.
Our Connect Systems CS750/CS800D and Moto440 codeplugs include an automatic "Monitor All" function tied to the Clear Timeslot channel in each zone. Our File Generator does not generate most of the bits required to enable this feature. (It can, but this is turned off for now.) Therefor, you won't see:
Monitor TS1 or Monitor TS2 channels
Monitor All scan lists for each zone
TS1 and TS2 receive group lists
If you'd like to see this enabled in the DMR File Generator, tell the developer.
In most cases, no -- not with this tool. Importing contacts, channels, and other data via CSV involves numbered line items that match to specific storage locations within the CPS or codeplug. Our files all start at line item #1 for all data types, which will overwrite -- at least partially -- what's already in the radio. This can cause undesired changes in talkgroups and other inconsistencies. We assume that you're starting with a brand new, empty codeplug file. In a few instances, the CPS doesn't have a "New file" feature so we'll provide a link to a blank file you can download.
In the future, you may be able to upload your own personal channels and zones and have them incorporated into the files generated by this utility.
With the exception of our Interstate, NEDECN, DMR-SE, and Hampton Roads Brandmeister systems, we already include all publicly available talkgroups for each DMR network. Larger networks have other talkgroups that can be added manually after importing our data. Refer to our DIY Codeplugs page for information.
A future enhancement to this system may support additional Interstate and Brandmeister talkgroups on radios that allow zones larger than 16 channels.
Our priorities are, in approximately this order:
The combined DMRVA and HEARS-VA statewide network
HEARS-NC DMR and analog
VA Brandmeister coverage beyond DMRVA's footprint (SE VA, and soon SW VA; no DMRVA overlap)
Immediately surrounding C-Bridge networks: Interstate, NCPRN, NC4ES
VA-focused travel coverage on distant C-Bridge networks such as NJ-TRBO, SE-DMR, Tri-State, W2GGI, Bronx-TRBO, SCHEART, etc.
Individual Brandmeister systems - fill-in sites within our codeplug coverage area (outside VA; no DMRVA overlap)
We are able to easily support regional C-Bridge systems that provide a clear, organized, up-to-date talkgroup matrix or other centralized repository of repeater and talkgroup details for their network, like DMRVA's talkgroup matrix.
Since most Brandmeister repeaters are individually owned and operated, independent of any other network or repeater cluster, supporting these systems would require that we individually monitor the published specs for each system and look closely for any changes, which quickly becomes tedious and time-consuming work beyond just a small handful of repeaters.
Where we've chosen to support a limited number of Brandmeister machines, we've had to make these design choices since documentation about each system is often limited:
Local talkgroup:
If the repeater website, Brandmeister Dashboard, RepeaterBook listing, RadioID.net database, or other authoritative source indicates a preferred Local talkgroup, we'll use that. Commonly, Brandmeister systems will either use talkgroup 9 or the repeater's DMR ID as the Local TG.
If nothing is specifically listed as a Local but the repeater's DMR ID is a static talkgroup on one of the timeslots, we'll treat that as the preferred Local.
If Locals are advertised on both timeslots, we'll include them both, but they may not be in adjacent channel positions.
If no other Local talkgroup can be determined, we'll default to talkgroup 9 on timeslot 1 or whichever timeslot is preferred for dynamic talkgroups. This talkgroup may or may not actually be in regular use -- try it, see what happens.
Statewide talkgroup:
If an authoritative data source indicates a preferred Statewide talkgroup, we'll use that. If a corresponding timeslot is provided, we'll use that, too.
Otherwise, we'll use the Statewide talkgroup that geographically matches that repeater site, usually on timeslot 1.
Systemwide or cluster talkgroup:
If an authoritative data source indicates a preferred systemwide or Cluster talkgroup, we'll use that. Commonly, Brandmeister systems use talkgroup 2 for this, and usually on timeslot 2, but implementations can vary.
If no systemwide or Cluster talkgroup is indicated, we'll either simply not include one, or we may substitute some other regional talkgroup on either timeslot.
We include any full-time or scheduled static talkgroups on their advertised timeslots.
Any dynamic (PTT-activated) talkgroups will go on timeslot 1 unless a preference for timeslot 2 is known.
A single Clear Timeslot channel will be provided for whichever timeslot we've placed the dynamic talkgroups on.
In unusual situations where we have dynamic talkgroups on both timeslots, we'll provide separate Clear TS1 and Clear TS2 channels.
No Quiet Channels are included. We have found that many Brandmeister repeaters prohibit radio-to-radio calls and messaging, which renders this channel unnecessary.
We assume both timeslots are linked to the Brandmeister network unless our data source says otherwise.
If you have corrections about any of these systems please send them to us at codeplug-request@rats.net.
With the narrow exception of a few Brandmeister systems, we rely only on information sourced from the official website of each DMR network, if it can be found.
DMRVA is an example of a best-case scenario: The website is easy to find, it's obviously being maintained, and a matrix PDF is provided that clearly shows which talkgroups are available on each timeslot of every repeater in the network. Further, repeater configurations are relatively consistent with only minor deviations, mostly across the two C-Bridges -- the DMRVA portion of the network and the HEARS portion. This makes it very easy to produce codeplugs and keep our database up-to-date.
At the opposite end of the spectrum you'll find systems like DMR-SE and NEDECN. DMR-SE only provides per-repeater talkgroup lineup information in the form of points on a Google Map. We've leveraged artificial intelligence to extract the frequency, offset, color code, and talkgroup/timeslot information from the underlying KML file. AI then helped with an analysis of the inconsistent talkgroup offerings across the system to help us choose the best assortment to include in our files. NEDECN also doesn't provide a good talkgroup matrix document. AI was pointed to the state-level indexes on the NEDECN website and was instructed to crawl the site and extract the required information from the individual webpages of each repeater in their network. Both of these systems would be impractical to support without AI assistance due to the way information about their networks are communicated.
C-Bridge networks that would like to be supported by our project -- or anyone else's codeplug initiative, for that matter -- are encouraged to consolidate their talkgroup information into a document similar to the DMRVA Talkgroup Matrix which is easily readable by humans and machines alike.
There are currently 201 radio+CPS combos in our database, each mapped to one of 43 custom-built conversion modules that translate from our database into a structure that can be accepted by the CPS. The goal isn't to 100% match the structure (column layout) of a CSV or Excel file generated by the CPS. Instead, we're just trying to get close enough that the CPS will accept the data that we provide.
Where radio or CPS variants add more columns the CSV/Excel structure, files lacking those columns may still be usable as long as the CPS reliably applies suitable default values to any fields that do not appear in our files. As part of the development process, test files were imported into every one of those 201 radio+CPS combos in order to confirm reliable application of good defaults where a conversion module is being reused on newer radio or CPS variants, iterating sequentially from oldest to newest available CPS version. Each time the import broke at a new version, a new conversion module was built, and CPS version iterated further until additional converters are needed. Interstitial CPS releases may introduce minor changes to the file format, but not enough to break our import.
The Anytone AT-D878V2 has 14 CPS versions handled by only two different conversion modules, written for versions 2.00 and 3.06.
The Anytone_878V2_2.00 converter is an exact match to the CSV files produced by the v2.00 CPS. It might or might not be an exact match to v2.02, v2.03, and so on, up to v3.05. If you compare our files to exports produced by those CPS versions, you may see subtle changes, but our files have been tested and should be close enough that the CPS accepts them and fills in any gaps with its own valid defaults.
But something broke at v3.06 which required a new converter. The Anytone878V2_3.06 converter is an exact match to the v3.06 CPS. We reuse it on v3.08 and v4.00 where again, there might be minor variations in the CSV files produced by those CPSs, but our v3.06 file ought to be good enough.
Similarly, the Anytone_878V2_2.00 converter serves files for other Anytone models and even for other manufacturers, since they all share a common CPS.
While codeplugs generally aren't interchangeable between manufacturers or models, CSV files are much more portable. You probably won't have much success trying to use an Anytone 878V2 codeplug on an Alinco DJ-MD5, but the CPSs for those two radios use the same CSV import file structure -- or at least it's close enough that we can reuse the files.
This module reuse isn't unique to the 878V2. A majority of our 43 converters are serving more than one radio model or manufacturer. If you see something that's not working right or if you think there's an error in our converter mappings for a specific model and CPS version, please let us know. It's usually pretty easy to fix.
There are several reasons why this system produces CSV files instead of full, ready-to-use codeplugs. The primary concern is compatibility. While CSV files contain only the channels, zones, and contact records, a codeplug contains a bunch of other settings that are necessary to make the radio function properly, and those are often unique to one specific CPS version. The internal structure and supplemental settings vary more often with CPS version updates than the CSV files do. So to produce codeplugs instead of CSV files for each of the radio makes and models we support today, we'd need to build dozens of additional converters. And if we misplace some data within those codeplugs, or bungle the file structure even just a little bit, we can easily start turning peoples' radios into expensive paperweights.
Instead, we provide CSV files, you import them to your CPS, and your CPS applies some default settings where necessary. Providing CSV files is the safer route.
We'll continue to offer pre-built codeplugs for several radio models not supported by the DMR File Generator. Those files, as always, will be provided with the caveat that they are designed for specific firmware and CPS combinations, and that use with mismatched CPS or firmware may damage the radio.