Merge pull request #104 from robojay/ka1pqk-phy

Part II becomes Internet Interface, Codeplug is moved to Appendix
pull/109/head
Steve Miller 2022-04-22 16:04:47 -04:00 zatwierdzone przez GitHub
commit dc8d6a508e
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
8 zmienionych plików z 12 dodań i 116 usunięć

Wyświetl plik

@ -2,7 +2,7 @@
title: Welcome
---
## Part I - Air and IP Interface
## Part I - Air Interface
* [M17 RF Protocol: Summary](/part-1/m17-rf-protocol-summary)
* [Glossary](/part-1/glossary)
* [Physical Layer](/part-1/physical-layer)
@ -17,11 +17,10 @@ title: Welcome
* [Packet Superframes](/part-1/application-layer#packet-superframes)
* [Encryption Types](/part-1/application-layer#encryption-types)
## Part II - Codeplug
* [Recommendation for the codeplug structure](/part-2/codeplug#recommendation-for-the-codeplug-structure)
* [Introduction](/part-2/codeplug#introduction)
* [Codeplug file structure](/part-2/codeplug#codeplug-file-structure)
* [Example Codeplug](/part-2/codeplug#example-codeplug)
## Part II - Internet Interface
* [M17 Internet Protocol (IP) Networking](/part-2/ip-networking)
* [Standard IP Framing](/part-2/ip-networking#standard-ip-framing)
* [Control Packets](/part-2/ip-networking#control-packets)
## Appendix
* [Address Encoding](/appendix/address-encoding)
@ -29,9 +28,6 @@ title: Welcome
* [Callsign Formats](/appendix/address-encoding#callsign-formats)
* [Decorrelator sequence](/appendix/decorrelator-sequence)
* [Interleaving](/appendix/interleaving)
* [M17 Internet Protocol (IP) Networking](/appendix/ip-networking)
* [Standard IP Framing](/appendix/ip-networking#standard-ip-framing)
* [Control Packets](/appendix/ip-networking#control-packets)
* [KISS Protocol](/appendix/kiss-protocol)
* [References](/appendix/kiss-protocol#references)
* [Glossary](/appendix/kiss-protocol#glossary)
@ -40,4 +36,4 @@ title: Welcome
* [Packet Protocols](/appendix/kiss-protocol#packet-protocols)
* [Stream Protocol](/appendix/kiss-protocol#stream-protocol)
* [Mixing Modes](/appendix/kiss-protocol#mixing-modes)
* [Implementation Details](/appendix/kiss-protocol#implementation-details)
* [Implementation Details](/appendix/kiss-protocol#implementation-details)

Wyświetl plik

@ -109,7 +109,7 @@ Bits | Meaning
The LSF META field is defined by the specific application.
##### LSF CRC
##### <span id="lsf-crc">LSF CRC</span>
M17 uses a non-standard version of 16-bit CRC with polynomial $x^{16} + x^{14} + x^{12} + x^{11} + x^8 + x^5 + x^4 + x^2 + 1$ or 0x5935 and initial value of 0xFFFF. This polynomial allows for detecting all errors up to hamming distance of 5 with payloads up to 241 bits, which is less than the amount of data in each frame.

Wyświetl plik

@ -1,9 +1,9 @@
---
title: 'Part I - Air and IP Interface'
title: 'Part I - Air Interface'
taxonomy:
category: docs
---
### Part I
# Air and IP Interface
# Air Interface

Wyświetl plik

@ -28,7 +28,7 @@ StreamID (SID) | 16 bits | Random bits, changed for each PTT or stream, but con
LICH | 224 bits | The meaningful contents of a LICH frame (dst, src, streamtype, META field) as defined earlier.
FN | 16 bits | Frame number (exactly as would be transmitted as an RF stream frame, including the last frame indicator at (FN & 0x8000)
Payload | 128 bits | Payload (exactly as would be transmitted in an RF stream frame)
CRC16 | 16 bits | CRC for the entire packet, as defined earlier [CRC definition](https://spec.m17project.org/part-1/data-link-layer#crc)
CRC16 | 16 bits | CRC for the entire packet, as defined earlier [CRC definition](../../part-1/data-link-layer#lsf-crc)
The CRC checksum must be recomputed after modification or re-assembly of the packet, such as when translating from RF to IP framing.

Wyświetl plik

@ -1,9 +1,9 @@
---
title: 'Part II - Codeplug'
title: 'Part II - Internet Interface'
taxonomy:
category: docs
---
### Part II
# Codeplug
# Internet Interface

Wyświetl plik

@ -1,100 +0,0 @@
---
title: Codeplug
taxonomy:
category:
- docs
---
# Recommendation for the codeplug structure
## Introduction
Codeplugs are ordinary text files with .m17 extension. They provide an information on:
* channel banks
* channel frequencies
* destination IDs
* transmission mode
* payload type
* encryption mode
Codeplugs should be human-readable and easily editable with common text editors.
## Codeplug file structure
We recommend using YAML for the codeplug files.
### Keywords
```
codeplug:
author:
String - Codeplug author, max 16 characters
version:
Date and time in YYYY-MM-DDTHH:MM:SS format
bank:
name:
String - Channel bank name, 16 characters maximum
channel:
name:
String - Channel name, 16 characters maximum
descr:
String - Channel Description, 16 characters maximum
freq_rx:
Integer - Channel RX Frequency in Hz
freq_tx:
Integer - Channel TX Frequency in Hz
mode:
Integer - Channel mode. Valid modes are: 0 - Analog,
1 - Digital Voice, 2 - Digital Data, 3 - Digital Voice and Data
encr:
Integer - Is encryption enabled? 0 for no encryption,
1 - AES256, 2 - scrambler etc. (refer to M17_spec for details)
nonce:
String - 14-byte hex value without leading 0x. nonce for
ciphers or initial LFSR value for scrambler
gps:
Boolean - If true, and mode value enables digital data,
gps data will be transferred along with payload
```
## Example Codeplug
```yaml
codeplug:
author: SP5WWP
version: 2020-28-09T13:20:49
- bank:
name: M17
- channel:
name: M17_DMO
descr:
freq_rx: 439575000
freq_tx: 439575000
mode: 2
encr: 0
nonce: 0
gps: false
- channel:
name: M17_DMO_2
descr:
freq_rx: 439975000
freq_tx: 439975000
mode: 2
encr: 0
nonce: 0
gps: false
- bank:
name: Repeaters
- channel:
name: SR5MS
descr:
freq_rx: 439425000
freq_tx: 431825000
mode: 2
encr: 0
nonce: 0
gps: false
#codeplug end
```