continued modem protocol documentation;

pull/75/head
Bryan Biedenkapp 1 year ago
parent 520847a0bf
commit 6094c4dec0

@ -322,9 +322,9 @@ This table defines the reasons a negative acknowledgement may be sent.
|11 |11
|Sent by either Set Configuration or Set Mode command to indicate a mode was specified that is invalid. |Sent by either Set Configuration or Set Mode command to indicate a mode was specified that is invalid.
|Invalid DMR CC |Invalid DMR Color Code
|12 |12
| |Sent by the Set Configuration command typically, if the DMR color code is out of range.
|Invalid DMR Slot |Invalid DMR Slot
|13 |13
@ -506,7 +506,172 @@ Upon reception, the modem shall transmit in response:
|=== |===
==== 2.4.3 Set Configuration ==== 2.4.3 Set Configuration
*TODO TODO TODO* This opcode is utilized to set the general configuration of the modem.
The host shall transmit:
[cols="2,1,2"]
|===
|Name |Length (bytes) |Description
|Short Frame Start
|1
|Short Frame Start
|Length
|24
|Length
|Set Configuration Opcode
|1
|$02
|Flags 1 Byte
|1
|This flags byte represents various states (see below).
|Flags 2 Byte
|1
|This flags byte represents various states (see below).
|FDMA Preamble Length
|1
|
|Initial Mode
|1
|This sets the initial mode of the modem, the mode can be changed with Set Mode at any time.
|Rx Level
|1
|
|CW ID Tx Level
|1
|
|DMR Color Code
|1
|
|DMR Rx Delay
|1
|
|P25 NAC
|2
|
|DMR Tx Level
|1
|
|P25 Correlation Count
|1
|
|P25 Tx Level
|1
|
|Tx DC Offset
|1
|
|Rx DC Offset
|1
|
|NXDN Tx Level
|1
|
|Rx Coarse Softpot Setting
|1
|This currently only applies to DVMV1 modems.
|Rx Fine Softpot Setting
|1
|This currently only applies to DVMV1 modems.
|Tx Coarse Softpot Setting
|1
|This currently only applies to DVMV1 modems.
|Tx Fine Softpot Setting
|1
|This currently only applies to DVMV1 modems.
|RSSI Coarse Softpot Setting
|1
|This currently only applies to DVMV1 modems.
|RSSI Fine Softpot Setting
|1
|This currently only applies to DVMV1 modems.
|===
[discrete]
==== Flags 1 Byte
[cols="2,1,2"]
|===
|Name |Flag Bit |Description
|Rx Invert
|$01
|
|Tx Invert
|$02
|
|PTT Invert
|$04
|
|Modem Debug
|$10
|
|Simplex Operation
|$80
|
|===
[discrete]
==== Flags 2 Byte
[cols="2,1,2"]
|===
|Name |Flag Bit |Description
|DC Blocker
|$01
|
|COS Lockout
|$04
|
|DMR Enabled
|$02
|
|P25 Enabled
|$08
|
|NXDN Enabled
|$10
|
|===
Upon reception, the modem shall perform whatever operations necessary to transition to the requested mode and transmit a ACK or NACK in response.
If the operation fails the modem shall:
* Respond with a NACK and the "Illegal Length" if packet from the host is improperly sized.
* Respond with a NACK and the "Invalid FDMA Preamble" if the FDMA preamble parameter is out of range.
* Respond with a NACK and the "Invalid DMR Color Code" if the DMR color code is out of range.
* Respond with a NACK and the "Invalid DMR Rx Delay" if the DMR receive delay is out of range.
* Respond with a NACK and the "Invalid P25 Correlation Count" if the P25 correlation count is out of range.
==== 2.4.4 Set Mode ==== 2.4.4 Set Mode
This opcode is utilized to set the operational mode of the modem. This opcode is utilized to set the operational mode of the modem.
@ -536,13 +701,161 @@ The host shall transmit:
Upon reception, the modem shall perform whatever operations necessary to transition to the requested mode and transmit a ACK or NACK in response. Upon reception, the modem shall perform whatever operations necessary to transition to the requested mode and transmit a ACK or NACK in response.
==== 2.4.5 Set Symbol Level Adjustment ==== 2.4.5 Set Symbol Level Adjustment
*TODO TODO TODO* This opcode is utilized to set the symbol level adjustments on the modem.
The host shall transmit:
[cols="2,1,2"]
|===
|Name |Length (bytes) |Description
|Short Frame Start
|1
|Short Frame Start
|Length
|9
|Length
|Set Symbol Level Adjustment Opcode
|1
|$04
|DMR +3/-3 Symbol Level Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|DMR +1/-1 Symbol Level Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|P25 +3/-3 Symbol Level Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|P25 +1/-1 Symbol Level Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|NXDN +3/-3 Symbol Level Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|NXDN +1/-1 Symbol Level Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|===
Upon reception, the modem shall perform whatever operations necessary to set the Rx level and transmit a ACK or NACK in response.
If the operation fails the modem shall:
* Respond with a NACK and the "Illegal Length" if packet from the host is improperly sized.
* Respond with a NACK and the "Invalid Request" if parameters are out of range.
==== 2.4.6 Set Rx Level Adjustment ==== 2.4.6 Set Rx Level Adjustment
*TODO TODO TODO* This opcode is utilized to set the Rx level on the modem.
The host shall transmit:
[cols="2,1,2"]
|===
|Name |Length (bytes) |Description
|Short Frame Start
|1
|Short Frame Start
|Length
|4
|Length
|Set Rx Level Opcode
|1
|$05
|Rx Level
|1
|
|===
Upon reception, the modem shall perform whatever operations necessary to set the Rx level and transmit a ACK or NACK in response.
If the operation fails the modem shall:
* Respond with a NACK and the "Illegal Length" if packet from the host is improperly sized.
==== 2.4.7 Set RF Parameters (Hotspot Only) ==== 2.4.7 Set RF Parameters (Hotspot Only)
*TODO TODO TODO* This opcode is utilized to set the RF parameters for a hotspot modem.
The host shall transmit:
[cols="2,1,2"]
|===
|Name |Length (bytes) |Description
|Short Frame Start
|1
|Short Frame Start
|Length
|18 or 22
|Length of 18 does not set AFC parameters, length of 22 sets AFC parameters.
|Set RF Parameters Opcode
|1
|$06
|Rx Frequency (in Hz)
|4
|
|Tx Frequency (in Hz)
|4
|
|Tx Power (value from 0 to 255)
|1
|
|DMR Discriminator Bandwidth Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|P25 Discriminator Bandwidth Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|DMR Post Demodulation Bandwidth Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|P25 Post Demodulation Bandwidth Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|AFC Gain Mode
|1
|This represents the AFC gain mode: 0 = Auto, 1 = Auto (Linear), 2 = Low, 3 = High.
|NXDN Discriminator Bandwidth Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|NXDN Post Demodulation Bandwidth Adjustment
|1
|This is a unsigned value of 0 to 255 representing an adjustment of -128 to 128.
|AFC Enable, KI and KP
|1
|This value represents whether or not AFC is enabled ($80 bit), the AFC KI (lower 4 bits), the AFC KP (upper 4 bits).
|AFC Range
|1
|
|===
Upon reception, the modem shall perform whatever operations necessary to set the RF parameters and transmit a ACK or NACK in response.
If the operation fails the modem shall:
* Respond with a NACK and the "Illegal Length" if packet from the host is improperly sized.
* Respond with a NACK and the "Invalid Request" if parameters are out of range.
==== 2.4.8 Calibration Data ==== 2.4.8 Calibration Data
*TODO TODO TODO* *TODO TODO TODO*
@ -551,10 +864,81 @@ Upon reception, the modem shall perform whatever operations necessary to transit
*TODO TODO TODO* *TODO TODO TODO*
==== 2.4.10 Send CWID ==== 2.4.10 Send CWID
*TODO TODO TODO* This opcode is utilized to transmit a CW ID morse message from the modem.
The host shall transmit:
[cols="2,1,2"]
|===
|Name |Length (bytes) |Description
|Short Frame Start
|1
|Short Frame Start
|Length
|4 or More
|Length, the length is typically 3 + the length of the CWID to send.
|Send CWID Opcode
|1
|$0A
|...
|...
|...
|CWID Letters
|1
|
|...
|...
|...
|===
Upon reception, the modem shall perform whatever operations necessary to transmit a CWID with the given letters and transmit a ACK or NACK in response.
If the operation fails the modem shall:
* Respond with a NACK and the "Illegal Length" if packet from the host is improperly sized.
==== 2.4.11 Set FIFO Buffers ==== 2.4.11 Set FIFO Buffers
*TODO TODO TODO* This opcode is utilized to set the size of the FIFO buffers on the modem.
The host shall transmit:
[cols="2,1,2"]
|===
|Name |Length (bytes) |Description
|Short Frame Start
|1
|Short Frame Start
|Length
|6
|Length
|Set FIFO Buffers Opcode
|1
|$0F
|DMR Buffer Size
|2
|This is a unsigned 16-bit value representing the FIFO buffer size.
|P25 Buffer Size
|2
|This is a unsigned 16-bit value representing the FIFO buffer size.
|NXDN Buffer Size
|2
|This is a unsigned 16-bit value representing the FIFO buffer size.
|===
Upon reception, the modem shall perform whatever operations necessary to resize the FIFO buffers and transmit a ACK or NACK in response.
If the operation fails the modem shall:
* Respond with a NACK and the "Illegal Length" if packet from the host is improperly sized.
* Respond with a NACK and the "Invalid Mode" if buffers are attempted to be resized while not in an IDLE state.
==== 2.4.12 Acknowledgement ==== 2.4.12 Acknowledgement
This opcode is utilized by the modem to notify the host of a positive acknowledgement of a command. This opcode is utilized by the modem to notify the host of a positive acknowledgement of a command.
@ -654,7 +1038,35 @@ The modem shall transmit:
|=== |===
==== 2.4.15 Flash Write ==== 2.4.15 Flash Write
*TODO TODO TODO* This opcode is utilized to write data from the modem's configuration partition on the flash.
The host shall transmit:
[cols="2,1,2"]
|===
|Name |Length (bytes) |Description
|Short Frame Start
|1
|Short Frame Start
|Length
|254
|Length
|Flash Write Opcode
|1
|$E1
|Flash Data
|<Variable>
|...
|===
Upon reception, the modem shall perform whatever operations necessary to write data to the flash and transmit a ACK or NACK in response.
If the flash operation fails the modem shall:
* Respond with a NACK and the "Flash Write Too Big" if more then 254 bytes are attempted to be written.
* Respond with a NACK and the "Flash Write Failed" if a write error occurs.
==== 2.4.16 Reset MCU ==== 2.4.16 Reset MCU
This opcode is utilized to reboot the MCU of the modem. This opcode is utilized to reboot the MCU of the modem.

Loading…
Cancel
Save

Powered by TurnKey Linux.