aboutsummaryrefslogtreecommitdiff
path: root/share/contrib/chirp_memory.rnc
diff options
context:
space:
mode:
Diffstat (limited to 'share/contrib/chirp_memory.rnc')
-rw-r--r--share/contrib/chirp_memory.rnc64
1 files changed, 64 insertions, 0 deletions
diff --git a/share/contrib/chirp_memory.rnc b/share/contrib/chirp_memory.rnc
new file mode 100644
index 0000000..ad7ee2e
--- /dev/null
+++ b/share/contrib/chirp_memory.rnc
@@ -0,0 +1,64 @@
+memoryType =
+ attribute location { xsd:nonNegativeInteger }?,
+ shortName,
+ longName?,
+ frequency,
+ SquelchList,
+ squelchSetting?,
+ duplex,
+ offset,
+ mode,
+ tuningStep,
+ skip?,
+ bank?,
+ dv?
+
+shortName = element shortName { xsd:string { pattern = "[A-Z0-9/ >\-]{0,6}" } }
+
+frequencyType =
+ attribute units { "Hz" | "kHz" | "MHz" | "GHz" },
+ xsd:decimal
+
+longName = element longName { xsd:string { pattern = "[.A-Za-z0-9/ >\-]{0,16}" } }
+
+frequency = element frequency { frequencyType }
+
+SquelchList =
+ element squelch { squelchType }?,
+ element squelch { squelchType }?,
+ element squelch { squelchType }?
+
+squelchType =
+ element tone { xsd:decimal { minInclusive = "67.0" maxInclusive = "254.1" } }?, # could also use enumeration
+ element code { xsd:positiveInteger }?,
+ element polarity { xsd:string { pattern = "[RN]{2}" } }?,
+ attribute id { text }?,
+ attribute type { text }?
+
+offset = element offset { frequencyType }
+
+tuningStep = element tuningStep { frequencyType }
+
+squelchSetting = element squelchSetting { xsd:string }
+
+duplex = element duplex { "positive" | "negative" | "none" }
+
+mode = element mode { "FM" | "NFM" | "WFM" | "AM" | "NAM" | "DV" }
+
+dv = element dv {
+ element urcall { callsignType },
+ element rpt1call { callsignType },
+ element rpt2call { callsignType },
+ element digitalCode { digitalCodeType }?
+}
+
+callsignType = xsd:string { pattern = "[A-Z0-9/ ]*" }
+
+digitalCodeType = xsd:integer { minInclusive = "0" }
+
+skip = element skip { "S" | "P" | "" }
+
+bank = element bank {
+ attribute bankId { xsd:nonNegativeInteger },
+ attribute bankIndex { xsd:nonNegativeInteger }?
+}