Parse grouplists.

This commit is contained in:
Serge Vakulenko 2018-08-30 22:10:55 -07:00
parent 5794760648
commit 17560c1a41
10 changed files with 499 additions and 287 deletions

View File

@ -1,6 +1,6 @@
#
# This configuration was generated 2018/08/30 by dmrconfig,
# Version 0.1.37, Copyright (C) 2018 Serge Vakulenko KK6ABQ
# Version 0.1.40, Copyright (C) 2018 Serge Vakulenko KK6ABQ
#
Radio: TYT MD-UV380
Name: -
@ -41,32 +41,33 @@ Zone Name Channels
1b - -
# Table of scan lists.
# 1) Zone number: 1-250
# 1) Scan list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 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 or index
# 5) Designated transmit channel: Last, Sel or index
# 6) List of channels: numbers and ranges (N-M) separated by comma
#
Scanlist Name PCh1 PCh2 TxCh Channels
1 ScanList1 - - - 1
1 ScanList1 - - Last 1
# 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: -, Yes
# 5) Call receive tone: -, +
#
Contact Name Type ID RxTone
1 Contact1 Group 1 -
# Table of group lists.
# 1) Group list number: 1-250
# 2) List of contacts: numbers and ranges (N-M) separated by comma
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of contacts: numbers and ranges (N-M) separated by comma
#
Grouplist Contacts
1 1
Grouplist Name Contacts
1 GroupList1 1
# Table of text messages.
# 1) Message number: 1-50

View File

@ -1,6 +1,6 @@
#
# This configuration was generated 2018/08/30 by dmrconfig,
# Version 0.1.37, Copyright (C) 2018 Serge Vakulenko KK6ABQ
# Version 0.1.40, Copyright (C) 2018 Serge Vakulenko KK6ABQ
#
Radio: TYT MD-UV380
Name: -
@ -70,32 +70,33 @@ Zone Name Channels
1b - 6-10
# Table of scan lists.
# 1) Zone number: 1-250
# 1) Scan list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 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 or index
# 5) Designated transmit channel: Last, Sel or index
# 6) List of channels: numbers and ranges (N-M) separated by comma
#
Scanlist Name PCh1 PCh2 TxCh Channels
1 ScanList1 - - - 1
1 ScanList1 - - Last 1
# 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: -, Yes
# 5) Call receive tone: -, +
#
Contact Name Type ID RxTone
1 Contact1 Group 1 -
# Table of group lists.
# 1) Group list number: 1-250
# 2) List of contacts: numbers and ranges (N-M) separated by comma
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of contacts: numbers and ranges (N-M) separated by comma
#
Grouplist Contacts
1 1
Grouplist Name Contacts
1 GroupList1 1
# Table of text messages.
# 1) Message number: 1-50

View File

@ -1,6 +1,6 @@
#
# This configuration was generated 2018/08/30 by dmrconfig,
# Version 0.1.37, Copyright (C) 2018 Serge Vakulenko KK6ABQ
# Version 0.1.40, Copyright (C) 2018 Serge Vakulenko KK6ABQ
#
Radio: TYT MD-UV380
Name: Dit_Call
@ -1005,75 +1005,75 @@ Zone Name Channels
55b - -
# Table of scan lists.
# 1) Zone number: 1-250
# 1) Scan list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 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 or index
# 5) Designated transmit channel: Last, Sel or index
# 6) List of channels: numbers and ranges (N-M) separated by comma
#
Scanlist Name PCh1 PCh2 TxCh Channels
1 Favoritter 760 760 - 741,743
2 BM_Frederikshavn 760 760 - 641,643
3 BM_Aarhus 760 760 - 480,482
4 BM_Aarhus_V 760 760 - 500,502
5 BM_Yding 760 760 - 741,743
6 BM_Sunds 760 760 - 721,723
7 BM_Odense 760 760 - 681,683
8 BM_Chrfeld 760 760 - 520,522
9 BM_Dronningmolle 760 760 - 540,542
10 BM_Helsingoer 760 760 - 580,582
11 BM_Humlebaek 760 760 - 621,623
12 BM_Gorlose 760 760 - 560,562
13 BM_Herlev 760 760 - 601,603
14 BM_Regnemark 760 760 - 701,703
15 BM_Mogenstrup 760 760 - 661,663
16 Frederikhavn 760 760 - 142,144
17 Vodskov 268 760 - 452,454
18 Stoevring 760 760 - 325,327
19 Thyholm 760 760 - 353,355
20 Viborg 760 760 - 410,412
21 Grenaa 760 760 - 170,172
22 Risskov 760 760 - 255,257
23 Torphoj 760 760 - 368,370
24 Fredericia 760 760 - 128,130
25 Esbjerg_N 760 760 - 86,88
26 Esbjerg 760 760 - 100,102
27 Vissenbjerg 760 760 - 438,440
28 Svendborg 760 760 - 339,341
29 Toender 760 760 - 382,384
30 Vejby 760 760 - 396,398
31 Helsingor 760 760 - 184,186
32 Frederikssund 760 760 - 156,158
33 Farum 760 760 - 114,116
34 CPH_F. 760 760 - 58,60
35 Roedovre 760 760 - 269,271
36 CPH_City 760 760 - 44,46
37 Hoejby 760 760 - 198,200
38 Vig 760 760 - 424,426
39 Bregninge 760 760 - 30,32
40 Snertinge 760 760 - 311,313
41 Regstrup 760 760 - 241,243
42 Ebberup 760 760 - 72,74
43 Borup 760 760 - 16,18
44 Slagelse 760 760 - 297,299
45 Naestved 760 760 - 227,229
46 Raadegaard 760 760 - 283,285
47 Vordingborg 760 760 - 466,468
48 Bandholm 760 760 - 1,3
49 Nakskov 760 760 - 212,214
50 FM_Nordjylland 760 760 - 367,793-795,797-800
51 FM_Midtjylland 760 760 - 214,801-804,807-808,810-811
52 FM_Syddanmark 760 760 - 812-814,818-819
53 FM_Hovedstaden 760 760 - 600,820-822,824
54 FM_Sjaelland 760 760 - 15,806,827-831
1 Favoritter 760 760 Last 741,743
2 BM_Frederikshavn 760 760 Last 641,643
3 BM_Aarhus 760 760 Last 480,482
4 BM_Aarhus_V 760 760 Last 500,502
5 BM_Yding 760 760 Last 741,743
6 BM_Sunds 760 760 Last 721,723
7 BM_Odense 760 760 Last 681,683
8 BM_Chrfeld 760 760 Last 520,522
9 BM_Dronningmolle 760 760 Last 540,542
10 BM_Helsingoer 760 760 Last 580,582
11 BM_Humlebaek 760 760 Last 621,623
12 BM_Gorlose 760 760 Last 560,562
13 BM_Herlev 760 760 Last 601,603
14 BM_Regnemark 760 760 Last 701,703
15 BM_Mogenstrup 760 760 Last 661,663
16 Frederikhavn 760 760 Last 142,144
17 Vodskov 268 760 Last 452,454
18 Stoevring 760 760 Last 325,327
19 Thyholm 760 760 Last 353,355
20 Viborg 760 760 Last 410,412
21 Grenaa 760 760 Last 170,172
22 Risskov 760 760 Last 255,257
23 Torphoj 760 760 Last 368,370
24 Fredericia 760 760 Last 128,130
25 Esbjerg_N 760 760 Last 86,88
26 Esbjerg 760 760 Last 100,102
27 Vissenbjerg 760 760 Last 438,440
28 Svendborg 760 760 Last 339,341
29 Toender 760 760 Last 382,384
30 Vejby 760 760 Last 396,398
31 Helsingor 760 760 Last 184,186
32 Frederikssund 760 760 Last 156,158
33 Farum 760 760 Last 114,116
34 CPH_F. 760 760 Last 58,60
35 Roedovre 760 760 Last 269,271
36 CPH_City 760 760 Last 44,46
37 Hoejby 760 760 Last 198,200
38 Vig 760 760 Last 424,426
39 Bregninge 760 760 Last 30,32
40 Snertinge 760 760 Last 311,313
41 Regstrup 760 760 Last 241,243
42 Ebberup 760 760 Last 72,74
43 Borup 760 760 Last 16,18
44 Slagelse 760 760 Last 297,299
45 Naestved 760 760 Last 227,229
46 Raadegaard 760 760 Last 283,285
47 Vordingborg 760 760 Last 466,468
48 Bandholm 760 760 Last 1,3
49 Nakskov 760 760 Last 212,214
50 FM_Nordjylland 760 760 Last 367,793-795,797-800
51 FM_Midtjylland 760 760 Last 214,801-804,807-808,810-811
52 FM_Syddanmark 760 760 Last 812-814,818-819
53 FM_Hovedstaden 760 760 Last 600,820-822,824
54 FM_Sjaelland 760 760 Last 15,806,827-831
# 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: -, Yes
# 5) Call receive tone: -, +
#
Contact Name Type ID RxTone
1 Unlink Group 4000 -
@ -1138,22 +1138,23 @@ Contact Name Type ID RxTone
# Table of group lists.
# 1) Group list number: 1-250
# 2) List of contacts: numbers and ranges (N-M) separated by comma
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of contacts: numbers and ranges (N-M) separated by comma
#
Grouplist Contacts
1 17-19,24-27,30-34,49,51
2 19,35-41,59
3 21-22,34,48,51,54
4 19,35-47,59
5 17
6 18
7 20
8 19
9 33
10 34
11 48
12 51
13 19,21-22,34-48
Grouplist Name Contacts
1 DMR+_TS_1 17-19,24-27,30-34,49,51
2 DMR+_TS_2 19,35-41,59
3 BM_TS_1 21-22,34,48,51,54
4 BM_TS_2 19,35-47,59
5 001_Verden 17
6 002_Europa 18
7 027_Norden 20
8 009_Lokal_9 19
9 235_UK 33
10 238_Danmark 34
11 240_Sverige 48
12 262_Germany 51
13 HS_RX 19,21-22,34-48
# Table of text messages.
# 1) Message number: 1-50

View File

@ -1,6 +1,6 @@
#
# This configuration was generated 2018/08/30 by dmrconfig,
# Version 0.1.37, Copyright (C) 2018 Serge Vakulenko KK6ABQ
# Version 0.1.40, Copyright (C) 2018 Serge Vakulenko KK6ABQ
#
Radio: TYT MD-UV380
Name: -
@ -601,51 +601,51 @@ Zone Name Channels
32b - -
# Table of scan lists.
# 1) Zone number: 1-250
# 1) Scan list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 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 or index
# 5) Designated transmit channel: Last, Sel or index
# 6) List of channels: numbers and ranges (N-M) separated by comma
#
Scanlist Name PCh1 PCh2 TxCh Channels
1 Bullion-MtnWest_ 86 86 - 1-15
2 Meadow-MtnWest_U 86 86 - 17-32
3 DT-MtnWest_U 86 86 - 33-48
4 Bear-MtnWest_U 86 86 - 49-64
5 Park-MtnWest_U 86 86 - 65-80
6 BRidge-MtnWest_U 86 86 - 81-95
7 Rita-MtnWest_U Sel Sel - 97-112
8 RndMtn-MtnWest_U 136 136 - 113-128
9 SLO-MtnWest_U 136 136 - 129-144
10 HFD-MtnWest_U 175 175 - 145-160
11 SCruz-NorCal_U 175 175 - 161-175
12 SJ1-NorCal_U 190 190 - 176-190
13 SJ2-NorCal_U 311 311 - 191-204
14 SJ3-NorCal_U 311 311 - 206-220
15 FMT-NorCal_U 311 311 - 221-235
16 WLNTCRK-NorCal_U 311 311 - 236-250
17 SBruno-NorCal_U 311 311 - 251-265
18 Oakland-NorCal_U 311 311 - 266-280
19 Lvrmore-NorCal_U 311 311 - 281-295
20 Mt_Oso-NorCal_U 311 311 - 296-310
21 Salinas-NorCal_U 311 311 - 311-325
22 Pismo-NorCal_U 403 403 - 326-340
23 SMaria-NorCal_U 403 403 - 341-355
24 Rita-MtnWest_V 403 403 - 356-371
25 Park-MtnWest_V 403 403 - 372-387
26 Meadow-MtnWest_V 403 403 - 388-403
27 Bullion-NorCal_V - - - 404-418
28 Sonora-NorCal_V - - - 419-433
29 Diablo-NorCal_V - - - 434-448
30 Sac-NorCal_V - - - 449-463
1 Bullion-MtnWest_ 86 86 Last 1-15
2 Meadow-MtnWest_U 86 86 Last 17-32
3 DT-MtnWest_U 86 86 Last 33-48
4 Bear-MtnWest_U 86 86 Last 49-64
5 Park-MtnWest_U 86 86 Last 65-80
6 BRidge-MtnWest_U 86 86 Last 81-95
7 Rita-MtnWest_U Sel Sel Last 97-112
8 RndMtn-MtnWest_U 136 136 Last 113-128
9 SLO-MtnWest_U 136 136 Last 129-144
10 HFD-MtnWest_U 175 175 Last 145-160
11 SCruz-NorCal_U 175 175 Last 161-175
12 SJ1-NorCal_U 190 190 Last 176-190
13 SJ2-NorCal_U 311 311 Last 191-204
14 SJ3-NorCal_U 311 311 Last 206-220
15 FMT-NorCal_U 311 311 Last 221-235
16 WLNTCRK-NorCal_U 311 311 Last 236-250
17 SBruno-NorCal_U 311 311 Last 251-265
18 Oakland-NorCal_U 311 311 Last 266-280
19 Lvrmore-NorCal_U 311 311 Last 281-295
20 Mt_Oso-NorCal_U 311 311 Last 296-310
21 Salinas-NorCal_U 311 311 Last 311-325
22 Pismo-NorCal_U 403 403 Last 326-340
23 SMaria-NorCal_U 403 403 Last 341-355
24 Rita-MtnWest_V 403 403 Last 356-371
25 Park-MtnWest_V 403 403 Last 372-387
26 Meadow-MtnWest_V 403 403 Last 388-403
27 Bullion-NorCal_V - - Last 404-418
28 Sonora-NorCal_V - - Last 419-433
29 Diablo-NorCal_V - - Last 434-448
30 Sac-NorCal_V - - Last 449-463
# 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: -, Yes
# 5) Call receive tone: -, +
#
Contact Name Type ID RxTone
1 Local Group 2 -
@ -673,10 +673,11 @@ Contact Name Type ID RxTone
# Table of group lists.
# 1) Group list number: 1-250
# 2) List of contacts: numbers and ranges (N-M) separated by comma
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of contacts: numbers and ranges (N-M) separated by comma
#
Grouplist Contacts
1 1
Grouplist Name Contacts
1 GroupList1 1
# Table of text messages.
# 1) Message number: 1-50

View File

@ -1,6 +1,6 @@
#
# This configuration was generated 2018/08/30 by dmrconfig,
# Version 0.1.37, Copyright (C) 2018 Serge Vakulenko KK6ABQ
# Version 0.1.40, Copyright (C) 2018 Serge Vakulenko KK6ABQ
#
Radio: TYT MD-UV380
Name: YourCall-Here
@ -1084,25 +1084,25 @@ Zone Name Channels
8b - 606,714,718,736,738,808,816,818,820,822,824,826,828,830,832,848
# Table of scan lists.
# 1) Zone number: 1-250
# 1) Scan list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 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 or index
# 5) Designated transmit channel: Last, Sel or index
# 6) List of channels: numbers and ranges (N-M) separated by comma
#
Scanlist Name PCh1 PCh2 TxCh Channels
1 Public_Safety 992 992 Last 112-116
2 FavHamOnlyScan 992 992 Last 60-63
3 Capitol_Pk_Scan - - - 994-1000
4 BawFaw_Scan - - - 1003-1010
1 Public_Safety 992 992 Sel 112-116
2 FavHamOnlyScan 992 992 Sel 60-63
3 Capitol_Pk_Scan - - Last 994-1000
4 BawFaw_Scan - - Last 1003-1010
# 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: -, Yes
# 5) Call receive tone: -, +
#
Contact Name Type ID RxTone
1 B1_Local Group 1 -
@ -1536,11 +1536,12 @@ Contact Name Type ID RxTone
# Table of group lists.
# 1) Group list number: 1-250
# 2) List of contacts: numbers and ranges (N-M) separated by comma
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of contacts: numbers and ranges (N-M) separated by comma
#
Grouplist Contacts
1 4,75,292-293,327,411-412,419,423
2 5,11,265-269,271,280-281,283,329-330,420-422,427
Grouplist Name Contacts
1 Hotspot_Rx_List 4,75,292-293,327,411-412,419,423
2 PNW_All 5,11,265-269,271,280-281,283,329-330,420-422,427
# Table of text messages.
# 1) Message number: 1-50

View File

@ -1,6 +1,6 @@
#
# This configuration was generated 2018/08/30 by dmrconfig,
# Version 0.1.37, Copyright (C) 2018 Serge Vakulenko KK6ABQ
# Version 0.1.40, Copyright (C) 2018 Serge Vakulenko KK6ABQ
#
Radio: TYT MD-380
Name: YOURCALL
@ -69,60 +69,60 @@ Zone Name Channels
3 Hot_Spot 2,7
# Table of scan lists.
# 1) Zone number: 1-250
# 1) Scan list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 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 or index
# 5) Designated transmit channel: Last, Sel or index
# 6) List of channels: numbers and ranges (N-M) separated by comma
#
Scanlist Name PCh1 PCh2 TxCh Channels
1 Daly_City Sel Sel - -
2 Oakland Sel Sel - -
3 Palo_Alto Sel Sel - -
4 San_Jose_4 Sel Sel - -
5 Moffett Sel Sel - -
6 Auburn Sel Sel - -
7 Bodega Sel Sel - -
8 Dixon Sel Sel - -
9 Fremont_1 Sel Sel - -
10 Fremont_2 Sel Sel - -
11 Gilroy Sel Sel - -
12 Gualala Sel Sel - -
13 Livermore Sel Sel - -
14 Mariposa_MB Sel Sel - -
15 Milpitas Sel Sel - -
16 Modesto Sel Sel - -
17 Mt._Oso Sel Sel - -
18 New_Cuyama Sel Sel - -
19 Novato Sel Sel - -
20 Pittsburg Sel Sel - -
21 Pleasanton Sel Sel - -
22 Salinas Sel Sel - -
23 San_Jose_1 Sel Sel - -
24 San_Jose_2 Sel Sel - -
25 San_Jose_3 Sel Sel - -
26 San_Luis_Obispo Sel Sel - -
27 Sanel_Mtn Sel Sel - -
28 Santa_Cruz Sel Sel - -
29 Santa_Maria Sel Sel - -
30 Santa_Rosa Sel Sel - -
31 Sebastopol Sel Sel - -
32 Sonoma Sel Sel - -
33 Sonoma_Mtn Sel Sel - 1
34 Sonora Sel Sel - -
35 S._Lake_Tahoe Sel Sel - -
36 Tuolumne Sel Sel - -
37 Turlock Sel Sel - -
38 Walnut_Creek Sel Sel - -
39 Talk_Around Sel Sel - -
1 Daly_City Sel Sel Last -
2 Oakland Sel Sel Last -
3 Palo_Alto Sel Sel Last -
4 San_Jose_4 Sel Sel Last -
5 Moffett Sel Sel Last -
6 Auburn Sel Sel Last -
7 Bodega Sel Sel Last -
8 Dixon Sel Sel Last -
9 Fremont_1 Sel Sel Last -
10 Fremont_2 Sel Sel Last -
11 Gilroy Sel Sel Last -
12 Gualala Sel Sel Last -
13 Livermore Sel Sel Last -
14 Mariposa_MB Sel Sel Last -
15 Milpitas Sel Sel Last -
16 Modesto Sel Sel Last -
17 Mt._Oso Sel Sel Last -
18 New_Cuyama Sel Sel Last -
19 Novato Sel Sel Last -
20 Pittsburg Sel Sel Last -
21 Pleasanton Sel Sel Last -
22 Salinas Sel Sel Last -
23 San_Jose_1 Sel Sel Last -
24 San_Jose_2 Sel Sel Last -
25 San_Jose_3 Sel Sel Last -
26 San_Luis_Obispo Sel Sel Last -
27 Sanel_Mtn Sel Sel Last -
28 Santa_Cruz Sel Sel Last -
29 Santa_Maria Sel Sel Last -
30 Santa_Rosa Sel Sel Last -
31 Sebastopol Sel Sel Last -
32 Sonoma Sel Sel Last -
33 Sonoma_Mtn Sel Sel Last 1
34 Sonora Sel Sel Last -
35 S._Lake_Tahoe Sel Sel Last -
36 Tuolumne Sel Sel Last -
37 Turlock Sel Sel Last -
38 Walnut_Creek Sel Sel Last -
39 Talk_Around Sel Sel Last -
# Table of contacts.
# 1) Contact number: 1-1000
# 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: -, Yes
# 5) Call receive tone: -, +
#
Contact Name Type ID RxTone
1 Local Group 2 -
@ -144,10 +144,11 @@ Contact Name Type ID RxTone
# Table of group lists.
# 1) Group list number: 1-250
# 2) List of contacts: numbers and ranges (N-M) separated by comma
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of contacts: numbers and ranges (N-M) separated by comma
#
Grouplist Contacts
1 1-2
Grouplist Name Contacts
1 Amateur_T2 1-2
# Table of text messages.
# 1) Message number: 1-50

View File

@ -1,6 +1,6 @@
#
# This configuration was generated 2018/08/30 by dmrconfig,
# Version 0.1.37, Copyright (C) 2018 Serge Vakulenko KK6ABQ
# Version 0.1.40, Copyright (C) 2018 Serge Vakulenko KK6ABQ
#
Radio: TYT MD-380
Name: noname
@ -1030,61 +1030,61 @@ Zone Name Channels
40 Turlock.rptr 909-922
# Table of scan lists.
# 1) Zone number: 1-250
# 1) Scan list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 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 or index
# 5) Designated transmit channel: Last, Sel or index
# 6) List of channels: numbers and ranges (N-M) separated by comma
#
Scanlist Name PCh1 PCh2 TxCh Channels
1 PAARA_(SJ)_w6otx Sel - - 1-24
2 PaloAlto_k6otr Sel - - 25-48
3 DalyCity_n6amg Sel - - 49-72
4 MoffettFld_w6cmu Sel - - 73-96
5 SanJose_k6hle Sel - - 97-120
6 CrystalPk_k6hle Sel - - 121-144
7 LomaPrieta_w6yyy Sel - - 145-168
8 Gilroy_k6sia Sel - - 169-192
9 MtAllison_w6tcp Sel - - 193-216
10 Milpitas_wa6kpx Sel - - 217-240
11 Oakland_k6lnk Sel - - 241-264
12 SantaCruz_wa6ycz Sel - - 265-288
13 Salinas_w6jso Sel - - 289-312
14 Direct - - - 317-323
15 BlankDigital - - - 313-316
16 Pleasanton_n6ldj Sel - - 333-356
17 Livermore_k6lrg Sel - - 357-380
18 Pittsburg_k6pit Sel - - 381-404
19 WalnutCrk_k6lnk Sel - - 405-428
20 WalnutCrk2_n6mvt Sel - - 429-452
21 Novato_kg6mzv Sel - - 453-476
22 SanelMtn_nn6j Sel - - 477-500
23 SonomaCity_w6pe Sel - - 501-524
24 SonomaMtn_nn6j Sel - - 525-548
25 SantaRosa_k6acs Sel - - 549-572
26 Sebstopol_kc6sot Sel - - 573-596
27 BodegaBay_kj6qbm Sel - - 597-620
28 Gualala_k6lnk Sel - - 621-644
29 SLO_k6acr Sel - - 645-668
30 SantaMaria_k6acr Sel - - 669-692
31 NewCuyama_k7az Sel - - 693-716
32 Dixon_Sac._k6jwn Sel - - 717-740
33 Auburn_ng6d Sel - - 741-764
34 SoLkTahoe_wa6ewv Sel - - 765-788
35 Sonora_kj6nro Sel - - 789-812
36 Tuolumne_kj6nro Sel - - 813-836
37 MtBullion_k6acr Sel - - 837-860
38 MtOso_k6acr Sel - - 861-884
39 Modesto_k6acr Sel - - 885-908
40 Turlock_k6acr Sel - - 909-932
1 PAARA_(SJ)_w6otx Sel - Last 1-24
2 PaloAlto_k6otr Sel - Last 25-48
3 DalyCity_n6amg Sel - Last 49-72
4 MoffettFld_w6cmu Sel - Last 73-96
5 SanJose_k6hle Sel - Last 97-120
6 CrystalPk_k6hle Sel - Last 121-144
7 LomaPrieta_w6yyy Sel - Last 145-168
8 Gilroy_k6sia Sel - Last 169-192
9 MtAllison_w6tcp Sel - Last 193-216
10 Milpitas_wa6kpx Sel - Last 217-240
11 Oakland_k6lnk Sel - Last 241-264
12 SantaCruz_wa6ycz Sel - Last 265-288
13 Salinas_w6jso Sel - Last 289-312
14 Direct - - Last 317-323
15 BlankDigital - - Last 313-316
16 Pleasanton_n6ldj Sel - Last 333-356
17 Livermore_k6lrg Sel - Last 357-380
18 Pittsburg_k6pit Sel - Last 381-404
19 WalnutCrk_k6lnk Sel - Last 405-428
20 WalnutCrk2_n6mvt Sel - Last 429-452
21 Novato_kg6mzv Sel - Last 453-476
22 SanelMtn_nn6j Sel - Last 477-500
23 SonomaCity_w6pe Sel - Last 501-524
24 SonomaMtn_nn6j Sel - Last 525-548
25 SantaRosa_k6acs Sel - Last 549-572
26 Sebstopol_kc6sot Sel - Last 573-596
27 BodegaBay_kj6qbm Sel - Last 597-620
28 Gualala_k6lnk Sel - Last 621-644
29 SLO_k6acr Sel - Last 645-668
30 SantaMaria_k6acr Sel - Last 669-692
31 NewCuyama_k7az Sel - Last 693-716
32 Dixon_Sac._k6jwn Sel - Last 717-740
33 Auburn_ng6d Sel - Last 741-764
34 SoLkTahoe_wa6ewv Sel - Last 765-788
35 Sonora_kj6nro Sel - Last 789-812
36 Tuolumne_kj6nro Sel - Last 813-836
37 MtBullion_k6acr Sel - Last 837-860
38 MtOso_k6acr Sel - Last 861-884
39 Modesto_k6acr Sel - Last 885-908
40 Turlock_k6acr Sel - Last 909-932
# Table of contacts.
# 1) Contact number: 1-1000
# 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: -, Yes
# 5) Call receive tone: -, +
#
Contact Name Type ID RxTone
1 Local Group 2 -
@ -1595,11 +1595,12 @@ Contact Name Type ID RxTone
# Table of group lists.
# 1) Group list number: 1-250
# 2) List of contacts: numbers and ranges (N-M) separated by comma
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of contacts: numbers and ranges (N-M) separated by comma
#
Grouplist Contacts
1 5-11,16-26,28-33,35-37,49
2 1-4
Grouplist Name Contacts
1 TS1.BM.TalkGrps 5-11,16-26,28-33,35-37,49
2 TS2.BM.TlkGrps 1-4
# Table of text messages.
# 1) Message number: 1-50

View File

@ -1,6 +1,6 @@
#
# This configuration was generated 2018/08/30 by dmrconfig,
# Version 0.1.37, Copyright (C) 2018 Serge Vakulenko KK6ABQ
# Version 0.1.40, Copyright (C) 2018 Serge Vakulenko KK6ABQ
#
Radio: TYT MD-380
Name: MYCALL
@ -318,60 +318,60 @@ Zone Name Channels
39 Walnut_Creek 70-74
# Table of scan lists.
# 1) Zone number: 1-250
# 1) Scan list number: 1-250
# 2) Name: up to 16 characters, use '_' instead of space
# 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 or index
# 5) Designated transmit channel: Last, Sel or index
# 6) List of channels: numbers and ranges (N-M) separated by comma
#
Scanlist Name PCh1 PCh2 TxCh Channels
1 Daly_City 140 140 - 134-147
2 Oakland 140 140 - 56-69
3 Palo_Alto 140 140 - 80-93
4 San_Jose_4 140 140 - 191-204
5 Moffett 140 140 - 172-185
6 Auburn 140 140 - 153-157
7 Bodega 140 140 - 129-133
8 Dixon 140 140 - 46-50
9 Fremont_1 140 140 - 215-219
10 Fremont_2 140 140 - 210-214
11 Gilroy 140 140 - 99-103
12 Gualala 140 140 - 51-55
13 Livermore 140 140 - 75-79
14 Mariposa_MB 140 140 - 1-5
15 Milpitas 140 140 - 230-234
16 Modesto 140 140 - 11-15
17 Mt._Oso 140 140 - 6-10
18 New_Cuyama 140 140 - 104-108
19 Novato 140 140 - 114-118
20 Pittsburg 140 140 - 94-98
21 Pleasanton 140 140 - 148-152
22 Salinas 140 140 - 186-190
23 San_Jose_1 140 140 - 220-224
24 San_Jose_2 140 140 - 36-40
25 San_Jose_3 140 140 - 41-45
26 San_Luis_Obispo 140 140 - 16-20
27 Sanel_Mtn 140 140 - 158-162
28 Santa_Cruz 140 140 - 235-239
29 Santa_Maria 140 140 - 21-25
30 Santa_Rosa 140 140 - 31-35
31 Sebastopol 140 140 - 109-113
32 Sonoma 140 140 - 205-209
33 Sonoma_Mtn 140 140 - 163-167
34 Sonora 140 140 - 119-123
35 S._Lake_Tahoe 140 140 - 225-229
36 Tuolumne 140 140 - 124-128
37 Turlock 140 140 - 26-30
38 Walnut_Creek 140 140 - 70-74
39 Talk_Around 227 227 - 168-171
1 Daly_City 140 140 Last 134-147
2 Oakland 140 140 Last 56-69
3 Palo_Alto 140 140 Last 80-93
4 San_Jose_4 140 140 Last 191-204
5 Moffett 140 140 Last 172-185
6 Auburn 140 140 Last 153-157
7 Bodega 140 140 Last 129-133
8 Dixon 140 140 Last 46-50
9 Fremont_1 140 140 Last 215-219
10 Fremont_2 140 140 Last 210-214
11 Gilroy 140 140 Last 99-103
12 Gualala 140 140 Last 51-55
13 Livermore 140 140 Last 75-79
14 Mariposa_MB 140 140 Last 1-5
15 Milpitas 140 140 Last 230-234
16 Modesto 140 140 Last 11-15
17 Mt._Oso 140 140 Last 6-10
18 New_Cuyama 140 140 Last 104-108
19 Novato 140 140 Last 114-118
20 Pittsburg 140 140 Last 94-98
21 Pleasanton 140 140 Last 148-152
22 Salinas 140 140 Last 186-190
23 San_Jose_1 140 140 Last 220-224
24 San_Jose_2 140 140 Last 36-40
25 San_Jose_3 140 140 Last 41-45
26 San_Luis_Obispo 140 140 Last 16-20
27 Sanel_Mtn 140 140 Last 158-162
28 Santa_Cruz 140 140 Last 235-239
29 Santa_Maria 140 140 Last 21-25
30 Santa_Rosa 140 140 Last 31-35
31 Sebastopol 140 140 Last 109-113
32 Sonoma 140 140 Last 205-209
33 Sonoma_Mtn 140 140 Last 163-167
34 Sonora 140 140 Last 119-123
35 S._Lake_Tahoe 140 140 Last 225-229
36 Tuolumne 140 140 Last 124-128
37 Turlock 140 140 Last 26-30
38 Walnut_Creek 140 140 Last 70-74
39 Talk_Around 227 227 Last 168-171
# Table of contacts.
# 1) Contact number: 1-1000
# 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: -, Yes
# 5) Call receive tone: -, +
#
Contact Name Type ID RxTone
1 Local Group 2 -
@ -412,11 +412,12 @@ Contact Name Type ID RxTone
# Table of group lists.
# 1) Group list number: 1-250
# 2) List of contacts: numbers and ranges (N-M) separated by comma
# 2) Name: up to 16 characters, use '_' instead of space
# 3) List of contacts: numbers and ranges (N-M) separated by comma
#
Grouplist Contacts
1 3-11,13-17,20-32,34
2 1-2,18-19,33
Grouplist Name Contacts
1 Amateur_T1 3-11,13-17,20-32,34
2 Amateur_T2 1-2,18-19,33
# Table of text messages.
# 1) Message number: 1-50

108
md380.c
View File

@ -409,6 +409,8 @@ static int zone_append(int zone_index, int cnum)
int i;
for (i=0; i<16; i++) {
if (z->member[i] == cnum)
return 1;
if (z->member[i] == 0) {
z->member[i] = cnum;
return 1;
@ -469,6 +471,8 @@ static int scanlist_append(int list_index, int cnum)
int i;
for (i=0; i<31; i++) {
if (sl->member[i] == cnum)
return 1;
if (sl->member[i] == 0) {
sl->member[i] = cnum;
return 1;
@ -496,6 +500,33 @@ static void setup_contact(int index, const char *name, int type, int id, int rxt
utf8_decode(ct->name, name, 16);
}
static void setup_grouplist(int index, const char *name)
{
grouplist_t *gl = (grouplist_t*) &radio_mem[OFFSET_GLISTS + index*96];
utf8_decode(gl->name, name, 16);
}
//
// Add contact to a grouplist.
// Return 0 on failure.
//
static int grouplist_append(int index, int cnum)
{
grouplist_t *gl = (grouplist_t*) &radio_mem[OFFSET_GLISTS + index*96];
int i;
for (i=0; i<32; i++) {
if (gl->member[i] == cnum)
return 1;
if (gl->member[i] == 0) {
gl->member[i] = cnum;
return 1;
}
}
return 0;
}
//
// Check that the radio does support this frequency.
//
@ -1121,10 +1152,11 @@ static void md380_print_config(radio_device_t *radio, FILE *out, int verbose)
if (verbose) {
fprintf(out, "# Table of group lists.\n");
fprintf(out, "# 1) Group list number: 1-%d\n", NGLISTS);
fprintf(out, "# 2) List of contacts: numbers and ranges (N-M) separated by comma\n");
fprintf(out, "# 2) Name: up to 16 characters, use '_' instead of space\n");
fprintf(out, "# 3) List of contacts: numbers and ranges (N-M) separated by comma\n");
fprintf(out, "#\n");
}
fprintf(out, "Grouplist Contacts\n");
fprintf(out, "Grouplist Name Contacts\n");
for (i=0; i<NGLISTS; i++) {
grouplist_t *gl = (grouplist_t*) &radio_mem[OFFSET_GLISTS + i*96];
@ -1134,6 +1166,8 @@ static void md380_print_config(radio_device_t *radio, FILE *out, int verbose)
}
fprintf(out, "%5d ", i + 1);
print_unicode(out, gl->name, 16, 1);
fprintf(out, " ");
if (gl->member[0]) {
print_chanlist(out, gl->member, 32);
} else {
@ -1859,8 +1893,74 @@ static int parse_contact(int first_row, char *line)
//
static int parse_grouplist(int first_row, char *line)
{
//TODO: parse grouplist Contacts
return 0;
char num_str[256], name_str[256], list_str[256];
int glnum;
if (sscanf(line, "%s %s %s", num_str, name_str, list_str) != 3)
return 0;
glnum = strtoul(num_str, 0, 10);
if (glnum < 1 || glnum > NGLISTS) {
fprintf(stderr, "Bad group list number.\n");
return 0;
}
if (first_row) {
// On first entry, erase the Grouplists table.
memset(&radio_mem[OFFSET_GLISTS], 0, NGLISTS*96);
}
setup_grouplist(glnum-1, name_str);
if (*list_str != '-') {
char *str = list_str;
int range = 0;
int last = 0;
// Parse contact list.
for (;;) {
char *eptr;
int cnum = strtoul(str, &eptr, 10);
if (eptr == str) {
fprintf(stderr, "Group list %d: wrong contact list '%s'.\n", glnum, str);
return 0;
}
if (cnum < 1 || cnum > NCONTACTS) {
fprintf(stderr, "Group list %d: wrong contact number %d.\n", glnum, cnum);
return 0;
}
if (range) {
// Add range.
int c;
for (c=last+1; c<=cnum; c++) {
if (!grouplist_append(glnum-1, c)) {
fprintf(stderr, "Group list %d: too many contacts.\n", glnum);
return 0;
}
}
} else {
// Add single contact.
if (!grouplist_append(glnum-1, cnum)) {
fprintf(stderr, "Group list %d: too many contacts.\n", glnum);
return 0;
}
}
if (*eptr == 0)
break;
if (*eptr != ',' && *eptr != '-') {
fprintf(stderr, "Group list %d: wrong contact list '%s'.\n", glnum, eptr);
return 0;
}
range = (*eptr == '-');
last = cnum;
str = eptr + 1;
}
}
return 1;
}
//

112
uv380.c
View File

@ -427,6 +427,8 @@ static int zone_append(int zone_index, int b_flag, int cnum)
if (b_flag) {
for (i=0; i<64; i++) {
if (zext->member_b[i] == cnum)
return 1;
if (zext->member_b[i] == 0) {
zext->member_b[i] = cnum;
return 1;
@ -434,12 +436,16 @@ static int zone_append(int zone_index, int b_flag, int cnum)
}
} else {
for (i=0; i<16; i++) {
if (z->member_a[i] == cnum)
return 1;
if (z->member_a[i] == 0) {
z->member_a[i] = cnum;
return 1;
}
}
for (i=0; i<48; i++) {
if (zext->ext_a[i] == cnum)
return 1;
if (zext->ext_a[i] == 0) {
zext->ext_a[i] = cnum;
return 1;
@ -503,6 +509,8 @@ static int scanlist_append(int list_index, int cnum)
int i;
for (i=0; i<31; i++) {
if (sl->member[i] == cnum)
return 1;
if (sl->member[i] == 0) {
sl->member[i] = cnum;
return 1;
@ -530,6 +538,33 @@ static void setup_contact(int index, const char *name, int type, int id, int rxt
utf8_decode(ct->name, name, 16);
}
static void setup_grouplist(int index, const char *name)
{
grouplist_t *gl = (grouplist_t*) &radio_mem[OFFSET_GLISTS + index*96];
utf8_decode(gl->name, name, 16);
}
//
// Add contact to a grouplist.
// Return 0 on failure.
//
static int grouplist_append(int index, int cnum)
{
grouplist_t *gl = (grouplist_t*) &radio_mem[OFFSET_GLISTS + index*96];
int i;
for (i=0; i<32; i++) {
if (gl->member[i] == cnum)
return 1;
if (gl->member[i] == 0) {
gl->member[i] = cnum;
return 1;
}
}
return 0;
}
//
// Check that the radio does support this frequency.
//
@ -1179,10 +1214,11 @@ static void uv380_print_config(radio_device_t *radio, FILE *out, int verbose)
if (verbose) {
fprintf(out, "# Table of group lists.\n");
fprintf(out, "# 1) Group list number: 1-%d\n", NGLISTS);
fprintf(out, "# 2) List of contacts: numbers and ranges (N-M) separated by comma\n");
fprintf(out, "# 2) Name: up to 16 characters, use '_' instead of space\n");
fprintf(out, "# 3) List of contacts: numbers and ranges (N-M) separated by comma\n");
fprintf(out, "#\n");
}
fprintf(out, "Grouplist Contacts\n");
fprintf(out, "Grouplist Name Contacts\n");
for (i=0; i<NGLISTS; i++) {
grouplist_t *gl = (grouplist_t*) &radio_mem[OFFSET_GLISTS + i*96];
@ -1192,6 +1228,8 @@ static void uv380_print_config(radio_device_t *radio, FILE *out, int verbose)
}
fprintf(out, "%5d ", i + 1);
print_unicode(out, gl->name, 16, 1);
fprintf(out, " ");
if (gl->member[0]) {
print_chanlist(out, gl->member, 32);
} else {
@ -1932,8 +1970,74 @@ static int parse_contact(int first_row, char *line)
//
static int parse_grouplist(int first_row, char *line)
{
//TODO: parse grouplist Contacts
return 0;
char num_str[256], name_str[256], list_str[256];
int glnum;
if (sscanf(line, "%s %s %s", num_str, name_str, list_str) != 3)
return 0;
glnum = strtoul(num_str, 0, 10);
if (glnum < 1 || glnum > NGLISTS) {
fprintf(stderr, "Bad group list number.\n");
return 0;
}
if (first_row) {
// On first entry, erase the Grouplists table.
memset(&radio_mem[OFFSET_GLISTS], 0, NGLISTS*96);
}
setup_grouplist(glnum-1, name_str);
if (*list_str != '-') {
char *str = list_str;
int range = 0;
int last = 0;
// Parse contact list.
for (;;) {
char *eptr;
int cnum = strtoul(str, &eptr, 10);
if (eptr == str) {
fprintf(stderr, "Group list %d: wrong contact list '%s'.\n", glnum, str);
return 0;
}
if (cnum < 1 || cnum > NCONTACTS) {
fprintf(stderr, "Group list %d: wrong contact number %d.\n", glnum, cnum);
return 0;
}
if (range) {
// Add range.
int c;
for (c=last+1; c<=cnum; c++) {
if (!grouplist_append(glnum-1, c)) {
fprintf(stderr, "Group list %d: too many contacts.\n", glnum);
return 0;
}
}
} else {
// Add single contact.
if (!grouplist_append(glnum-1, cnum)) {
fprintf(stderr, "Group list %d: too many contacts.\n", glnum);
return 0;
}
}
if (*eptr == 0)
break;
if (*eptr != ',' && *eptr != '-') {
fprintf(stderr, "Group list %d: wrong contact list '%s'.\n", glnum, eptr);
return 0;
}
range = (*eptr == '-');
last = cnum;
str = eptr + 1;
}
}
return 1;
}
//