mycodeplug / dzcb

DMR Zone Channel Builder. See https://github.com/mycodeplug/example-codeplug to customize.
MIT License
12 stars 11 forks source link

Support dmrconfig textual config output #32

Closed masenf closed 3 years ago

masenf commented 3 years ago

https://github.com/OpenRTX/dmrconfig/tree/master/examples

dmrconfig supports a wide variety of radios with high similar output formats.

the tool is also cross platform!

masenf commented 3 years ago

And tonight, progress:

tests/test_model.py::test_dmrconfig_foo PASSED                           [100%]Written by dzcb.output.dmrconfig v. 0.3a1

# Table of analog channels.
# 1) Channel number: 1-4000
# 2) Name: up to 16 characters, use '_' instead of space
# 3) Receive frequency in MHz
# 4) Transmit frequency or +/- offset in MHz
# 5) Transmit power: High, Medium, Low, Turbo
# 6) Scan list: - or index
# 7) Transmit timeout timer: (unused)
# 8) Receive only: -, +
# 9) Admit criteria: -, Free, Tone
# 10) Squelch level: Normal (unused)
# 11) Guard tone for receive, or '-' to disable
# 12) Guard tone for transmit, or '-' to disable
# 13) Bandwidth in kHz: 12.5, 25

Analog Name             Receive  Transmit Power Scan TOT RO Admit Squelch RxTone TxTone Width
     1 A1                 146.52   152.52 High  -     90 -  Free  Normal  -      -      25
     2 A2                 146.53   152.53 High  -     90 -  Free  Normal  -      -      25
     3 A3                 146.54   152.54 High  -     90 -  Free  Normal  -      -      25

# Table of digital channels.
# 1) Channel number: 1-4000
# 2) Name: up to 16 characters, use '_' instead of space
# 3) Receive frequency in MHz
# 4) Transmit frequency or +/- offset in MHz
# 5) Transmit power: High, Medium, Low, Turbo
# 6) Scan list: - or index in Scanlist table
# 7) Transmit timeout timer: (unused)
# 8) Receive only: -, +
# 9) Admit criteria: -, Free, Color, NColor
# 10) Color code: 0, 1, 2, 3... 15
# 11) Time slot: 1 or 2
# 12) Receive group list: - or index in Grouplist table
# 13) Contact for transmit: - or index in Contacts table

Digital Name             Receive  Transmit Power Scan TOT RO Admit Color Slot RxGL TxContact
      4 D1               443.4375 452.4375 High  -     90 -  Color     1    1    1 1
      5 D2               443.4375 452.4375 High  -     90 -  Color     1    2    2 2
      6 D3               443.4375 452.4375 High  -     90 -  Color     1    1    2 3

# Table of contacts.
# 1) Contact number: 1-10000
# 2) Name: up to 16 characters, use '_' instead of space
# 3) Call type: Group, Private, All
# 4) Call ID: 1...16777215
# 5) Call receive tone: -, +

Contact  Name             Type    ID       RxTone
       1 CT1              Group       3841 -
       2 CT2              Group       3842 -
       3 CT3              Group       3843 -
       4 PC1              Private     3585 -
       5 PC2              Private     3586 -
       6 PC3              Private     3587 -

# Table of group lists.
# 1) Group list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of contacts: numbers and ranges (N-M) separated by comma

Grouplist  Name             Contacts
         1 GL_ALL           1-6
         2 GL_GRP           1-3
         3 GL_PRV           4-6

# Table of scan lists.
# 1) Scan list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 3) Priority channel 1: -, Curr or index
# 4) Priority channel 2: -, Curr or index
# 5) Designated transmit channel: Sel or Last
# 6) List of channels: numbers and ranges (N-M) separated by comma

Scanlist Name             PCh1 PCh2 TxCh Channels
       1 SL_ALL           Curr -    Last 1-9
       2 SL_A             Curr -    Last 1-3
       3 SL_D             Curr -    Last 4-9

# Table of channel zones.
# 1) Zone number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of channels: numbers and ranges (N-M) separated by comma

Zone Name             Channels
   1 Z_ALL            1-9
   2 Z_A              1-3
   3 Z_D              4-9
   4 Z_A_D            1-6

masenf/dzcb@dmrconfig-textual

masenf commented 3 years ago

I'm planning to implement a similar "template" structure that's used for farnsworth editcp. Because so many radios are supported, the user should supply a template for each desired radio type. The radio type itself will be read from the template.