Skip to content

Commit

Permalink
Addresses some aspects of sigmf#339
Browse files Browse the repository at this point in the history
  • Loading branch information
gmabey committed Feb 6, 2025
1 parent f9d603e commit eecd48e
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions sigmf-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"description": "The `global` object consists of key/value pairs that provide information applicable to the entire Dataset. It contains the information that is minimally necessary to open and parse the Dataset file, as well as general information about the Recording itself.",
"required": [
"core:datatype",
"core:sample_rate",
"core:version"
],
"type": "object",
Expand All @@ -24,13 +25,12 @@
"cf32_le",
"ri16_le"
],
"default": "cf32_le",
"pattern": "^(c|r)(f32|f64|i32|i16|u32|u16|i8|u8)(_le|_be)?",
"type": "string"
},
"core:sample_rate": {
"description": "The sample rate of the signal in samples per second.",
"minimum": 1,
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"type": "number"
},
Expand Down Expand Up @@ -148,7 +148,6 @@
"core:extensions": {
"description": "The `core:extensions` field in the Global Object is an array of extension objects that describe SigMF extensions. Extension Objects MUST contain the three key/value pairs defined below, and MUST NOT contain any other fields. \\rowcolors{1}{}{lightblue}\\begin{center}\\begin{tabular}{lllp{3.8in}} \\toprule \\textbf{Name} & \\textbf{Required} & \\textbf{Type} & \\textbf{Description} \\\\ \\midrule name & true & string & The name of the SigMF extension namespace. \\\\ version & true & string & The version of the extension namespace specification used. \\\\ optional & true & boolean & If this field is `false`, then the application MUST support this extension in order to parse the Recording; if the application does not support this extension, it SHOULD report an error. \\\\ \\bottomrule \\end{tabular} \\end{center} \\\\ In the example below, `extension-01` is optional, so the application may ignore it if it does not support `extension-01`. But `extension-02` is not optional, so the application must support `extension-02` in order to parse the Recording. \\begin{verbatim}\"global\": {\n ...\n \"core:extensions\" : [\n {\n \"name\": \"extension-01\",\n \"version\": \"0.0.5\",\n \"optional\": true\n },\n {\n \"name\": \"extension-02\",\n \"version\": \"1.2.3\",\n \"optional\": false\n }\n ]\n ...\n }\\end{verbatim}",
"type": "array",
"default": [],
"additionalItems": false,
"items": {
"type": "object",
Expand Down Expand Up @@ -182,7 +181,6 @@
},
"captures": {
"description": "The `captures` Object is an array of capture segment objects that describe the parameters of the signal capture. It MUST be sorted by the value of each capture segment's `core:sample_start` key, ascending. Capture Segment Objects are composed of key/value pairs, and each Segment describes a chunk of samples that can be mapped into memory for processing. Each Segment MUST contain a `core:sample_start` key/value pair, which indicates the sample index relative to the Dataset where this Segment's metadata applies. The fields that are described within a Capture Segment are scoped to that Segment only and need to be explicitly declared again if they are valid in subsequent Segments. While it is recommended there be at least one segment defined, if there are no items in the captures array it is implied that a single capture exists with `core:sample_start` equal to zero (no other metadata is implied), i.e., `\"captures\": []` implies `\"captures\": [{\"core:sample_start\": 0}]`.",
"default": [],
"type": "array",
"additionalItems": false,
"items": {
Expand All @@ -192,7 +190,6 @@
],
"properties": {
"core:sample_start": {
"default": 0,
"description": "Index of first sample of this chunk. This field specifies the sample index where this Segment takes effect relative to the recorded Dataset file. If the Dataset is a SigMF Dataset file, this field can be immediately mapped to physical disk location since conforming Datasets only contain sample data. ",
"minimum": 0,
"maximum": 9223372036854775807,
Expand Down Expand Up @@ -264,7 +261,6 @@
}
},
"annotations": {
"default": [],
"description": "The `annotations` Object is an array of annotation segment objects that describe anything regarding the signal data not part of the Captures and Global objects. It MUST be sorted by the value of each Annotation Segment's `core:sample_start` key, ascending. Annotation segment Objects contain key/value pairs and MUST contain a `core:sample_start` key/value pair, which indicates the first index at which the rest of the Segment's key/value pairs apply. There is no limit to the number of annotations that can apply to the same group of samples. If two annotations have the same `sample_start`, there is no defined ordering between them. If `sample_count` is not provided, it SHOULD be assumed that the annotation applies from `sample_start` through the end of the corresponding capture, in all other cases `sample_count` MUST be provided. ",
"type": "array",
"additionalItems": true,
Expand All @@ -276,7 +272,6 @@
],
"properties": {
"core:sample_start": {
"default": 0,
"description": "The sample index at which this Segment takes effect.",
"minimum": 0,
"maximum": 9223372036854775807,
Expand Down

0 comments on commit eecd48e

Please sign in to comment.