hmatuschek / qdmr

A GUI application for configuring and programming cheap DMR radios under Linux and MacOS X.
https://dm3mat.darc.de/qdmr/
GNU General Public License v3.0
222 stars 46 forks source link

OpenGD-77: contacts in group list have incorrect limits #21

Closed DC7IA closed 3 years ago

DC7IA commented 3 years ago

I've noticed the following when reading a codeplug. I cannot write back what I just read (no changes made).

grafik

The limit in the OpenGD77 CPS is 32, by the way.

hmatuschek commented 3 years ago

Should be fixed in commit ef443012be9a1c2b180afdd15713a0e6fff6812d. However, I have to charge and re-flash my RD-5R with OpenGD77 for testing it.

DC7IA commented 3 years ago

Can test, if you can give instructions on how to build.

hmatuschek commented 3 years ago

The best way is to email it to dm3mat at darc dot de

Thanks for you work and patience!

DC7IA commented 3 years ago

Wrong issue, but can do. :D

DC7IA commented 3 years ago

It no longer warns about the limit and I can flash.

(Yes, I know you said I could brick my device, but I decided I'd try to debrick if it happened, which it did not.)

DC7IA commented 3 years ago

Looks like it works.

hmatuschek commented 3 years ago

Ok from the binary code-plug I got

#
# Configuration generated Mi. Dez. 30 18:26:35 2020 by qdrm, version 0.4.5
# see https://dm3mat.darc.de/qdmr for details.
#

# Unique DMR ID and name (quoted) of this radio.
ID: 2624308
Name: "DC7IA"

# Text displayed when the radio powers up (quoted).
IntroLine1: "DC7IA"
IntroLine2: "2624308"

# Microphone amplification, value 1..10:
MICLevel: 2

# Speech-synthesis ('On' or 'Off'):
Speech: Off

# Upload user-db ('On' or 'Off'):
UserDB: Off

# Table of digital channels.
# 1) Channel number: 1-1024
# 2) Name in quotes. E.g., "NAME" 
# 3) Receive frequency in MHz
# 4) Transmit frequency or +/- offset in MHz
# 5) Transmit power: High, Low
# 6) Scan list: - or index in Scanlist table
# 7) Transmit timeout timer in seconds: 0, 15, 30, 45... 555
# 8) Receive only: -, +
# 9) Admit criteria: -, Free, Color
# 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
# 14) GPS System: - or index in GPS table.
#
Digital Name                Receive   Transmit  Power Scan TOT RO Admit  CC TS RxGL TxC GPS
1       "DMR A 433.45"      433.45000 433.45000 High  -    -   -  -      1  1  -    1   -   # DM 1 WW
2       "DMR 1 433.6125"    433.61250 433.61250 High  -    -   -  -      1  1  -    1   -   # DM 1 WW
3       "DMR 2 433.625"     433.62500 433.62500 High  -    -   -  -      1  1  -    1   -   # DM 1 WW
4       "DMR 3 433.6375"    433.63750 433.63750 High  -    -   -  -      1  1  -    1   -   # DM 1 WW
5       "DMR 4 433.65"      433.65000 433.65000 High  -    -   -  -      1  1  -    1   -   # DM 1 WW
6       "DMR 5 433.6625"    433.66250 433.66250 High  -    -   -  -      1  1  -    1   -   # DM 1 WW
7       "DMR 6 433.675"     433.67500 433.67500 High  -    -   -  -      1  1  -    1   -   # DM 1 WW
8       "DMR 7 433.6875"    433.68750 433.68750 High  -    -   -  -      1  1  -    120 -   # ALLCALL
9       "DMR A AllCall"     433.45000 433.45000 High  -    -   -  -      1  1  -    120 -   # ALLCALL
10      "DMR 1 AllCall"     433.61250 433.61250 High  -    -   -  -      1  1  -    120 -   # ALLCALL
11      "DMR 2 AllCall"     433.62500 433.62500 High  -    -   -  -      1  1  -    120 -   # ALLCALL
12      "DMR 3 AllCall"     433.63750 433.63750 High  -    -   -  -      1  1  -    120 -   # ALLCALL
13      "DMR 4 AllCall"     433.65000 433.65000 High  -    -   -  -      1  1  -    120 -   # ALLCALL
14      "DMR 5 AllCall"     433.66250 433.66250 High  -    -   -  -      1  1  -    120 -   # ALLCALL
15      "DMR 6 AllCall"     433.67500 433.67500 High  -    -   -  -      1  1  -    120 -   # ALLCALL
16      "DMR 7 AllCall"     433.68750 433.68750 High  -    -   -  -      1  1  2    -   -   
17      "DB0HAT TS1"        438.35000 -7.60000  High  -    -   -  -      1  1  2    -   -   
18      "DB0HAT TS2"        438.35000 -7.60000  High  -    -   -  -      1  2  2    -   -   
19      "DB0MES TS1"        439.57500 -7.60000  High  -    -   -  -      1  1  2    -   -   
20      "DB0MES TS2"        439.57500 -7.60000  High  -    -   -  -      1  2  2    -   -   
21      "DB0DW TS1"         145.57500 -0.60000  High  -    -   -  -      1  1  2    -   -   
22      "DB0DW TS2"         145.57500 -0.60000  High  -    -   -  -      1  2  2    -   -   
23      "DB0HSK TS1"        438.81250 -7.60000  High  -    -   -  -      1  1  2    -   -   
24      "DB0HSK TS2"        438.81250 -7.60000  High  -    -   -  -      1  2  3    -   -   
25      "DB0DDS TS1"        439.85000 -9.40000  High  -    -   -  -      1  1  3    -   -   
26      "DB0DDS TS2"        439.85000 -9.40000  High  -    -   -  -      1  2  2    -   -   
27      "DB0LR TS1"         439.97500 -9.40000  High  -    -   -  -      2  1  2    -   -   
28      "DB0LR TS2"         439.97500 -9.40000  High  -    -   -  -      2  2  3    -   -   
29      "Hotspot"           433.62500 433.62500 High  -    -   -  -      1  1  3    -   -   
30      "Hotspot STD"       433.60000 433.60000 High  -    -   -  -      1  1  -    -   -   

# Table of analog channels.
# 1) Channel number: 1-1024
# 2) Name in quotes.
# 3) Receive frequency in MHz
# 4) Transmit frequency or +/- offset in MHz
# 5) Transmit power: High, Low
# 6) Scan list: - or index
# 7) Transmit timeout timer in seconds: 0, 15, 30, 45... 555
# 8) Receive only: -, +
# 9) Admit criteria: -, Free, Tone
# 10) Squelch level: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
# 11) CTCSS/DCS for receive: frequency (e.g, 67.0), DCS number (e.g., n023 or i023) or '-' to disable
# 12) CTCSS/DCS for transmit: frequency (e.g, 67.0), DCS number (e.g., n023 or i023) or '-' to disable
# 13) Bandwidth in kHz: 12.5, 25
#
Analog  Name                Receive    Transmit Power Scan TOT RO Admit  Squelch RxTone TxTone Width

# Table of channel zones.
# 1) Zone number
# 2) Name in quotes. 
# 3) VFO: Either A or B.
# 4) List of channels: numbers and ranges (N-M) separated by comma
#
Zone    Name                VFO Channels
1       "simplex"           A   1,2,3,4,5,6,7,8

# Table of scan lists.
# 1) Scan list number: 1-250
# 2) Name in quotes.
# 3) Priority channel 1 (50% of scans): -, Sel or index
# 4) Priority channel 2 (25% of scans): -, Sel or index
# 5) Designated transmit channel: Last, Sel or index
# 6) List of channels: numbers, Sel or ranges (N-M) separated by comma
#
Scanlist Name                PCh1 PCh2 TxCh Channels

# Table of GPS systems.
# 1) GPS system ID
# 2) Name in quotes.
# 3) Destination contact ID.
# 4) Update period: period in ms
# 5) Revert channel ID or '-'.
#
GPS  Name                Dest Period Revert

# Table of contacts.
# 1) Contact number: 1-256
# 2) Name in quotes.
# 3) Call type: Group, Private, All or DTMF
# 4) Call ID: 1...16777215 or string with DTMF number
# 5) Call receive tone: -, +
#
Contact Name                Type    ID          RxTone
1       "DM 1 WW"           Group   1           -     
2       "DM 2 Europa"       Group   2           -     
3       "DM 3 N-AMERICA"    Group   3           -     
4       "DM 5 AUSTRALIA"    Group   5           -     
5       "8 Regional"        Group   8           -     
6       "9 Local"           Group   9           -     
7       "DM 10 Local"       Group   10          -     
8       "DM 11 French"      Group   11          -     
9       "DM 12 Dutch"       Group   12          -     
10      "DM 13 WWE"         Group   13          -     
11      "DM 14 Spanish"     Group   14          -     
12      "DM 15 Portugese"   Group   15          -     
13      "DM 16 Italalian"   Group   16          -     
14      "DM 17 Nordic"      Group   17          -     
15      "DM 18 Russian"     Group   18          -     
16      "DM 20 DACH"        Group   20          -     
17      "DM 21 French EU"   Group   21          -     
18      "DM 22 Dutch EU"    Group   22          -     
19      "BM 91 WW"          Group   91          -     
20      "BM 92 EU"          Group   92          -     
21      "DM 110 Deutsch"    Group   110         -     
22      "DM 111 Franz."     Group   111         -     
23      "DM 113 Englisch"   Group   113         -     
24      "DM 114 Spanisch"   Group   114         -     
25      "DM 119 WWE"        Group   119         -     
26      "DM 120 Deutsch"    Group   120         -     
27      "DM 121 Franz."     Group   121         -     
28      "DM 123 Englisch"   Group   123         -     
29      "DM 124 Spanisch"   Group   124         -     
30      "DM 129 WWE"        Group   129         -     
31      "204 NL"            Group   204         -     
32      "206 BE"            Group   206         -     
33      "216 HU"            Group   216         -     
34      "228 CH"            Group   228         -     
35      "230 CZ"            Group   230         -     
36      "231 SK"            Group   231         -     
37      "232 AT"            Group   232         -     
38      "238 DK"            Group   238         -     
39      "262 DE"            Group   262         -     
40      "270 LU"            Group   270         -     
41      "BM 907 JOTA"       Group   907         -     
42      "BM 910 EU ger"     Group   910         -     
43      "BM 918 YOTA"       Group   918         -     
44      "BM 920 DACH"       Group   920         -     
45      "BM 927 nordic"     Group   927         -     
46      "BM 2041 NL Noord"  Group   2041        -     
47      "BM 2043 NL Zuid"   Group   2043        -     
48      "BM 2044 NL Oost"   Group   2044        -     
49      "BM 2061 ON north"  Group   2061        -     
50      "BM 2062 ON south"  Group   2062        -     
51      "BM 2381 DK N-jyl"  Group   2381        -     
52      "BM 2382 DK M-jyl"  Group   2382        -     
53      "BM 2383 DK SydDK"  Group   2883        -     
54      "BM 2384 DK Kopen"  Group   2384        -     
55      "BM 2385 DK Sjael"  Group   2385        -     
56      "BM 2386 DK Chat1"  Group   2386        -     
57      "BM 2387 DK Chat2"  Group   2387        -     
58      "BM2388DK DCS699B"  Group   2388        -     
59      "BM 2389 XLX238"    Group   2389        -     
60      "BM 23810 DK YSF"   Group   23810       -     
61      "BM23811 Wires SM"  Group   23811       -     
62      "BM23812 Wires DK"  Group   23812       -     
63      "2620 ST/MV"        Group   2620        -     
64      "2621 BE/BB"        Group   2621        -     
65      "2622 HH/SH"        Group   2622        -     
66      "2623 NI/HB"        Group   2623        -     
67      "2624 NW"           Group   2624        -     
68      "2625 RP/SL"        Group   2625        -     
69      "2626 HE"           Group   2626        -     
70      "2627 BW"           Group   2627        -     
71      "2628 BY"           Group   2628        -     
72      "2629 SN/TH"        Group   2629        -     
73      "BM 2702 LX north"  Group   2702        -     
74      "BM 3109 US4 4644"  Group   3109        -     
75      "BM 3100 USA"       Group   3100        -     
76      "BM 3139 Ohio"      Group   3139        -     
77      "BM 3148 Texas"     Group   3148        -     
78      "BM 3199 Hurrican"  Group   3199        -     
79      "BM 9101 maritime"  Group   9101        -     
80      "BM 9112 EMCOM EU"  Group   9112        -     
81      "BM 9911 EMCOM US"  Group   9911        -     
82      "BM 20421 Keistad"  Group   20421       -     
83      "BM 24080 XIL"      Group   24080       -     
84      "26200 TAC1"        Group   26200       -     
85      "BM 26223 CHAOS"    Group   26223       -     
86      "26299 TAC2"        Group   26299       -     
87      "BM 26345 PB"       Group   26345       -     
88      "ECHO TEST"         Group   9990        -     
89      "BM 26243 Ruhrg."   Group   26243       -     
90      "UKW TG80"          Group   80          -     
91      "UKW TG81"          Group   81          -     
92      "UKW TG82"          Group   82          -     
93      "UKW TG83"          Group   83          -     
94      "UKW TG84"          Group   84          -     
95      "UKW TG235"         Group   235         -     
96      "SWC TG950"         Group   950         -     
97      "REG801"            Group   801         -     
98      "REG802"            Group   802         -     
99      "REG840"            Group   840         -     
100     "REG841"            Group   841         -     
101     "REG842"            Group   842         -     
102     "REG803"            Group   803         -     
103     "REG810"            Group   810         -     
104     "REG811"            Group   811         -     
105     "REG820"            Group   820         -     
106     "REG821"            Group   821         -     
107     "REG822"            Group   822         -     
108     "REG830"            Group   830         -     
109     "REG850"            Group   850         -     
110     "REG860"            Group   860         -     
111     "REG862"            Group   862         -     
112     "REG870"            Group   870         -     
113     "REG871"            Group   871         -     
114     "REG880"            Group   880         -     
115     "UKW4400"           Group   4400        -     
116     "UKW4401"           Group   4401        -     
117     "UKW4402"           Group   4402        -     
118     "UKW4403"           Group   4403        -     
119     "BM 23520 UK NW"    Group   23520       -     
120     "ALLCALL"           Group   16777215    -     

# Table of group lists.
# 1) Group list number: 1-64
# 2) Name in quotes.
# 3) List of contacts: numbers and ranges (N-M) separated by comma
#
Grouplist Name                Contacts
1         "Brandmeister"      5,6,19,20,41,42,43,44,45,63,64,65,66,67,68,69,70,71,72,79,80,83,85
2         "DMR MARC"          1,2,3,4,7,10,16,21,25,26,39,63,64,65,66,67,68,69,70,71,72,88
3         "Favourite TGs"     5,6,43,63,64,65,66,67,68,69,70,71,72,83,85,89,87,88
4         "BM NL"             5,6,19,20,31,39,46,47,48,82

I hope that is basically what was in there?

DC7IA commented 3 years ago

Having had a quick look, I'd say: Yes.

Can't spot anything wrong right now.

DC7IA commented 3 years ago

qdmr appears to show everything correctly now, except for RX groups that are twice and zones that have missing names.

DC7IA commented 3 years ago

Noticed this when writing back without changing anything:

grafik

So qmdr seems to have a wrong limit here. Should I open another issue for that?

DC7IA commented 3 years ago

(Screenshot from OpenGD77CPS)

hmatuschek commented 3 years ago

This is actually the same issue with the missing names. The memory representation of each zone got bigger to hold up to 80 channels. Hence the name (beginning of every zone) lay within the rest of the last zone. For now, I would implement the 80 Channel zone for OpenGD77 but not yet for the original GD77 firmware, as I do not know whether that is a new feature for a more recent GD77 firmware.

hmatuschek commented 3 years ago

Ok, lets clean up a bit. This issue could be closed now.

hmatuschek commented 3 years ago

If you have time, could you have a look at issue #38. I can't find the limits of the OpenGD77 for contacts etc. I'll need to fix them once for all time.