-
Notifications
You must be signed in to change notification settings - Fork 0
/
Callsign.cs
37 lines (32 loc) · 949 Bytes
/
Callsign.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
namespace aprsparser
{
public class Callsign
{
public string StationCallsign; //callsign plus ssid
public string BaseCallsign;
public byte Ssid;
public Callsign(string callsign)
{
StationCallsign = callsign.ToUpper().Trim();
if (StationCallsign.Contains("-"))
{
var parts = StationCallsign.Split('-');
BaseCallsign = parts[0].ToUpper();
if (!byte.TryParse(parts[1], out Ssid))
{
//not a valid ssid - must be something else
BaseCallsign = StationCallsign;
Ssid = 0;
}
}
else
{
BaseCallsign = StationCallsign;
}
}
public static Callsign ParseCallsign(string callsign)
{
return new Callsign(callsign);
}
}
}