Communications Protocol
Data acquisition and control of Axium equipment is performed by home automation systems or
personal computers using a special protocol developed by Axium. This document explains the protocol
itself and the low level transport.
1. Transport
1.1.
RS-232
The lead must be a straight wired cable, except on the AX4752 and prior models this was a “null
modem”, which is a 9 pin female ‘D’ connectors at both ends (pin connections 2 and 3 swapped at one
end). Only RX, TX & 0V (pin 5) are used. Baud Rate = 9600.
Each byte in the command is encoded into two ASCII encoded hexadecimal characters. A line feed
signals the end of the command. The carriage return that is typically used in combination with the line
feed is optional and is ignored. XON and XOFF (characters 11h and 13h) are used for flow control
where the XOFF state times out after approximately 1.5 seconds in order to prevent an inadvertent
system lock up.
If the device that is receiving a command is capable of transmission, it should transmit the command
back to the originator. This is required because of connection issues with RS-232. For example a PC's
TX is connected to an amplifier's RX and the amplifier's TX is connected to a keypad and the PC's RX.
For the PC to communicate successfully with the keypad, all that arrives on the amplifier's RX must be
sent back out its TX. To avoid possible endless cycles, the device originally sending a command must
ignore the command if it is received again.
1.2.
USB
Previously the CDC class (abstract control model) was employed to emulate RS-232, enabling
software to interact with devices supporting USB theoretically without need of change. However from
the AX-800DAV onwards a proprietary protocol is in use.
1.3.
Axium Bus
The Axium bus is based on the I²C bus and allows multiple devices to be attached to a common bus.
All transmissions are performed using multi-master mode and take the following form:
<start bit><address byte><command data><stop bit>
The address byte is a requirement of the I²C bus. 7 bit address mode is used and the R/W bit is
always 0 (always writing). Address 30h is used for the Axium protocol (02h was used by older devices
until this address was declared as being reserved). Other addresses are used such as 3Ah (for
Ethernet packets) and 20h (for transmission preambles to ensure collision free access to the bus).
Other devices using different protocols can be connected to the Axium bus if they use different
addresses and support multi-master mode.
1.4.
Infrared
The infrared interface allows Axium devices to be controlled using the Axium Communications
Protocol. It is not suitable for two-way communications unless combined with RS232 or the Axium bus.
The modulation frequency is 44.1 kHz and all bursts of IR are 1ms in length. The length of the pauses
between the IR bursts is what contains the data. The first pause is 3ms and represents the start bit. All
following pauses are either 1ms or 2ms, which represent logic 0 and logic 1 respectively. Each IR
stream takes the following form:
<start bit><product ID><command data><checksum><stop bit>
The product ID is a three bit code and is 001 for Axium Amplifiers.
The checksum is built using the command data: the sum of each byte in the command plus the
checksum must equal zero. The stop bit is represented by a 15ms pause before there is any further IR
activity. A receiver can however decide as soon as 4ms after IR activity has ceased that the packet is
complete.
1.5.
Ethernet
On Ethernet equiped devices, commands can also be sent via Ethernet in the same format as RS232
commands to TCP port 17037. However unlike RS232, commands sent to the device are not echoed
back. A telnet session can be used for experimentation purposes.
2.
Command Protocol
Command structure: <command><zone>[<data>[<data>[...]]]
Command:
The command byte can have the following values:
Command (Hex Value)
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
Description
No Operation
Standby
Mute
Source Selection
Volume
Bass
Treble
Balance
Request Protocol Version
Send All Parameters
Report Error
Emulate key press on Keypad
Amplifier special features
Maximum Volume Limit
Preset Selection / Status (deprecated)
Link zone pair (deprecated)
Unsupported IR command received
Volume Up
Volume Down
Amp Source - Keypad Bank Assignment
Request Device information
Erase Memory
Request all IR function definitions (deprecated)
IR function definition (deprecated)
Keypad set-up
Request keypad set-up
Local Time (deprecated)
Preset Parameters
Zone Name
Preamplifier Volume Mode
Preset Selection / Status
Report Key press in preset
Local Date (deprecated)
Request amp source - Keypad Bank Assignments
Request device log entry
Preset alarm control
Request PCM capabilities
PCM stream
Volume BCD format
Set time zone, date and time
Video source selection
Source Name
Preset Name
Request preset name
Source Up
Source Down
Zone assignment
Request zone assignments
Link zones
Audio delay
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
60 – 6F
70 – 7F
80 + command value
Source Gain
Page Preset 2 Selection
Clipping notification
IR routing assignments
Party mode select/deselect
Party mode configuration
Zone name request
Request extended device information
Network settings
Media servers
List sources
Extended source play control
Play status notification
Play status request
Report message
Request time
Reserved (undocumented commands)
User defined commands
Command Response
The commands are also used as notifications. If an amplifier is switched on by pressing the standby
button on the amplifier’s front panel, it will notify the other devices by sending the standby command.
Any other amplifiers on the same zone will take the notification as a command and also switch on.
This can be used for synchronising two amplifiers.
Zone:
This byte is used for checking if the command is applicable to the device receiving the command and if
so, for optionally selecting a “sub-device”, e.g. a bank or part of a device.
The lower 5 bits of the zone byte equal 00 – 1F for zones 0 to 31. The upper 3 bits can represent a
sub-zone or extended zones. FF is used for addressing all zones and can be used for turning all
amplifiers on, for example. The sub-zone codes for the AX4750I and AX4752 amplifiers are as follows:
000 standard amplifier
001 page preset amplifier - add 20 Hex
010 standard preamplifier - add 40 Hex i.e Zone 1 Preamp = 41, Zone 10 Preamp = 4A
011 page preset preamplifier - add 60 Hex.
On the video switcher bits 6 and 7 are used for an extra 64 zones. Bits 5..7:
000 common zone range (0..31)
100 extended zones 32..63
110 extended zones 64..95
Data:
Some commands use a unique 16 bit device ID, which is assigned to the device during manufacturing.
The number of data bytes is dependent on the command. The maximum number of data bytes should
be restricted to 20. If a multi-byte parameter containing large numbers (e.g. the device ID) then the left
most bytes in the string (the ones received first) are the most significant (big-endian format).
If fewer than the expected number of data bytes are received, the AX-800-DAV and later devices treat
the command as a request and will return the requested data.
Command
Standby
( 01 )
Data field length Content ( Hex value )
1 byte
00 Standby A off
01 Standby A on
02 Standby B off
03 Standby B on
04 Toggle standby A
05 Toggle standby B
06 Standby A and B off
07 Standby A and B on
Mute
( 02 )
1 byte
Source Selection
( 03 )
1 byte
Volume
( 04 )
Bass
( 05 )
Treble
( 06 )
Balance
( 07 )
Request Protocol
Version
( 08 )
Send All Parameters
( 09 )
Report Error
( 0A )
1 byte
Standby B only applies to the AX50i and AX250i.
00 mute
01 unmute
02 toggle mute
00 select S5 (CD)
01 select S6 (Tape)
02 select S7 (Tuner)
03 select S4 (Aux)
04 select S8 (Utility)
05 select S1 (SAT)
06 select S2 (DVD)
07 select S3 (Video)
08 .. 0F select S9..S16
10 USB host
11 Internet radio
12 Media Player
13 PCM playback
Bit 5 is reserved and should be set to 0.
Bit 6 is set if Video source is not to be switched, i.e.
40 select S5 (CD) audio only
41 select S6 (Tape) audio only
42 select S7 (Tuner) audio only
43 select S4 (Aux) audio only
44 select S8 (Utility) audio only
45 select S1 (SAT) audio only
46 select S2 (DVD) audio only
47 select S3 (Video) audio only
48 .. 4F select S9..S16 audio only
Bit 7 is set to turn the zone on.
00 – A0 ( 0 – 160 )
1 byte
F4 – 0C ( -12 – 12 )
1 byte
F4 – 0C ( -12 – 12 )
1 byte
EC – 14 ( -20 – 20 )
0 bytes in
01 in response for the current version
command, 1 byte
in response
0 bytes
1 byte
or
4 bytes
00 no error
Amplifier errors:
01 no acknowledge
02 SCL line stuck low
03 SDA line stuck low
04 bus not free
05 overflow in register
06 overflow in receive buffer
07 receive aborted
08 write collision
Keypad errors:
10 frequency error
11 too many different period lengths
12 IR function too long
13 compressed IR function too long
18 EEPROM comms error
19 EEPROM erase error
1A EEPROM full
Emulate key press
on Keypad
( 0B )
Amplifier special
features
( 0C )
1 byte
Maximum volume
( 0D )
Preset Selection /
Status (deprecated)
( 0E )
1 byte
Link zone pair
(deprecated)
( 0F )
Unsupported IR
command received
( 10 )
Volume Up
( 11 )
Volume Down
( 12 )
Amp Source -
1 byte
1 byte
1 or 2 bytes
1 byte
In case four bytes of data are transmitted, 2 nd byte is an extra
information byte for the error, 3rd and 4th bytes are the device ID.
Keypad key code (as shown below) in lower 5 bits, number of
repeats in upper 3 bits. FF means stop repeating the current key.
Bit 0 = loudness enable
Bits 1..3 = display brightness where 0 is brightest (AX250i and
AX450i only)
Bit 4 = Preamplifier controls Ampon signal when set, otherwise
the amplifier controls Ampon.
Bit 5 = Ampon control supported when set.
Bit 6 = Sound played back on page preset. Deprecated, use the
flag in the Preset Parameters command.
Bit 7 = Sound playback enable supported when set.
00 – A0 ( 0 – 160 )
Bits 0-3 command the preset selection:
0 = default (page preset input selects between standard and
page preset modes)
1 = select standard mode
3 = select page preset mode
4 = select preset 1
5 = select preset 2
6 = load preset 1 parameters
7 = load preset 2 parameters
Bits 4-7: current preset status:
0 = standard mode
1 = page preset
2 = preset 1
3 = preset 2
Zone to be linked to the command's zone.
FF for no zone linking. Otherwise 0..95
This command always links a pair of zones. It is not possible to
link more than two zones together but there is no restriction on
the number of linked zone pairs.
The second byte specifies options for the zone linking:
• Bit 0 is set for source linking
• Bit 1 is set for volume linking
• Bit 2 is set for standby (power on/off) linking
If no second byte is received then only source tracking is the
default. Volume linking also implies mute and Amp/Preamp
volume tracking mode and offsets are also synchronised.
See the Notes section for more information.
The command received. This can be used for controlling other
devices using the amplifier as an IR receiver.
0 bytes
00 ( value ignored )
0 bytes
00 ( value ignored )
3 bytes
First two bytes are the device ID followed by one byte where the
Keypad Bank
Assignment
( 13 )
Request Device
information
( 14 )
0 or 1 bytes in
command,
5+ bytes in
response
Erase memory
( 15 )
2 bytes in
command,
3 bytes in
response
Request all IR
2 bytes in
function definitions
command, 4
(deprecated)
bytes in
( 16 )
response
IR function definition Max. 19 bytes,
(deprecated)
2 bytes in
( 17 )
response
Keypad set-up
( 18 )
5 bytes, 2 bytes
in response
Request keypad set- 2 bytes
up ( 19 )
Local time
4 bytes
(deprecated)
( 1A )
Preset Parameters
( 1B )
12 - 24 bytes
upper 4 bits is the amplifier source and the lower 4 bits are the
keypad bank. If the upper 4 bits are all set ( F ), the assignment
is deleted for the bank.
Request: if a data byte exists, bit 0 is set if devices should not
reply on the Axium bus. This enables information retrieval of
devices directly connected to a serial port, usb, etc. If bit 1 is set
devices should only reply on the port that received that
command. This prevents flooding the stack with responses.
Response: First byte is the device type. Second byte is the
firmware version. Third byte is device specific information. Fourth
& firth bytes are a unique ID for the device (MSD first). If more
than 5 bytes are returned, the remaining data are specific to the
type of device.
Command contains the device ID. Response returned
immediately with device ID plus 00 and then after erasing with
device ID plus 01.
Request contains device ID, receiver responds first replies with
its device ID plus the number of function definitions (macros
counted as one definition). First byte upper 8 bits, second byte
lower 8 bits. Then it sends all the definitions.
First three bytes is the device ID plus the number of bytes
already transmitted for the IR function. Remaining bytes are
defined below under “IR Function Definition”. Response is
returned with the device ID when the definition has been
received.
•
Device ID (2 bytes)
•
Zone to which the keypad listens when not in network
program mode. Upper bit is set for responding to standby B.
•
LED settings:
o
KRXm: Back lighting brightness (upper 4 bits)
and duration (lower 4 bits)
o
AX-KPB:
bits 0..1 source LED brightness
(0 = 25%, 1 = 50%, 2 = 100%),
bits 2..3 volume LED brightness
(0 = off, 1 = 50%, 2 = 100%)
bits 4..5 backlighting brightness
(0 = off, 1 = 25%, 2 = 50%, 3 = 100%)
bit 6 backlight duration
(0 = timed, 1 = continuous)
•
Bit 0 is IR receiver enable
Bit 1 is Beeper enable
Bit 2 is Amp/Preamp zone toggle mode. Response contains
the device ID.
Device ID of the keypad to query.
•
Hours (0..23 decimal)
•
Minutes (0..59 decimal)
•
Seconds (0..59 decimal)
•
Weekday (0 = Sun, 1 = Mon, .., 6 = Sat)
Like the preset select command, this command should be sent to
all zones.
The first byte is the preset to set up using the same constants as
the preset select command, where preset 1 = 2. 10h can be used
for specifying settings for the preset used by the second page
contact.
Three bytes for the auto activation schedule in local time:
•
Hour (0..23)
•
Minute (0..59)
•
Zone name
( 1C )
Preamp volume
mode
( 1D )
Unlimited
Preset Selection /
Status
( 1E )
1 or 2 bytes
Report key press in
preset
( 1F )
Local date
(deprecated)
( 20 )
1 byte
1 byte
4 bytes
Request amp source 2 bytes
to keypad bank
assignments
( 21 )
Weekdays (bit 0 = Sun, bit 1 = Mon, .., bit 6 = Sat). Bit 7
is set to deactivate auto activation.
8 bytes for the zone selection: lower 32 bits (last 4 bytes)
represent the 32 zones for the amp rooms, upper 32 bits
represent the 32 zones for the Preamp rooms.
Optionally 3 more bytes for DND (do not disturb). First two bytes
are the time window (time from, time to) where bits 2..6 represent
the hour and bits 0..1 represent the minute in quarter hour
resolution (minute in {00, 15, 30, 45}). The third byte represents
the preset to substitute when inside the time window (where
preset 1 = 2). Set to 0 when DND is unused. DND is only
supported for page presets.
Optionally 1 byte for flags:
• Bits 0..1 preset sound selection (4 sounds)
• Bit 2 enables sound playback on preset activation by
contact closure (page presets).
• Bit 3 enables sound playback on preset activation by
Preset Selection command.
• Bit 4 enables sound looping
Optionally 8 bytes for zone 32..95 selection.
Data field contains the string. Character encoding is UTF-8.
A signed number in the same units as the volume command. –
128 ( 80h ) represents independent mode, otherwise tracking
mode is specified and the offset is equal to Preamp – Amp
volume.
Supports up to 15 presets (including page preset) and is intended
to always be transmitted to all zones (zone byte should be FF).
1st byte commands the preset selection:
00 = default (page preset input selects between standard and
page preset modes)
01 = force page preset mode
02 = select preset 1
03 = select preset 2
...
0F = select preset 15
10 = select preset assigned to the second page contact
Bit 7 selects the preset load function, which loads the preset
settings but stays in non-preset mode.
Bit 6 selects sound playback.
Bit 5 locks all settings when set. Prevents inadvertent changes to
the preset via front panel, IR or otherwise.
2nd optional byte specifies the current preset status:
00 = standard mode
01 = page preset selected
02 = preset 1 selected
03 = preset 2 selected
…
FF = unspecified
Same as the “Emulate key press on Keypad” command except
that this is only used for reporting the keys in a preset macro for
information only.
•
Day (1..31)
•
Month (1..12)
•
Year (0..255, where 0 = 2000)
•
Weekday (0 = Sun, 1 = Mon, .., 6 = Sat)
Device ID. The keypad then sends all its assignments.
Request device log
entry
( 22 )
3 - 5 bytes in
request, 11 or
more bytes in
response when
entry exists, 4
bytes when not.
Request contains:
• Device ID (2 bytes)
• Log entry ID low byte
• Log entry ID high byte (optional)
• Number of entries to return (optional)
Responses are returned with:
• Device ID (2 bytes)
• Log entry ID low byte (1 byte)
• Log entry type (1 byte), FFh for no entry
• Hour (0..23)
• Minute (0..59)
• Second (0..59)
• Weekday (0 = Sun, 1 = Mon, .., 6 = Sat). Lower 3 bits only.
•
Day (1..31)
•
Month (1..12)
• Year (0..255, where 0 = 2000)
Further bytes may be sent as parameters. The number and
format depend on the log entry type. Multiple responses are
returned if the request asks for more than 1 log entry.
Preset alarm control 2 bytes
Like the preset select command, this command should be sent to
( 23 )
all zones. The first byte is the preset to set up using the same
constants as the preset select command, where preset 1 = 2.
FF means all presets.
The second byte has the following meanings:
• 00 : disable alarm
• 01 : enable alarm
• 02 : sleep (re-activate alarm in 5 minutes)
Request PCM
3 bytes in
Request:
capabilities
request,
• Device ID (2 bytes)
( 24 )
10 or more bytes
• Purpose (1 byte)
in response
Response:
• Device ID (2 bytes)
• Purpose (1 byte)
• Available memory (4 bytes)
• Max packet size (2 bytes)
• Supported format (1 byte)
• [Additional supported formats]
PCM Stream
8 bytes in
Request:
( 25)
request header,
• Device ID (2 bytes)
7 bytes in
• Purpose (1 byte)
response (3
• Format in first packet, otherwise 00 (1 byte)
bytes before AX• Length of stream in first packet, otherwise position in
800DAV)
stream (4 bytes). Always 0000 if a continuous stream.
• PCM data
Response:
• Device ID (2 bytes)
• Purpose (1 byte)
• Position in stream (4 bytes)
Volume BCD format 1 byte
0 – 99 in BCD format
( 26 )
Deprecated – do not use.
Set time zone, date 19 bytes
•
Standard time offset in minutes (2 bytes)
and time
•
Daylight saving time (DST) offset in minutes (2 bytes)
( 27 )
•
DST to standard time changeover month (1..12)
•
DST to standard time changeover week (1 = first week in
month, 2 = second week, 5 = last week in month)
•
DST to standard time changeover weekday (0 = Sun, 1 =
Mon, .., 6 = Sat)
•
DST to standard time changeover hour (0..23)
•
Standard time to DST changeover month
•
•
•
•
Video Source
Selection
( 28 )
1 byte
Source Name
( 29 )
Min 4 bytes
Preset Name
( 2A )
Min 1 byte
Request preset
name
( 2B )
Source Up
( 2C )
1 byte
Source Down
( 2D )
1 byte
Zone assignment
( 2E )
Request zone
assignments
( 2F )
2+ bytes
Link zones
( 30 )
2+ bytes
1 byte
0 or 2 bytes in
request, n bytes
in response
Standard time to DST changeover week
Standard time to DST changeover weekday
Standard time to DST changeover hour
Hour (0..23). Bit 7 set if in DST, bit 6 set if standard time.
If neither bit is set, time is local time (either DST or standard
time).
•
Minute (0..59)
•
Second (0..59)
•
Weekday (0 = Sun, 1 = Mon, .., 6 = Sat). Lower 3 bits
only.
•
Day (1..31)
•
Month (1..12)
•
Year (0..255, where 0 = 2000)
The offset values are 16 bit signed values in minutes (high byte
first). The following rule applies:
local time = UTC + offset
If no daylight saving applies, all changeover parameters are 0.
Changeover times are in the standard local time.
00 select S5 (CD)
01 select S6 (Tape)
02 select S7 (Tuner)
03 select S4 (Aux)
04 select S8 (Utility)
05 select S1 (SAT)
06 select S2 (DVD)
07 select S3 (Video)
08 .. 0F select S9..S16
First byte is the source ID (00 – 0B). Bytes 2 – 4 represent a
short name of up to three characters. If the name is shorter than
three characters, the remaining bytes are set to 00. After the
short name an optional long name can be specified. Character
encoding is UTF-8.
The first byte is the preset to set up using the same constants as
the preset select command, where preset 1 = 2. Following bytes
is the preset name. Character encoding is UTF-8.
The preset to set up using the same constants as the preset
select command, where preset 1 = 2. The response is the
“Preset Name” command.
00 audio source up with video source sync
01 audio source up
02 video source up
00 audio source down with video source sync
01 audio source down
02 video source down
Device ID followed by a list of zone numbers
Request: device ID of device to request the zones from. If no
device ID is specified, the device receiving the command will
answer and the command will not be relayed to another interface.
Response: device ID followed by a list of zone numbers.
Replaces the “link zone pair” command (0F) and can link any
number of zones into a group. This command should be sent to
all zones (zone byte = FF).
The first byte specifies the options for the zone link group:
• Bit 0 is set for source linking
• Bit 1 is set for volume linking
• Bit 2 is set for standby (power on/off) linking
• Bit 7 is set if the list of zones is preceded by a 4 byte
group identifier.
Audio delay
( 31 )
Source Gain
( 32 )
Page Preset 2
Selection
( 33 )
Clipping notification
( 34 )
1 byte
IR routing
assignments
( 35 )
6+ bytes
3 bytes in
request
Party mode
select/deselect
( 36 )
1 byte
Party mode
configuration
( 37 )
Zone name request
( 38 )
Request extended
device information
( 39 )
3 bytes
Network settings
( 3A )
2 bytes
1 byte
2 bytes
0 bytes
2 bytes in
command,
response length
is device specific
The remaining bytes list the zones in the group and are in {0..95}.
Zones can be removed from the group by defining new groups
which exclude the zone or by defining groups which contain only
the zone to exclude. Similarly if a group contains {A, B, C, D} and
a new group is defined containing {A, C} then {B, D} will remain in
the original group. A zone cannot belong to more than one group.
Zone groupings are not affected by presets.
Output delay of audio stream in 5ms steps. 00 = no delay.
First byte is the source ID (00 – 0B). Second byte is analogue
input gain F4 – 0C ( -12dB – +12dB ).
The preset to be selected when the second page contact is
closed.
Sent to all zones.
First byte is type of clipping event. The second byte is information
pertaining to the event. The following events are currently
defined:
• 01 – analogue input clipped. The following byte
represents the source that is clipped.
• 02 – analogue input unclipped.
First two bytes is the unit ID.
Third byte is the IR source (keypads, bus run, expansion bus,
etc). Numbered from 0.
Fourth byte is the zone to monitor for source selection in {0..95}.
Then for each source starting from S1, two bytes which represent
a bitmap of IR output enables. IR output 1 is at bit 0, IR sum
output follows bit for last output, expansion bus follows bit for IR
sum output.
If the IR source is the expansion port, the zone is ignored and
only two bytes for the IR output enables is used.
Sent to all zones.
00 = deselect party mode (selects standard mode)
01 = select party mode
The party mode selection is stored in presets so that presets can
activate or deactivate this mode.
Sent to all zones.
First two bytes is the unit ID of the party master. Third byte is the
source selected for its party mode output.
Sent to all zones.
Requests the zone name.
Command: two bytes for the unit ID.
Response for AX-800DAV:
•
4 bytes for 32 bit unit ID where bytes 3-4 match the
standard 16 bit unit ID.
•
3 bytes for firmware version: major, minor and beta
version (0 for release versions).
•
1 byte current temperature (signed).
•
1 byte peak temperature (signed).
•
4 bytes for IP address.
•
6 bytes for MAC address.
•
3 bytes manufacture date: year (0..255 = 2000..2255),
month (1..12), day (1..31)
Minimum 3 bytes Two bytes for the unit ID, followed by name type ID which is
followed by the name. Name type IDs:
• 01h = Network name
• 02h = Time server name
• 03h = 1 byte flags where bit 0: 0 = DHCP, 1 = Static, bit
1: 0 = Time server disabled, 1 = Time server enabled. 16
Media servers
( 3B )
List sources
( 3C )
Extended source
play control
( 3D )
Play status
notification
( 3E )
Play status request
( 3F )
Report message
( 40 )
Request time
( 41 )
bytes IP addresses (4 bytes per address): IP address,
subnet mask, DNS server, default router.
• 81h = Request network name
• 82h = Request time server name
• 83h = Request IP addresses and flags
Sent to all zones.
Minimum 3 bytes Two bytes for the unit ID, one byte for list entry index, followed by
strings for UNC path, user name and password. Each string is
null terminated. No strings are listed for last entry in the list. The
list entry index begins at 0 and is FFh to request the list. Entries
must be sent in ascending order.
0 bytes to query Lists the available sources on the zone. Notifications are sent if
sources.
the available sources change.
2+ bytes
First byte is the source ID followed by play control command and
command dependent data:
01 = Play. Next two bytes is an optional 16 bit track index,
numbered from 0.
02 = Pause/Resume
03 = Stop
04 = Previous track
05 = Next track
06 = Set repeat mode. Next byte: 0 = no repeat, 1 = repeat track,
2 = repeat disc.
07 = Select. Next two bytes is the 16 bit item index. Selecting a
track will play it. Selecting a folder will change to it.
08 = Shuffle mode. Next byte: 0 = no shuffle, 1 = shuffle tracks
2+ bytes
First byte is the source ID followed by status parameter and data:
00 = Play status flags: 1 data byte (1 = player available, 2 =
loading directory, 4 = playback active, 8 = playback paused, 10h
= reserved, 20h = repeat track, 40h = repeat disc, 80h = shuffle)
01 = Playlist length: 9 bytes total. 2 bytes for directory count, 2
bytes for file count, 2 bytes for previous directory index (after
going back a directory only, otherwise FFFF) and 1 byte flags
where bit 0 is set if there is a “..” directory.
02 = Playing track index: 2 data bytes for 16 bit index, numbered
from 0. Always sent after the playlist length. Only sent if playing
or paused.
03 = Playlist name: data is UTF-8 string.
Automatic notifications for any changes to play status are sent to
all zones using the source.
04 = Playlist item name: 2 data bytes for 16 bit index followed by
UTF-8 string.
2+ bytes
First byte is the source ID followed by one byte which is a bitmap
of parameters to query (bit 0 = play status flags, bit 1 = playlist
length, etc). If the request is sent to all zones, the responses are
sent to all zones using the source. Otherwise the responses are
sent to the zone sending the request.
If parameter 4 (playlist item name) is selected, 4 bytes are
required for start – end indexes after the parameter bitmap.
2+ bytes
First byte is message type:
00 = Information
01 = Error
02 = Success
Followed by UTF-8 string. Sent to whichever zones and
interfaces are relevant.
1 byte in request, Requests the time. 00 = Immediately, 01 = the next time it
7 bytes in
changes. The response contains the time in UTC if available:
response
•
Hours (0..23 decimal)
•
Minutes (0..59 decimal)
•
Seconds (0..59 decimal)
•
Weekday (0 = Sun, 1 = Mon, .., 6 = Sat). Lower 3 bits
•
•
•
only. Bit 4 is set for UTC and clear for local time.
Day (1..31)
Month (1..12)
Year (0..255, where 0 = 2000)
Notes:
•
AX450I, AX4750I and all later amplifiers ignore standby B commands.
•
‘Standby On’ commands imply that the amplifier is not muted if the amplifier was previously
off. A mute command must follow the standby command if it should be muted.
•
The Volume Up and Volume down commands increment or decrement the amplifiers volume
at each command string reception. Therefore to achieve a volume ramp, the commands must be
sent continuously for the duration of the ramp.
•
If a keypad is attached to an Axium amplifier then it is possible to control the keypad using the
“Emulate key press on Keypad” command. The command includes a repeat code and a key code
in the data byte. (e.g. F4 means press the stop key and repeat 7 times.) If the repeat code is 0 the
function will be repeated indefinitely, or until another “Emulate key press on Keypad” command is
received with a data byte = 00. Continuous commands are not good practice – however they may
be used for volume Up / down ramp functions.
•
All tracking modes require some intelligence on the part of the receiver. This means that a
device transmitting a command does not need to account for all tracking modes and settings that it
is perhaps not aware of. This is important because not all devices have sufficient memory to store
all the settings for all zones. Furthermore, it means that devices only need to query the
parameters for zones that they are interested in, thus reducing traffic when a device goes on line
or is set to a zone.
-
Zone linking behaviour
The “Link zone pair” command tells the zone specified in the zone byte “A” to follow the
settings in the zone to be linked “B”. However it also implicitly tells zone “B” to follow “A”.
Likewise if a link zone command is transmitted that either terminates the zone linking or tells
either zones “A” or “B” to link to another, then both zones “A” and “B” are to stop tracking each
other. Similar behaviour is expected when tracking the settings, if zone “A” changes its source,
volume, mute, Preamp tracking mode/offset or standby settings, devices on zone “B” are
expected to synchronise their internal settings and without sending notifications of any
changes on zone “B”. It is not the responsibility of the device on zone “A” that is making the
change to inform zone “B” of any changes and it is not the responsibility of devices on zone
“B” to inform of changes resulting from a change on zone “A”.
The “Link zones” commands tells all the zones in the command to be linked into one group.
Commands sent to any of the zones in the group cause all the zones in the group to implicitly
track the change. Devices therefore need to know about all the zones in the group, even if
they are otherwise not used by the device. In addition, devices reporting its linked zones using
this command must be able to list zones in the group that are not used by the device.
-
Amp / Preamp volume tracking behaviour
As with zone linking, when Amp / Preamp volume tracking is set up, the receiver is expected
to understand the meaning of a volume command, even if the command is directed to the
“other side”. For example: if the amplifier volume is changed and volume tracking is set up
with an offset, any devices showing the Preamp volume are expected to receive the command
informing of a change to the amplifier volume, add the offset and display the new Preamp
volume. This is particularly important when zone linking includes the volume linking option.
For example if zones A and B are volume linked and the Amp / Preamp volume tracking is set:
A single command informing of a change to the amplifier volume on zone A not only implies a
change to the amplifier volume on zone B but also implies a change to the Preamp volume on
zones A and B.
•
The “no operation” command is useful for resetting the receive status of the amplifier after
long periods or when random signals could have been transmitted to it (e.g. when booting the
computer controlling the amplifier). The zone and data byte should be 00.
•
The first byte of the response to the “request device information” has the following values:
• 00 = amplifier
• 01 = keypad
• 02 = remote control
• 03 = video switch
• FF = no device
•
The third byte of the response to the “request device information” has the following meanings
for the amplifier when bit 7 is 0:
• Bit 0 & 1: number of amplifiers – 1 (00 = AX50i, 01 = AX250i, 11 = AX450i)
• Bit 2: 0 = 4 sources, 1 = 8 sources
• Bit 7 = 0
•
The third byte of the response to the “request device information” has the following meanings
for the amplifier when bit 7 is 1:
• 80h = ax4750
• 81h = ax4752
• 82h = mza-4.7
• 83h = 451/452-AV
• 84h = AX-800DAV (8 zones, 8 sources)
• 85h = Vantage 850 (8 zones, 12 sources)
• 86h = AX-400DA (4 zones, 6 sources)
•
The third byte of the response to the “request device information” has the following meanings
for the keypad:
• Bit 0: 0 = 16kB, 1 = 32kB EEPROM
• Bit 1: 1 when the KRXs is connected
• Bit 2: 1 when leaving Network Programming Mode, otherwise 0.
•
The third byte of the response to the “request device information” has the following meanings
for the remote:
• Bit 0: 0 = 16kB, 1 = 32kB EEPROM
•
The preset schedule command is only valid when preset 1 or 2 is currently being configured.
•
The “Send all parameters” command applies to amp/preamp groups and not to individual
rooms. The preamp bit of the zone byte is ignored.
IR Function Definition
Function definitions are sent using multiple packets where the data block can be up to 19 bytes. The
first two data bytes of each packet contain the device ID followed by one byte containing the number
of bytes already transmitted for the definition. Remaining bytes are as follows:
1. Bank, one byte
2. Key, one byte
3. Dual command index and dual command delay, one byte. Lower 4 bits: 0 = regular, 1 = long
press, upper 4 bits is the delay.
4. KRXm: Modulation period in 0.2µs (4 cycles @ 20MHz) units, one byte. 0 when no modulation
is used, FF when command is undefined in which case, no bytes follow.
AX-KPB: Modulation period in 0.0833µs (4 cycles @ 48MHz) units, two bytes. 0 when no
modulation is used, FFFF when command is undefined in which case, no bytes follow.
5. Format, one byte. Has the following meanings:
o 0 = one word that repeats
o 1 = a start word is followed by a 'keep alive' code that repeats
o 2 = two words that repeatedly alternate
o 3 = one code followed by nothing
6. Macro information, one byte. Bit 0 is set when the function is the first in a macro (or is not a
macro). Bit 1 is set when another function follows this one, in which case the next function
begins with a new packet where the byte count parameter is zero. Bit 2 is set when alternating
macro. Bits 4-7 are the number of repeats before sending the next command in a sequential
macro.
7. Period lengths, 16 x 2 bytes (words). This array contains the times used in the IR stream.
Times are in 0.8 µs (16 cycles @ 20MHz) for the KRXm and are in 0.333µs on the AX-KPB
(16 cycles @ 48MHz). The last two times are the delays between the 1st & 2nd words and
between following words, respectively. The delay time units are 256 times longer than the
other times. The first byte of each word is the high byte. Not all period lengths need to be sent
if many of them are zero. Therefore the receiver should initialise its array of period lengths to
zero before receiving the function definition.
8. Period IDs, up to 80 bytes. This array stores references to the 16 available period lengths.
Each byte has two references; the upper 4 bits represent periods of IR activity, and the lower
4 bits periods of no activity. The sequence ends when the lower 4 bits = 0Eh when the format
is a single word format (0 or 3) or when the lower 4 bits = 0Fh.
PCM
PCM capabilities for a specific device and purpose can be queried using the “Request PCM
capabilities” command. The device responds with its available memory, supported formats and
maximum packet size. If a device returns 0000 for its available memory then this implies that the PCM
data are not stored in memory and are not subject to memory constraints. In this case the PCM data
are typically played immediately. The device also returns the largest packets it can accept where this
implies a direct link to the device since any devices relaying the packets may impose restrictions of
their own.
Purpose byte:
•
•
01 – paging (“doorbell”) sound
02 – second paging (“doorbell”) sound
Format bytes:
•
•
•
•
•
•
•
•
•
•
•
00 – PCM features not supported
01 – 11 kHz, 8 bit mono PCM
02 – 8 kHz, 8 bit mono PCM
03 – 22 kHz, 8 bit mono PCM
04 – 16 kHz, 8 bit mono PCM
05 – 32 kHz, 8 bit mono PCM
06 – 44 kHz, 8 bit mono PCM
07 – 48 kHz, 8 bit mono PCM
08 – 32 kHz, 16 bit mono PCM
09 – 44 kHz, 16 bit mono PCM
0A – 48 kHz, 16 bit mono PCM
•
•
•
0B – 32 kHz, 16 bit stereo PCM
0C – 44 kHz, 16 bit stereo PCM
0D – 48 kHz, 16 bit stereo PCM
Keypad key codes
An Axium Keypad may be directed to emit its learnt IR commands via RS232 control. This is achieved
by sending a ‘Emulate key press on Keypad’ command, followed by the zone and the Keypad key
code (data). The Keypad key code is encoded with IR string repeats. (See table below)
To terminate a continuously repeating ‘Emulate Key press on keypad’ command a 00 code must be
sent for the KRX, and a FF code sent for the KRXm and AX-KPB keypads.
All Codes are Hex.
KRX
REPEATS
KEY
Continuous 1
2
3
4
5
6
7
00
-
-
-
-
-
-
-
Stops repeating the current key
01
21
41
61
81
A1
C1
E1
Aux
02
22
42
62
82
A2
C2
E2
Tuner
03
23
43
63
83
A3
C3
E3
CD Bank
04
24
44
64
84
A4
C4
E4
CD
05
25
45
65
85
A5
C5
E5
Vol Up
06
26
46
66
86
A6
C6
E6
Ch Up (2)
07
27
47
67
87
A7
C7
E7
Random (1)
08
28
48
68
88
A8
C8
E8
Play
09
29
49
69
89
A9
C9
E9
Power
0A
2A
4A
6A
8A
AA
CA
EA
+ Track skip (0)
0B
2B
4B
6B
8B
AB
CB
EB
- Track skip (9)
0C
2C
4C
6C
8C
AC
CC
EC
Disc skip
0D
2D
4D
6D
8D
AD
CD
ED
Mute
0E
2E
4E
6E
8E
AE
CE
EE
Fast Forward (8)
0F
2F
4F
6E
8F
AF
CF
EF
Rewind (7)
10
30
50
70
90
B0
D0
F0
Pause (6)
11
31
51
71
91
B1
D1
F1
Vol Down
12
32
52
72
92
B2
D2
F2
Ch Down (5)
13
33
53
73
93
B3
D3
F3
Band (4)
14
34
54
74
94
B4
D4
F4
Stop (3)
KRXm
REPEATS
KEY
Continuous 1
2
3
4
5
6
7
00
20
40
60
80
A0
C0
E0
Volume Down
01
21
41
61
81
A1
C1
E1
Volume Up
02
22
42
62
82
A2
C2
E2
DVD
03
23
43
63
83
A3
C3
E3
Aux
04
24
44
64
84
A4
C4
E4
MCD
05
25
45
65
85
A5
C5
E5
DMS
06
26
46
66
86
A6
C6
E6
Tuner
07
27
47
67
87
A7
C7
E7
CD
08
28
48
68
88
A8
C8
E8
Play
09
29
49
69
89
A9
C9
E9
Fast Forward
0A
2A
4A
6A
8A
AA
CA
EA
Standby
0B
2B
4B
6B
8B
AB
CB
EB
Down
0C
2C
4C
6C
8C
AC
CC
EC
Up
0D
2D
4D
6D
8D
AD
CD
ED
Mute
0E
2E
4E
6E
8E
AE
CE
EE
Rewind
0F
2F
4F
6E
8F
AF
CF
EF
Pause/Stop
10
30
50
70
90
B0
D0
F0
1
11
31
51
71
91
B1
D1
F1
4
12
32
52
72
92
B2
D2
F2
7
13
33
53
73
93
B3
D3
F3
-/--
14
34
54
74
94
B4
D4
F4
Disc
15
35
55
75
95
B5
C5
F5
Select
16
36
56
76
96
B6
C6
F6
Group
17
37
57
77
97
B7
C7
F7
Random
18
38
58
78
98
B8
C8
F8
2
19
39
59
79
99
B9
C9
F9
5
1A
3A
5A
7A
9A
BA
CA
FA
8
1B
3B
5B
7B
9B
BB
CB
FB
0
1C
3C
5C
7C
9C
BC
CC
FC
3
1D
3D
5D
7D
9D
BD
CD
FD
6
1E
3E
5E
7E
9E
Be
CE
FE
9
1F
3F
5F
7F
9F
BF
CF
-
AV
FF
-
-
-
-
-
-
-
Stops continuous key press
AX-KPB
REPEATS
KEY
Continuous 1
2
3
4
5
6
7
00
20
40
60
80
A0
C0
E0
Bank 6
(DVD)
01
21
41
61
81
A1
C1
E1
Bank 5
(AUX)
02
22
42
62
82
A2
C2
E2
Bank 4
(DMS)
03
23
43
63
83
A3
C3
E3
Bank 3
(Cable)
04
24
44
64
84
A4
C4
E4
Bank 2
(Tuner)
05
25
45
65
85
A5
C5
E5
Bank 1
(CD)
08
28
48
68
88
A8
C8
E8
Volume Up
09
29
49
69
89
A9
C9
E9
Axium Standby Command
0A
2A
4A
6A
8A
AA
CA
EA
Axium Mute Command
0C
2C
4C
6C
8C
AC
CC
EC
Volume Down
0E
2E
4E
6E
8E
AE
CE
EE
Standby/Mute
10
30
50
70
90
B0
D0
F0
5
11
31
51
71
91
B1
D1
F1
4
12
32
52
72
92
B2
D2
F2
3
13
33
53
73
93
B3
D3
F3
2
14
34
54
74
94
B4
D4
F4
1
15
35
55
75
95
B5
D5
F5
Skip
16
36
56
76
96
B6
D6
F6
Stop
17
37
57
77
97
B7
D7
F7
Play
18
38
58
78
98
B8
D8
F8
0
19
39
59
79
99
B9
D9
F9
9
1A
3A
5A
7A
9A
BA
DA
FA
8
1B
3B
5B
7B
9B
BB
DB
FB
7
1C
3C
5C
7C
9C
BC
DC
FC
6
1D
3D
5D
7D
9D
BD
DD
FD
-Track
1E
3E
5E
7E
9E
BE
DE
FE
Pause
1F
3F
5F
7F
9F
BF
DF
-
+Track
FF
-
-
-
-
-
-
-
Stops continuous key press
Download PDF