User Tools

Site Tools


packet

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
packet [2016/06/14 09:39]
russ Add I field for current
packet [2020/06/27 23:02] (current)
Line 1: Line 1:
-====== Packet Grammar ====== +[[https://github.com/UKHASnet/protocol/blob/master/grammar.ebnf|This page has moved to github.]]
- +
-<code> +
-digit       = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"; +
-integer     "+" | "-" ], digit, { digit }; +
-decimal     "+" | "-" ], digit, { digit }, [ ".", digit, { digit } ]; +
- +
-lowercase letter = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h"+
-                   "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p"+
-                   "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x"+
-                   "y" | "z"; +
- +
-uppercase letter = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H"+
-                   "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P"+
-                   "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X"+
-                   "Y" | "Z"; +
- +
-letter      = lowercase letter | uppercase letter; +
-symbol      = " " | "!" | '"' | "#" | "$" | "%" | "&" | "'" | "("+
-              ")" | "*" | "+" | "," | "-" | "." | "/" | ":" | ";"+
-              "<" | "=" | ">" | "?" | "@" | "\" | "^" | "_" | "`"+
-              "{" | "|" | "}" | "~"; +
- +
-repeat      = digit; +
-sequence    = lowercase letter; +
- +
-voltage     = "V", [ decimal ], { ",", [ decimal ] }; +
-current     = "I", [ decimal ], { ",", [ decimal ] }; +
-temperature = "T", [ decimal ], { ",", [ decimal ] }; +
-humidity    = "H", [ decimal ], { ",", [ decimal ] }; +
-pressure    = "P", [ decimal ], { ",", [ decimal ] }; +
-custom      = "X", [ decimal ], { ",", [ decimal ] }; +
-sun         = "S", [ decimal ], { ",", [ decimal ] }; +
-rssi        = "R", [ decimal ], { ",", [ decimal ] }; +
-count       = "C", [ decimal ], { ",", [ decimal ] }; +
-windspeed   = "W", [ decimal ], [ ",", [ decimal ] ]; +
-location    = "L", ( ( [ decimal, ",", decimal ] ) | ","), [ ",", [ decimal ] ]; +
-zombie      = "Z", ( "0" | "1" ); +
- +
-data field  = voltage | temperature | humidity | pressure | custom | sun | +
-              rssi | windspeed | location | count | zombie; +
- +
-data = { data field }; +
- +
-comment     = ":", { letter | digit | symbol }; +
- +
-node name character = uppercase letter | digit; +
-node name   = node name character, { node name character }; +
- +
-path        = "[", node name, { ",", node name }, "]"; +
- +
-packet      = repeat, sequence, data, [ comment ], path; +
-</code> +
- +
-  * Repeated data types are permitted, eg. +
-    * //2a**T12,13.1**V1.2**T15.4**[EG1]// +
-    * Notes on how parsers implement this are on the [[parsers]] page +
-  * Summary of Discussion of node names [[discussion:node_names]] +
-  * Query: should **Z**ombie be depricated in favour of **M**ode as per https://oddstr13.openshell.no/paste/VwWOq8-1/+
packet.txt · Last modified: 2020/06/27 23:02 (external edit)