MGL Avionics V16 User manual

MGL Avionics
V16 Aviation band transceiver
ICD V1

Table of Contents
MGL Avionics V16 transceiver communications protocols.........................................................3
Version....................................................................................................................................3
The legal stuff..........................................................................................................................3
General........................................................................................................................................3
Frequencies.................................................................................................................................4
S232 protocol...................................................................................................................5
General message format:...................................................................................................5
Commands:........................................................................................................................5
Format of Acknowledge message (sent by transceiver)....................................................8
Format of status message (sent by transceiver every 100mS unless setup menu is
active).................................................................................................................................8
Format of the Setup menu message (sent every 200mS if setup menu active)................9
Technical string.................................................................................................................10
CAN bus protocol......................................................................................................................10
Messages from the V16........................................................................................................10
Status message................................................................................................................10
Menu item message..........................................................................................................11
Technical string.....................................................................................................................12
Messages to the V16........................................................................................................12

MGL Avionics V16 transceiver communications protocols
Version
This document contains preliminary information on the binary communications protocol used
by MGL Avionics VHF airband V16 transceivers.
MGL Avionics does not guarantee correctness of this document. MGL Avionics reserves the
right to change any part of the specification at any time without notice.
The legal stuff
The text in this document is provided in good faith and not subject to written and signed NDA
agreements.
A legal entity implementing this protocol or parts of this protocol agrees to hold MGL Avionics
CC free of liability for any and all consequent liability or claims arising out of use of any and all
information made available in this document.
Any entity making use of this information does so at their own risk and liability.
These conditions are not negotiable and will not be waived. Should the entity not accept these
conditions MGL Avionics does not grant the right to use any of this information in any way.
Usage of this information constitutes acceptance of a legally binding contract in the spirit of
information placed in the public domain for the common good. It follows that any action
against MGL Avionics CC in this context is considered a breach of contract immediately
negating the right to use this information.
General
Communications takes place via S232 or via CAN bus or both
S232 settings
9600 Baud
8 Data bits
1 Stop bit
No parity
CAN bus settings
11 bit identifiers
250KBaud
The transceiver transmits regular status messages containing sufficient information to build a
typical display image. The status message is transmitted every 100mS. During special
conditions the status message is sent every 200mS inter spaced with a setup information or
technical information message every 200mS (so the overall message rate remains at
100mS).

Messages to the transceiver consist of commands. Most commands result in transmission of
an acknowledgment when the command has been received with a matching checksum.
Exceptions to this are the PTT command (no response).
PTT command has to be sent every 100 mS to keep PTT active.
Command messages containing frequency request that are not within the permitted airband
or illegal channel frequencies are ignored and not acknowledged.
The V16 provides two S232 ports and one CAN bus. Only S232 port 1 supports this
protocol. S232 port 2 is reserved for special functions.
Frequencies
Frequencies are transmitted as 4 byte unsigned integer values in the S232 protocol and 3
byte integer values in the CAN bus protocol,
Frequency values consist of MHZ and 100's of Khz plus a channel number within the 100Khz
band.
Values N=0-15 give the channel where channels 1,2,3,5,6,7,9,10,11,13,14,15 are 8.33Khz
channels and 0,4,8,12 are the 25Khz spaced channels.
Using published frequencies 8.33Khz channels from 0 to 15 correspond:
N ICAO KHZ
0 0 0 25Khz bandwidth
1 5 0
2 10 8.333
3 15 16.666
4 25 25.000 25Khz bandwidth
5 30 25.000
6 35 33.333
7 40 41.666
8 50 50.000 25Khz bandwidth
9 55 50.000
10 60 58.333
11 65 66.666
12 75 75.000 25Khz bandwidth
13 80 75.000
14 85 83.333
15 90 91.666
Examples:
25Khz channel 127.175MHZ = 127112
8.33Khz channel 120.235Mhz = 120206 (actual frequency 120.233333 MHZ)

Note that 4 channels operate on two identical frequencies (0,25,50,75) and (5,30,55,80)
respectively. The V16 switches internal X and TX bandwidths accordingly so be sure to
request the correct version as needed.
S232 protocol
General message format:
02 STX
05 DLE
CC Command
D0 1 to n bytes of data
...
Dn
CKS Checksum
Checksum is a linear XO of the message contents from Command to the last data byte.
The result of this is XO 'ed with the value of $55.
This form of checksum is also known as longitudinal checksum or 8 bit parity.
Note: This protocol is based on the protocol used by the MGL Avionics V6 and V10
transceivers. Note that the commands and status messages are not all identical.
Example S232 message to set standby frequency (values are in HEX)
02 05 01 18 F0 01 00 E8
The value E8 is the checksum and the frequency requested is 127.000 MHZ (0x1F018).
Commands:
00 Set active frequency
D0 Frequency, binary, LSB first
.... Sets frequency if TX is not active, if active will cause change of frequency
D3 to new value when TX ends.
Note: Frequency must be a valid frequency. Invalid frequencies will be ignored and no
acknowledge will be sent for the message.
Sends acknowledge when message received OK
01 Set standby frequency
D0 Frequency, binary, LSB first
....
D3

Note: Frequency must be a valid frequency. Invalid frequencies will be ignored and no
acknowledge will be sent for the message.
Sends acknowledge when message received OK
02 Increase X and Intercom volume (3dB), If they are different they will be set to
the same value as the intercom volume.
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
03 Decrease X and IC volume (3dB), If they are different they will be set to
the same value as the intercom volume.
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
04 Set X and Intercom volume
00 Volume value 0-31 (lowest to highest)
Sends acknowledge when message received OK
05 Increase squelch
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
06 Decrease squelch
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
07 Set squelch
00 Squelch value 0-31 (lowest to highest)
Sends acknowledge when message received OK
08 Set scanning on/off
00 0 = scanning off
1 = scanning on
Sends acknowledge when message received OK
09 Playback request
00 Don't care data value (recommend to set to zero)
Note: If this message is received while playback of last X is not active, it will activate

playback of the last X. If it is received while a playback is active the playback pointer moves
to the message before that and so forth until the last stored message. If no message is
available for a request playback terminates (Playback also terminates at any time if a new X
is received).
Sends acknowledge when message received OK
11 PTT
00 Bit 0 = Pilot PTT. 1=active, 0=not active
Bit 1 = PAX PTT. 1-active, 0=not active
This message must be sent every 100 mS to keep a PTT active. It will timeout and cancel any
active PTT after 300mS if no further PTT command is received.
When the PTT is to be released it is recommended that at least one message is sent with the
corresponding PTT bit set to zero so the TX is released immediately.
There is no need to send this message when no PTT is active.
This command does not reply with an acknowledge message !!!
18 Flip active and standby frequencies
00 Don't care (recommend to set to zero)
Sends acknowledge when message received OK
20 Setup menu control
nn 0: Setup de-activate (power on state)
1: Setup activate
2: Menu up (previous item) – wraps to end of menu.
3: Menu down (next item) = wraps to start of menu.
4: Change value of current menu item UP, ON, YES or flip state
5: Change value of current menu item DOWN, OFF, NO or flip state
6: Technical setup de-activate (power on state)
7: Technical setup activate
If the V16 is placed in setup menu mode it will automatically cancel this mode if no activity
within 60 seconds related to the Menu.
If the menu is active the Setup menu message will be sent every 200mS interspaced with the
normal status message. The Setup message contains information on the nature of the current
setup item and an ascii text message suitable for display on a control head or EFIS. The
control head does not require any specific knowledge of the attached device. It simply
activates the menu and displays the text to the user. The user navigates the menu and
changes values using the above commands.
Technical setup should never be entered without detailed knowledge and required special
equipment. The Technical menu includes a number of calibration items that should never be
changed during the life of the V16 unless certain repairs have been carried out. DO NOT
CHANGE ANY OF THESE ITEMS unless you have the required equipment and knowledge of

the procedures required.
No acknowledge is sent in response to these commands
26 Increase Intercom volume (3dB).
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
27 Decrease intercom volume (3dB).
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
28 Set Intercom volume
nn Volume value 0-31 (lowest to highest)
Sends acknowledge when message received OK
29 Increase X volume (3dB).
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
30 Decrease X volume (3dB).
00 Don't care data value (recommend to set to zero)
Sends acknowledge when message received OK
31 Set X volume
nn Volume value 0-31 (lowest to highest)
Sends acknowledge when message received OK
Format of Acknowledge message (sent by transceiver)
$02 $05 $06 $53 (full message including checksum)
Format of status message (sent by transceiver every 100mS unless setup
menu is active)
02 STX
05 DLE
04 Message type
nn Flags
Bit 0 – 1 = TX is active
Bit 1 – 1 = Scanning is active

Bit 2 – 1 = X on active frequency
Bit 3 – 1 = X on standby frequency
Bit 4 – 1 = Stuck PTT (PTT active for more than 34 seconds, TX canceled)
nn Status
Bit 0 – 1 = Fault detected
Bit 1 – 1 = Partial shutdown due to unfavorable operating condition
Bit 2 – 1 = TX power reduced due to heat
Bit 3 – 1 =TX Power reduced due to low operating voltage
Bit 4 – 1 = Bad antenna match, TX power possibly reduced
Note: TX related flags are only active during TX
nn Current X volume 0-31
nn Current Intercom volume 0-31
nn Current squelch 0-31
n0 Active frequency (4 bytes, LSB first)
....
n3
n0 Standby frequency (4 bytes, LSB first)
....
n3
nn TX power measured at F connector via directional coupler in 10th of a watt.
nn VSW measured via directional coupler in 10th of a unit at F connector.
nn X signal level on active frequency in dBm relative to -140dbm.
nn X signal level on standby frequency in dBm relative to -140dbm. Note: Only
valid is scanning is active.
nn TX modulation level 0-63 (63 equals about 70% modulation index)
nn Temperature at TX power stage in degrees C relative to -50 degrees.
nn Supply voltage in 10th of a volt relative to +5.0 volts.
CKS Checksum
Format of the Setup menu message (sent every 200mS if setup menu
active)
02 STX
05 DLE
01 Message type
nn Length of this message
nn Setup type
nn Minimum permitted value
nn Maximum permitted value
nn Current value
xx String of ascii characters preceeded by a byte containing number of ascii
characters in string.
CKS Checksum
Setup types: 0 Setup has no value to change. For example, “set to factory default”. In
this case you could send Menu command “menu item UP” to activate the
function.
1 The most common. Minimum and maximum values are valid and you can

change the value using the Up and Down commands.
2 This is not currently used. Treat as reserved value.
3 Menu item flips between two states. Use either UP or Down to select the
desired state.
Length of this message field – This field contains the number of bytes in the message
excluding the STX, DLE, Message type, length of message and checksum. It works out to
the number of ASCII characters in the string + 5. It is used by the receiver to count the
number of bytes until end of message.
Note that the string itself contains as first byte the number of characters in the string (Pascal
“Shortstring” format).
Technical string
This message is sent on condition to convey further information. It is only used during
technical work using dedicated diagnostics equipment.
02 STX
05 DLE
02 Message type
nn Number of ASCII characters in string
xx ASCII characters of string
CKS Checksum
CAN bus protocol
The CAN bus protocol is a duplication of the information on the S232 protocol packaged into
suitable CAN message packets. Each packet may contain up to 8 bytes of data.
CAN packets are identified by address in a CAN network. The address scheme used
conforms to the 11 bit message ID standard CAN protocol as well as to the scheme used with
MGL Avionics CAN bus equipment.
The ID takes the value 0x44n for COM1 and 45n for COM2 where “n” can be a value from 0
to 15 depending on message type. Setting a V16 to COM1 or COM2 is done via dedicated
CAN command described in this section.
The MGL addressing scheme uses the upper 7 bits of the ID as device identifier and the lower
4 bits to identify specific functions or message types local to that device.
Messages from the V16
Status message
The status message is split over 3 packets send in order every 100mS or 200mS if the menu
is active.
For a description on each item please refer to the text in the S232 protocol related to the
status message.

ID 0x4n0 Status packet 1, length 8 bytes
Byte 0 Message type = 0
Byte 1 Flags
Byte 2 Status
Byte 3 X Volume
Byte 4 Intercom Volume
Byte 5 X Squelch
Byte 6 TX power
Byte 7 VSW
ID 0x4n0 Status packet 2, length 7 bytes
Byte 0 Message type = 1
Byte 1-3 Active frequency, three bytes, LSB first
Byte 4 Active frequency X level
Byte 5 Standby frequency X level
Byte 6 Modulation index
ID 0x4n0 Status packet 3, length 6 bytes
Byte 0 Message type = 2
Byte 1-3 Standby frequency, 3 bytes, LSB first
Byte 4 Temperature
Byte 5 Voltage
Menu item message
The menu item message is sent every 200mS as a block of packets in order alternating with
the status messages.
The menu message is sent only if the menu is active. For details please see the description in
the S232 protocol related to the menu system.
ID 0x4n1 Menu packet 1, length 8 bytes
Byte 0 Message type = 0
Byte 1 Setup type
Byte 2 Minimum value
Byte 3 Maximum value
Byte 4 Current value

Byte 5 Length of ascii string in bytes
Byte 6 1st character of string
Byte 7 2nd character of string
ID 0x4n1 Subsequent menu packet(s), length 2 to 8 bytes
Byte 0 Message type – 1,2,3,4,5 (maximum 31 characters in string, 7 per packet)
Byte 1-7 emaining characters of string to a maximum of 7 characters.
Technical string
This message is sent on condition to convey further information. It is only used during
technical work using dedicated diagnostics equipment.
ID 0x4n2 Subsequent menu packet(s), length 2 to 8 bytes
Byte 0 Message type – 0
Byte 1 Length of string in bytes
Byte 2-7 Up to 6 characters of string
ID 0x4n2 Subsequent technical text packet(s), length 2 to 8 bytes
Byte 0 Message type – 1-9 (maximum 63 characters in string, 7 per packet)
Byte 1-7 emaining characters of string to a maximum of 7 characters.
Messages to the V16
V16 controllers use the assigned CAN ID 0x48n where “n” is a message type identifier.
Multiple control heads will use the SAME ID.
ID 0x480 Length variable (minimum 1 byte)
Byte 0 Command ID
Byte 1-7 Optional data for command
Note: the V16 checks the length of a received CAN packet and will only accept packets that
have the correct length for a given command. Do not pad a packet. Send it at the correct
length.
Command Length Function
0 4 Set active frequency (three bytes, LSB first)
1 4 Set standby frequency (three bytes, LSB first)

2 1 Flip active and standby frequencies
3 1 X and intercom volume UP 3db
4 1 X and intercom volume DOWN 3db
5 2 Set X and intercom volume. Value 0-31.
6 1 X volume UP 3db
7 1 X volume DOWN 3db
8 2 Set X volume. Value 0-31.
9 1 Intercom volume UP 3db
10 1 Intercom volume DOWN 3db
11 2 Intercom volume. Value 0-31.
12 1 X Squelch UP
13 1 X Squelch DOWN
14 2 Set X Squelch. Value 0-31.
15 2 Set scanning. 0 = inactive, any other value = active.
16 1 Flip scanning state (active ↔ inactive)
17 2 PTT activation. Bit 0 = PTT Pilot. Bit 1 – PTT PAX. 1=active.
Please see S232 protocol description on this for details.
18 2 Setup menu functions. Please see S232 protocol description for
details on this.
19 1,2,6 Beep control. Activates a beep tone sequencer for headset output.
If length 1 = single beep, 40mS
if length 2 = if data=0 then stop any beep active.
If length 6 = First data byte = 1, bytes 2,3,4,5 are beep pattern, LSB
first, Each “1” is beep active. Data byte 6 is duration of every bit in
pattern in milliseconds. Pattern play starts with bit 0 of pattern.
20 1 Playback function. Please see description in S232 protocol on this
function.
Other manuals for V16
2
Table of contents
Other MGL Avionics Transceiver manuals