Feature/add sx1276 support #2
Keine Dateien entsprechen Ihrer Suche
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
@@ -0,0 +1,37 @@
|
||||
# FoxMash - Protocol
|
||||
|
||||
English version. In case of doubt, the English text shall be binding.
|
||||
*[Deutsche Version anzeigen](foxmash-protocol_de.md)*
|
||||
|
||||
## Automatic Stations at the ARDF Transmitting Facilities (Foxes)
|
||||
|
||||
A fox regularly broadcasts its identifier and telemetry data.
|
||||
This is done, whenever possible, at times when the fox is not transmitting on the 80m or 2m bands.
|
||||
The purpose of this is, on the one hand, the time synchronization of adjacent nodes, and on the other hand, the regular official announcement of the call sign.
|
||||
Usually, the call sign of the organizer or host of the direction-finding competition is used.
|
||||
|
||||
## Beacon
|
||||
|
||||
Composed based on the modified AX.25, APRS, and MeshCom protocols as follows:
|
||||
|
||||
Pseudo-Byte-Stream:
|
||||
`{OE3TKT-03nnnnnn`
|
||||
|
||||
|
||||
### Structure:
|
||||
|
||||
* **Byte 0: `"{ "` (0x7B)**
|
||||
* **Data Type Identifier (DTI):** Derived from the APRS & MeshCom protocol specification (see [APRS Protocol Reference](https://ui-view.net)).
|
||||
* **Reasoning:** This data type identifier is currently marked as `[Unused]` in the specification, and the character visually resembles a station icon.
|
||||
|
||||
* **Bytes 1–6: `"OE3TKT"` (0x4F 0x45 0x33 0x54 0x4B 0x54)**
|
||||
* **International Call Sign:** Formatted as a 1–2 character prefix, followed by one or more digits, and a 1–3 letter suffix.
|
||||
* **Padding:** This field is strictly 6 characters wide. If the call sign is shorter, it must be right-padded with trailing spaces.
|
||||
|
||||
* **Bytes 7+: Station Number / SSID Identifier**
|
||||
* **Standard Notation (IDs 0–99):** Uses a hyphen followed by a two-digit SSID (Bytes 7–9), for example, `"-03"` (0x2D 0x30 0x33).
|
||||
* **Extended Notation (IDs ≥ 100):** If the station number exceeds 100, you may take any letters as described in https://aprs11/SSIDs.txt (e.g., `OE3TKT-S6` for any special 6th station).
|
||||
* **Backup / Hot-Standby Nodes:** To designate a station as a replacement node or an immediate hot-standby node, the hyphen is replaced by a tilde symbol (e.g., `OE3TKT~03`).
|
||||
|
||||
* **Bytes 10–13: Telemetry Data (`nnnnnn`)**
|
||||
* **Timestamp:** Signed 32-bit integer representing the number of milliseconds since the start of the competition day.
|
||||
@@ -0,0 +1,48 @@
|
||||
# FoxMash - Protokoll
|
||||
|
||||
Deutsche Übersetzung. Im Zweifelsfall ist die englischsprachige Version bindend.
|
||||
*[View English Version](foxmash-protocol.md)*
|
||||
|
||||
## Automatische Stationen bei den ARDF-Sendeeinrichtungen (Füchsen)
|
||||
|
||||
Ein Fuchs sendet regelmäßig seine Kennung (Identifier) und Telemetriedaten aus.
|
||||
Dies geschieht, wann immer möglich, zu Zeiten, in denen kein Sendebetrieb des Fuchses im 80m- oder 2m-Band stattfindet.
|
||||
Dies dient einerseits der Zeitsynchronisation der Nachbarknoten und andererseits der regelmäßigen, behördlich vorgeschriebenen Aussendung des Rufzeichens.
|
||||
Üblicherweise wird das Rufzeichen des Ausrichters bzw. Veranstalters des Peilwettbewerbs verwendet.
|
||||
|
||||
## Bake
|
||||
|
||||
Setzt sich wie folgt aus den modifizierten AX.25-, APRS- und MeshCom-Protokollen zusammen:
|
||||
|
||||
Pseudo-Byte-Stream:
|
||||
`{OE3TKT-03nnnnxxRSqyyRSqzzRSq`
|
||||
|
||||
|
||||
### Struktur:
|
||||
|
||||
* **Byte 0: `"{ "` (0x7B)**
|
||||
* **Data Type Identifier (DTI):** Abgeleitet aus der APRS- & MeshCom-Protokollspezifikation (siehe [APRS Protocol Reference](https://ui-view.net)).
|
||||
* **Begründung:** Dieser Datentyp-Bezeichner ist in der Spezifikation derzeit noch als `[Unused]` (unbenutzt) markiert, und das Zeichen sieht visuell wie ein Stationssymbol aus.
|
||||
|
||||
* **Bytes 1–6: `"OE3TKT"` (0x4F 0x45 0x33 0x54 0x4B 0x54)**
|
||||
* **Internationales Rufzeichen:** Formatiert als 1–2 Zeichen langes Präfix, gefolgt von einer oder mehreren Ziffern und einem 1–3 Zeichen langen Suffix.
|
||||
* **Padding (Auffüllung):** Dieses Feld ist strikt 6 Zeichen lang. Wenn das Rufzeichen kürzer ist, muss es rechtsbündig mit Leerzeichen aufgefüllt werden.
|
||||
|
||||
* **Bytes 7+: Stationsnummer / SSID-Kennung**
|
||||
* **Standard-Notation (IDs 0–99):** Verwendet einen Bindestrich, gefolgt von einer zweistelligen SSID (Bytes 7–9), zum Beispiel `"-03"` (0x2D 0x30 0x33).
|
||||
* **Erweiterte Notation (IDs ≥ 100):** Wenn die Stationsnummer 100 überschreitet, können beliebige Buchstaben verwendet werden, wie unter https://aprs11/SSIDs.txt beschrieben (z. B. `OE3TKT-S6` für eine beliebige spezielle 6. Station).
|
||||
* **Ersatz- / Hot-Standby-Knoten:** Um eine Station als Ersatzstation oder sofort einsatzbereiten Knoten zu kennzeichnen, wird der Bindestrich durch ein Tilde-Zeichen ersetzt (z. B. `OE3TKT~03`).
|
||||
|
||||
* **Bytes 10–13: Telemetriedaten (`nnnnnn`)**
|
||||
* **Zeitstempel:** Vorzeichenbehaftete 32-Bit-Ganzzahl (Signed 32-Bit Integer), die die Millisekunden seit Beginn des Wettbewerbstages darstellt.
|
||||
|
||||
|
||||
`xxRSqyyRSqzzRSq` soll so etwas sein: Gehörte Nachbarknoten im Mesh mit einem Byte das die Qualität der Linkverbinung beinhaltet. xx ist z.B. ein Knoten mit SSID xx, und q ist die Qualtität der Verbinung:
|
||||
q setzt sich zusammen aus: bit 7: 1 ... diese SSID (Nachbar) wurde in der letzten halben Stunde mindestens 3 mal empfangen.
|
||||
0 wenn das nicht der Fall ist (weniger als 3 mal gehört in den letzten 30 Minuten), aber zumindest einmal gehört, ansonsten verschwindet er aus der Liste.
|
||||
bit 6-0 Zahler wie oft die Station gehört wurde (gleitender Wert pro 30 Minuten).
|
||||
R ist der negative RSSI-Wert in unsigned char. und S entspricht dem vierfachen SNR-Wert (signed char).
|
||||
|
||||
Beispiel: `0x00 03 9a 42 87...`
|
||||
|
||||
Das bedeutet "0x00 03" ist die SSID mit der Zahl 3 (der Nachbar der gehört wird), 0x9a ist dezimal 154
|
||||
@@ -0,0 +1,50 @@
|
||||
# Protocol MeshCom 4.0
|
||||
|
||||
## Stream - Example
|
||||
```
|
||||
:~1~9~SP3TUT-1,OE1XAR-12,OE3TKT-12>*:z okolic Pi~~y kto~~ tu jest?~~~~~(~a~
|
||||
S
|
||||
Hex: 3A BB 31 F3 39 93 53 50 33 54 55 54 2D 31 2C 4F 45 31 58 41 52 2D 31 32 2C 4F 45 33 54 4B 54 2D 31 32 3E 2A 3A 7A 20 6F 6B 6F 6C 69 63 20 50 69 C5 82 79 20 6B 74 6F C5 9B 20 74 75 20 6A 65 73 74 3F 00 03 88 16 C5 28 8C 61 7E
|
||||
| =========== | ===================================================================================
|
||||
| | | |
|
||||
| | | > APRS Address Header (Source,Path, Destination) - "SP3TUT-1": Source Callsign of the transmitting amateur radio station from Poland, using SSID 1.
|
||||
| | | > -
|
||||
| | | >
|
||||
| | > Flags & Hops [7]
|
||||
B02 | > Message Identifier "~1~9" 0xBB31F339 - The unique 32-bit Message ID transmitted in Little-Endian format (least significant byte first).
|
||||
| It is used by the mesh network to track packets and prevent duplication loops.
|
||||
B01 > APRS Data Type Identifier ":" 0x3A - APRS Text Message, used for person-to-person Direct Messages (DMs), group messages, or general announcements.
|
||||
Following this character, the parser expects a destination callsign, a tracking number, and the message content.
|
||||
"@" 0x40 - APRS Position with Timestamp, used for automated position reports that include a precise time (such as weather node beacons or sttic trackers).
|
||||
It tells the terminal to parse fixed-length chunks for latitude, longitude, and elevation.
|
||||
"!" 0x21 - APRS Position without Timestamp, used for real-time mobile tracking (e.g., a node) with an integrated GPS sending live movement updates).
|
||||
It skips the time fields to reduce airtime over LoRa.
|
||||
";" 0x3B - APRS Object Report, used to map an "Object" rather than a station.
|
||||
For example, a node can broadcast the location of a local hamfest, emergency shelter, or repeater.
|
||||
It is followed by a fixed 9-character object name.
|
||||
">" 0x3E - APRS Status Report: Used to transmit a station's current operating state or hardware information rather than geographic coordinates.
|
||||
"$" 0x24 - APRS Raw NMEA Sentence: A legacy data type that allows raw GPS string passthrough (like $GPRMC or $GPGGA) directly from a serial GPS mouse.
|
||||
Other DTI(Data Type Identifiers)
|
||||
"=" 0x3D - Position with compressed APRS capability, a standard position beacon, but formatted in Base-91 compression to save airtime over busy RF networks.
|
||||
"/" 0x2F - Mic-E Format Data, Microphone Encoder telemetry. Used by commercial radios (like Yaesu or Kenwood) to embed a GPS burst into a standard voice transmission PTT release.
|
||||
"`" 0x60 - Mic-E Old Format, Legacy Microphone Encoder burst, rarely used by modern trackers but still supported for backward compatibility.
|
||||
"_" 0x5F - Positionless Weather Report, used by automated weather stations (like fine-offset units or CWOP stations) to transmit pure wind speed, temperature, and barometric values without re-sending latitude/longitude.
|
||||
")" 0x29 - Item Report, identical to a map Object (;), but used for temporary or small Points of Interest (POIs) with a much shorter name (1–9 characters) and no timestamp.
|
||||
"<" 0x3C - Station Capabilities, sent by intelligent digipeaters and internet gateways (iGates) to report what features they support (e.g., whether they handle messaging or special path routing).
|
||||
"T" 0x54 - Raw Telemetry Data, used for automated analog data streams. Frequently found on high-altitude balloon payloads or weather satellites transmitting five channels of changing mathematical numbers.
|
||||
"S" 0x53 - Telemetry Structural Definition, defines the scale and offsets of raw numbers sent in the T packet (so client maps like aprs.fi know if a raw value of 142 means volts, millibars, or degrees).
|
||||
"?" 0x3F - Query/Poll Command, a packet explicitly asking another station or a server to respond. For instance, sending ?APRSP asks surrounding nodes for their current paths.
|
||||
"{" 0x7B - User-Defined / Proprietary, reserved entirely for experimental protocols or internal applications. MeshCom and similar experimental LoRa platforms utilize these spaces to run custom network setups.
|
||||
```
|
||||
## Callsign
|
||||
```
|
||||
Every callsign is build with [Personal Amateur Radio Callsign]-[SSID], SSID is a number between 1 and 99.
|
||||
• -0 (or no suffix): Standard home station / fixed station (usually avoided by MeshCom for mobile operation).
|
||||
• -1 to -3: Additional stations with potential special functions (e.g., digipeaters).
|
||||
• -7: Portable stations, handheld radios (e.g., a Heltec or T-Echo node carried in a pocket).
|
||||
• -9: Mobile stations (vehicles).
|
||||
• -10: Gateways, digipeaters, or Winlink nodes.
|
||||
• -11: Pure client stations without gateway functionality.
|
||||
• -12: Gateway stations including mesh routing functionality (very common for permanently running master nodes with an internet/Wi-Fi connection).
|
||||
• -13: Weather stations or telemetry sensors.
|
||||
```
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren