From 01a9c2c66a744e3ff7a9d140fb1ae2c75dd2f623 Mon Sep 17 00:00:00 2001 From: Silvano Seva Date: Sat, 7 Oct 2023 20:01:15 +0200 Subject: [PATCH 1/8] Partial reorganization of the codeplug format. Header: - changed the magic field from 64 to 32 bit - extented the version number from 16 to 32 bit Channel: - changed transmit power from dBm to mW, extending the field from 8 to 32 bit - dropped the scan list index field - dropped the group list index field - changed the longitude field from 8 to 16 bit to fix #30 --- binary_cps_format.md | 58 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/binary_cps_format.md b/binary_cps_format.md index 4c0d5e7..e6838ba 100644 --- a/binary_cps_format.md +++ b/binary_cps_format.md @@ -1,6 +1,8 @@ # OpenRTX Binary CPS Format -Authors names go here +Hannes Matuschek DM3MAT +Niccolò Izzo IU2KIN +Silvano Seva IU2KWO ## Copyright notice @@ -42,8 +44,8 @@ The header contains metadata about the codeplug to ensure compatibility with int | Field Name | Data Type | Description | | -------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| magic | uint64_t | Number used to identify the start of a codeplug; this is always "RTXC", i.e. `0x43585452` | -| version_number | uint16_t | Major and minor version of the OBCF standard, constructed as the `(CPS_VERSION_MAJOR << 8) \| CPS_VERSION_MINOR`. Refer to [Version control](#version-control). | +| magic | uint32_t | Number used to identify the start of a codeplug; this is always "RTXC", i.e. `0x43585452` | +| version_number | uint32_t | Major, minor and bufgix version of the OBCF standard, constructed as the `(CPS_VERSION_MAJOR << 16) \| (CPS_VERSION_MINOR << 8) \| (CPS_VERSION_FIX)`. Refer to [Version control](#version-control). | | author | char[32] | User-provided author of the codeplug | | desc | char[32] | User-provided description of the codeplug, max 32 characters | | timestamp | uint64_t | Unix timestamp of when the codeplug was last edited | @@ -57,12 +59,12 @@ This structure is the beginning of the file. The fields are laid out in the foll ``` 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F -0000 |||<-version->|<-author------------ 0010 ----------------------------------------------- -0020 ---------------------------->||<-descr------------- 0030 ----------------------------------------------- -0040 ---------------------------->|||<-timestamp--------> +0050 || -0020 || +0020 || ``` For DMR contacts, this section is laid out in the following manner: ``` 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F -0000 || -0020 |||||||||||||||||||||||| Date: Sun, 8 Oct 2023 11:45:18 +0200 Subject: [PATCH 2/8] Codeplug spec: style: split the CTCSS tone lookup table into four side-by-side tables --- binary_cps_format.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/binary_cps_format.md b/binary_cps_format.md index e6838ba..5c74e52 100644 --- a/binary_cps_format.md +++ b/binary_cps_format.md @@ -215,6 +215,9 @@ CTCSS code frequency support is implemented as the 39 tones defined in ANSI/TIA- ##### CTCSS Code Frequencies Lookup Table + + +
+ | Index | Frequency (Hz) | | ----: | -------------- | | 0 | 67.0 | @@ -230,6 +233,10 @@ CTCSS code frequency support is implemented as the 39 tones defined in ANSI/TIA- | 10 | 94.8 | | 11 | 97.4 | | 12 | 100.0 | + + +| Index | Frequency (Hz) | +| ----: | -------------- | | 13 | 103.4 | | 14 | 107.2 | | 15 | 110.9 | @@ -243,6 +250,10 @@ CTCSS code frequency support is implemented as the 39 tones defined in ANSI/TIA- | 23 | 146.2 | | 24 | 151.4 | | 25 | 156.7 | + + +| Index | Frequency (Hz) | +| ----: | -------------- | | 26 | 159.8 | | 27 | 162.2 | | 28 | 165.5 | @@ -256,6 +267,10 @@ CTCSS code frequency support is implemented as the 39 tones defined in ANSI/TIA- | 36 | 189.9 | | 37 | 192.8 | | 38 | 196.6 | + + +| Index | Frequency (Hz) | +| ----: | -------------- | | 39 | 199.5 | | 40 | 203.5 | | 41 | 206.5 | @@ -267,6 +282,8 @@ CTCSS code frequency support is implemented as the 39 tones defined in ANSI/TIA- | 47 | 241.8 | | 48 | 250.3 | | 49 | 254.1 | +
#### Layout From edce4b3a7a87228f4ba3bfc3a20a3b1e5cb41173 Mon Sep 17 00:00:00 2001 From: Silvano Seva Date: Sun, 8 Oct 2023 14:26:29 +0200 Subject: [PATCH 3/8] Codeplug spec: minor changes to the text, explicited the bitfield values. --- binary_cps_format.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/binary_cps_format.md b/binary_cps_format.md index 5c74e52..0d15d0a 100644 --- a/binary_cps_format.md +++ b/binary_cps_format.md @@ -1,16 +1,16 @@ -# OpenRTX Binary CPS Format +# OpenRTX Binary Codeplug Format -Hannes Matuschek DM3MAT -Niccolò Izzo IU2KIN -Silvano Seva IU2KWO +Hannes Matuschek DM3MAT +Niccolò Izzo IU2KIN +Silvano Seva IU2KWO ## Copyright notice -Copyright (c) 2023 the persons and organizations identified as authors. All rights reserved. +Copyright (c) 2023 the people and organizations identified as authors. All rights reserved. ## Introduction -The OpenRTX Binary CPS Format (OBCF) is a binary data format for storing radio configurations in an easy-to-use and platform-agnostic way while providing support for modern amateur-radio use cases like M17. This format is utilized in radio codeplugs constructed using a customer programming software (CPS) and loaded directly to radio transceivers. +The OpenRTX Binary Codeplug Format (OBCF) is a binary data format for storing radio configurations in an easy-to-use and platform-agnostic way while providing support for modern amateur-radio use cases like M17. This format is utilized in radio codeplugs constructed using a customer programming software (CPS) and loaded directly to radio transceivers. ### Objectives @@ -47,7 +47,7 @@ The header contains metadata about the codeplug to ensure compatibility with int | magic | uint32_t | Number used to identify the start of a codeplug; this is always "RTXC", i.e. `0x43585452` | | version_number | uint32_t | Major, minor and bufgix version of the OBCF standard, constructed as the `(CPS_VERSION_MAJOR << 16) \| (CPS_VERSION_MINOR << 8) \| (CPS_VERSION_FIX)`. Refer to [Version control](#version-control). | | author | char[32] | User-provided author of the codeplug | -| desc | char[32] | User-provided description of the codeplug, max 32 characters | +| desc | char[32] | User-provided description of the codeplug | | timestamp | uint64_t | Unix timestamp of when the codeplug was last edited | | ct_count | uint16_t | Number of stored contacts, used for memory offsets | | ch_count | uint16_t | Number of stored channels, used for memory offsets | @@ -107,7 +107,7 @@ This structure is the beginning of the file. The fields are laid out in the foll | Field | Data Type | Description | | ---------------- | --------- | ---------------------------------------------------------------------------------------------------- | | id | uint32_t | DMR ID | -| contact_settings | uint8_t | Combination of the contact type (two bits), rx tone enable/disable (one bit), and five reserved bits | +| contact_settings | uint8_t | Bit 0:1 contact type. Bit 2 rx tone enable/disable. Bit 3:7 reserved | #### Layout @@ -168,18 +168,18 @@ For DMR contacts, this section is laid out in the following manner: #### fmInfo_t type description -| Field | Data Type | Description | -| ------ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| rxTone | uint8_t | whether a ctcss tone should be used on to control squelch on receive and at which frequency, represented by its index from [CTCSS Code Frequencies Lookup Table](#ctcss-code-frequencies-lookup-table) with a bitwise OR applied on the highest-order bit indicating enabled/disabled (e.g. disabled 173.8 Hz tone value is `0b00011111`) | -| txTone | uint8_t | whether a ctcss tone should be used on transmit and at which frequency, represented by its index from [CTCSS Code Frequencies Lookup Table](#ctcss-code-frequencies-lookup-table) with a bitwise OR applied on the highest-order bit indicating enabled/disabled (e.g. enabled 107.2 tone value is 0b10001110) | +| Field | Data Type | Description | +| -------|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| rxTone | uint8_t | Bit 0:6 index of the CTCSS tone for receive squelch as in the [CTCSS Code Frequencies Lookup Table](#ctcss-code-frequencies-lookup-table). Bit 7 enable/disable receive tone squelch. (e.g. disabled 173.8 Hz tone value is `0b00011111`) | +| txTone | uint8_t | Bit 0:6 index of the CTCSS tone to be transmitted as in the [CTCSS Code Frequencies Lookup Table](#ctcss-code-frequencies-lookup-table). Bit 7 enable/disable tone transmission.(e.g. enabled 107.2 tone value is `0b10001110)` | #### dmrInfo_t type description -| Field | Data Type | Description | -| ------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| colorCode | uint8_t | RX and TX colour codes used, as defined by [ETSI TS 102 361-1 Table 9.18](https://www.etsi.org/deliver/etsi_ts/102300_102399/10236101/02.02.01_60/ts_10236101v020201p.pdf), with the RX value represented in the first half (e.g. RX colour code 0 and TX colour code 15 would be represented as `0b00001111`) | -| dmr_timeslot | uint8_t | Timeslot being used, represented in integer form (e.g. timeslot 2 is `0b00000010`) | -| contact_index | uint16_t | Index to retrieve contact from list for reverse lookups | +| Field | Data Type | Description | +| ------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| colorCode | uint8_t | RX and TX colour codes used, as defined by [ETSI TS 102 361-1 Table 9.18](https://www.etsi.org/deliver/etsi_ts/102300_102399/10236101/02.02.01_60/ts_10236101v020201p.pdf).
Bit 0:3 RX colour code. Bit 4:7 TX colour code. (e.g. RX colour code 0 and TX colour code 15 would be represented as `0b00001111`) | +| dmr_timeslot | uint8_t | Timeslot being used, represented in integer form (e.g. timeslot 2 is `0b00000010`) | +| contact_index | uint16_t | Index to retrieve contact from list for reverse lookups | #### m17Info_t type description From d984b901d8a3cc231b56e92d093fbb004efb62b5 Mon Sep 17 00:00:00 2001 From: Silvano Seva Date: Sun, 8 Oct 2023 14:32:34 +0200 Subject: [PATCH 4/8] Partial reorganization of the codeplug format: Contacts: - extended info field to 15 bytes, padding the structure to 48 byte and to leave space for future extensions Channels: - extended info to 9 bytes, padding the structure to 96 byte and to leave space for future extensions - dropped the 20kHz channel bandwidth M17 channel info block: - dropped split TX and RX CAN and moved to a unique CAN field - merged CAN and channel mode into the same 8 bit field - merged encryption type and GNSS transmission in the same 8 bit field --- binary_cps_format.md | 58 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/binary_cps_format.md b/binary_cps_format.md index 0d15d0a..f76d9ec 100644 --- a/binary_cps_format.md +++ b/binary_cps_format.md @@ -71,11 +71,11 @@ This structure is the beginning of the file. The fields are laid out in the foll #### Field definition -| Field name | Data Type | Description | -| ---------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| name | char[32] | Display name for the contact | -| mode | uint8_t | Mode that the contact is intended to be used for | -| info | [m17Contact_t](#m17contact_t-type-description) or [dmrContact_t](#dmrcontact_t-type-description) | Either contains the m17 info or the dmr info, as described further below | +| Field name | Data Type | Description | +| ---------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------| +| name | char[32] | Display name for the contact | +| mode | uint8_t | Mode that the contact is intended to be used for | +| info | uint8_t[15] | Mode-specific contact info. See [m17Contact_t](#m17contact_t-type-description) and [dmrContact_t](#dmrcontact_t-type-description) | #### Mode lookup table @@ -119,7 +119,7 @@ For M17 contacts, this section is laid out in the following manner: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0000 |<-name----------------------------------------- 0010 ---------------------------------------------->| -0020 || +0020 ||<-unused----------------->| ``` For DMR contacts, this section is laid out in the following manner: @@ -128,32 +128,32 @@ For DMR contacts, this section is laid out in the following manner: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0000 |<-name----------------------------------------- 0010 ---------------------------------------------->| -0020 |||| ``` ### Channels #### Field descriptions -| Field name | Data Type | Description | -| --------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| mode | uint8_t | Operating mode; refer to [Mode lookup table](#mode-lookup-table) | -| traits | uint8_t | First two bits are channel bandwidth (refer to [Bandwidth lookup table](#bandwidth-lookup-table)), then one bit indicating true if the channel is RX only | -| power | uint32_t | transmit power, in mW -| rx_frequency | uint32_t | RX frequency, in Hz | -| tx_frequency | uint32_t | TX frequency, in Hz | -| name | char[32] | display name for channel | -| descr | char[32] | Description of the channel | -| ch_location | [geo_t](#geo_t-type-description) | transmitter location | -| infoblock | [fmInfo_t](#fminfo_t-type-description), [dmrInfo_t](#dmrinfo_t-type-description), or [m17Info_t](#m17info_t-type-description) | Information block for the channel | +| Field name | Data Type | Description | +| --------------- | ---------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------- | +| mode | uint8_t | Operating mode; refer to [Mode lookup table](#mode-lookup-table) | +| traits | uint8_t | Bit 0:1 channel bandwidth (refer to [Bandwidth lookup table](#bandwidth-lookup-table)). Bit 2 RX only flag. Bit 3:7 reserved | +| power | uint32_t | transmit power, in mW | +| rx_frequency | uint32_t | RX frequency, in Hz | +| tx_frequency | uint32_t | TX frequency, in Hz | +| name | char[32] | display name for channel | +| descr | char[32] | Description of the channel | +| ch_location | [geo_t](#geo_t-type-description) | transmitter location | +| infoblock | uint8_t[9] | Information block for the channel, operating mode dependent. See [fmInfo_t](#fminfo_t-type-description), [dmrInfo_t](#dmrinfo_t-type-description), or [m17Info_t](#m17info_t-type-description) | #### Bandwidth lookup table | Bits | Bandwidth (kHz) | | ---- | --------------- | | 0b00 | 12.5 | -| 0b01 | 20 | -| 0b10 | 25 | +| 0b01 | 25 | +| 0b10 | Reserved | | 0b11 | Reserved | #### geo_t type description @@ -183,12 +183,11 @@ For DMR contacts, this section is laid out in the following manner: #### m17Info_t type description -| Field | Data Type | Description | -| ------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| can | uint8_t | RX and TX channel access numbers (CANs) used, as defined by [M17 Specification section 3.1.3](https://spec.m17project.org/), with the RXvalue represented in the first half (e.g. an RX CAN of 0 and TX CAN of 2 is represented as 0b00000010) | -| mode_encr | uint8_t | Channel operation mode and encryption mode, as defined by [M17 channel modes lookup table](#m17-channel-modes-lookup-table) and [M17 channel encryption lookup table](#m17-channel-encryption-lookup-table) | -| gps_mode | uint8_t | Boolean whether GPS position should be embedded in transmit payload | -| contact_index | uint16_t | Index to retrieve contact from list for reverse lookups | +| Field | Data Type | Description | +| ------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| config | uint8_t | Bit 0:3 channel access number (CAN), as defined by [M17 Specification section 3.1.3](https://spec.m17project.org/). Bit 4:7 channel operation mode, as defined by [M17 channel modes lookup table](#m17-channel-modes-lookup-table) | +| encr_gnss | uint8_t | Bit 0:3 encryption mode, as defined by [M17 channel encryption lookup table](#m17-channel-encryption-lookup-table). Bit 4: embed GPS position in transmit payload. Bit 5:7 reserved | +| contact_index | uint16_t | Index to retrieve contact from list for reverse lookups | #### M17 channel modes lookup table @@ -298,7 +297,7 @@ For DMR channels, this section is laid out in the following manner: 0020 ---------------------------------------->||||| ``` For FM channels, this section is laid out in the following manner: @@ -310,7 +309,7 @@ For FM channels, this section is laid out in the following manner: 0020 ---------------------------------------->||||| ``` For M17 channels, this section is laid out in the following manner: @@ -322,7 +321,7 @@ For M17 channels, this section is laid out in the following manner: 0020 ---------------------------------------->||||| ``` ### Bank Data Offsets @@ -355,6 +354,7 @@ The Bank structure is variable in length depending on the number of channels. So | ch_count | uint16_t | Count of all of the channels in the bank | | channels | uint16_t[n] | The indexes of the channels that are present in the bank | + #### Layout This structure is repeated for each bank present. Its start is immediately after the preceding section, and the memory locations referenced below are relative to that. The final field _channels_ is optional and variable in size depending on the _ch_count_. From 371ac5d40a279896f36fbb8e2b55846e93181599 Mon Sep 17 00:00:00 2001 From: Silvano Seva Date: Sat, 2 Mar 2024 10:43:05 +0100 Subject: [PATCH 5/8] Codeplug spec: minor format changes --- binary_cps_format.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/binary_cps_format.md b/binary_cps_format.md index f76d9ec..e04cd31 100644 --- a/binary_cps_format.md +++ b/binary_cps_format.md @@ -6,7 +6,7 @@ Silvano Seva IU2KWO ## Copyright notice -Copyright (c) 2023 the people and organizations identified as authors. All rights reserved. +Copyright (c) 2023 - 2024 the people and organizations identified as authors. All rights reserved. ## Introduction @@ -79,22 +79,13 @@ This structure is the beginning of the file. The fields are laid out in the foll #### Mode lookup table -| Bits | Value | Notes | -| -----------------------: | -------- | ------------------------------------- | -| `0b00000000` | None | Indeterminate state for compatibility | -| `0b00000001` | FM | Only used for channels | -| `0b00000010` | DMR | | -| `0b00000011` | M17 | | -| `0b00000100..0b11111111` | Reserved | | - -#### DMR contact type lookup table - -| Bits | Value | -| -----: | --------------- | -| `0b00` | Group contact | -| `0b01` | Private contact | -| `0b10` | Broadcast call | -| `0b11` | Reserved | +| Value | Mode | Notes | +| ------: | -------- | ------------------------------------- | +| 0 | None | Indeterminate state for compatibility | +| 1 | FM | Only used for channels | +| 2 | DMR | | +| 3 | M17 | | +| 4 - 255 | Reserved | | #### m17Contact_t type description @@ -109,6 +100,15 @@ This structure is the beginning of the file. The fields are laid out in the foll | id | uint32_t | DMR ID | | contact_settings | uint8_t | Bit 0:1 contact type. Bit 2 rx tone enable/disable. Bit 3:7 reserved | +#### DMR contact type lookup table + +| Bits | Value | +| -----: | --------------- | +| `0b00` | Group contact | +| `0b01` | Private contact | +| `0b10` | Broadcast call | +| `0b11` | Reserved | + #### Layout If there are contacts, this portion will be the second portion of the file. The memory locations listed below are relative to the end of the previous block, being either the header or a previous contact. The fields depend on the type of contact. From faad99f938e4d556bc7af55e1d46086f61daf491 Mon Sep 17 00:00:00 2001 From: Silvano Seva Date: Sat, 2 Mar 2024 11:12:51 +0100 Subject: [PATCH 6/8] Codeplug spec: update geo_t format Updated the format used to store transmitter location: - removed the +500m offset for altitude, converted the value to a signed type - fix an error with negative coordinates close to zero, see #40. --- binary_cps_format.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/binary_cps_format.md b/binary_cps_format.md index e04cd31..1e2cabe 100644 --- a/binary_cps_format.md +++ b/binary_cps_format.md @@ -158,13 +158,11 @@ For DMR contacts, this section is laid out in the following manner: #### geo_t type description -| Field | Data Type | Description | -| ----------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| ch_lat_int | int8_t | Floor of latitude (⌊x⌋; e.g. given latitude of 44.493889, this value is 44) | -| ch_lat_dec | uint16_t | Fractional part of latitude, first rounded to the ten-thousandths, represented as a positive whole number (e.g. given latitude of 44.493889, this value is 4939) | -| ch_lon_int | int16_t | Floor of longitude (⌊x⌋; e.g. given longitude of 11.342778, this value is 11) | -| ch_lon_dec | uint16_t | Fractional part of longitude, first rounded to the ten-thousandths, represented as a positive whole number (e.g. given longitude of 11.342778, this value is 3428) | -| ch_altitude | uint16_t | Altitude of the center of the radiator of the transmitter, stored in meters MSL offset +500 (e.g. 0m would be stored as 500) | +| Field | Data Type | Description | +| ------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| ch_latitude | int32_t | Latitude in decimal degrees, multiplied by 1000. (e.g. given latitude of 44.493889, this value is 44493889) | +| ch_longitude | int32_t | Longitude in decimal degrees, multiplied by 1000. (e.g. given longitude of 110.342778, this value is 110342778) | +| ch_altitude | int16_t | Altitude of the center of the radiator of the transmitter, stored in meters MSL | #### fmInfo_t type description From 3d01d9073c88e3ed1e2f96bda4da2affc8a643e8 Mon Sep 17 00:00:00 2001 From: Silvano Seva Date: Sat, 2 Mar 2024 11:14:58 +0100 Subject: [PATCH 7/8] Codeplug spec: dropped rx tone enable bit from DMR contact info --- binary_cps_format.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/binary_cps_format.md b/binary_cps_format.md index 1e2cabe..a9be611 100644 --- a/binary_cps_format.md +++ b/binary_cps_format.md @@ -95,10 +95,10 @@ This structure is the beginning of the file. The fields are laid out in the foll #### dmrContact_t type description -| Field | Data Type | Description | -| ---------------- | --------- | ---------------------------------------------------------------------------------------------------- | -| id | uint32_t | DMR ID | -| contact_settings | uint8_t | Bit 0:1 contact type. Bit 2 rx tone enable/disable. Bit 3:7 reserved | +| Field | Data Type | Description | +| ---------------- | --------- | ---------------------------------------- | +| id | uint32_t | DMR ID | +| contact_settings | uint8_t | Bit 0:1 contact type. Bit 2:7 reserved. | #### DMR contact type lookup table From 0cec0fc1ed6e08997beebc0da53e7bd607727739 Mon Sep 17 00:00:00 2001 From: Silvano Seva Date: Sat, 2 Mar 2024 11:17:42 +0100 Subject: [PATCH 8/8] Codeplug spec: removed misleading references to contact reverse lookup --- binary_cps_format.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/binary_cps_format.md b/binary_cps_format.md index a9be611..030d148 100644 --- a/binary_cps_format.md +++ b/binary_cps_format.md @@ -177,7 +177,7 @@ For DMR contacts, this section is laid out in the following manner: | ------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | colorCode | uint8_t | RX and TX colour codes used, as defined by [ETSI TS 102 361-1 Table 9.18](https://www.etsi.org/deliver/etsi_ts/102300_102399/10236101/02.02.01_60/ts_10236101v020201p.pdf).
Bit 0:3 RX colour code. Bit 4:7 TX colour code. (e.g. RX colour code 0 and TX colour code 15 would be represented as `0b00001111`) | | dmr_timeslot | uint8_t | Timeslot being used, represented in integer form (e.g. timeslot 2 is `0b00000010`) | -| contact_index | uint16_t | Index to retrieve contact from list for reverse lookups | +| contact_index | uint16_t | Index to retrieve contact info | #### m17Info_t type description @@ -185,7 +185,7 @@ For DMR contacts, this section is laid out in the following manner: | ------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | config | uint8_t | Bit 0:3 channel access number (CAN), as defined by [M17 Specification section 3.1.3](https://spec.m17project.org/). Bit 4:7 channel operation mode, as defined by [M17 channel modes lookup table](#m17-channel-modes-lookup-table) | | encr_gnss | uint8_t | Bit 0:3 encryption mode, as defined by [M17 channel encryption lookup table](#m17-channel-encryption-lookup-table). Bit 4: embed GPS position in transmit payload. Bit 5:7 reserved | -| contact_index | uint16_t | Index to retrieve contact from list for reverse lookups | +| contact_index | uint16_t | Index to retrieve contact info | #### M17 channel modes lookup table