Download Here


Add to my manuals
21 Pages

advertisement

Download Here | Manualzz

Communications Protocol

04/04/2016

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.

Expansion Bus

The expansion 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).

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 another interface such as RS232.

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.

1.6.

Ethernet expansion

The expansion bus is now obsolete and has been replaced by “expansion bus over Ethernet”.

Commands are sent and received using multicasting to/from IP address 239.195.188.235 and UDP port 17037. The commands are in the same form as on TCP port 17037.

2.

Command Protocol

Command structure: <command><zone>[<data>[<data>[...]]]

Command:

The command byte can have the following values:

2B

2C

2D

2E

27

28

29

2A

23

24

25

26

1F

20

21

22

2F

30

31

1B

1C

1D

1E

17

18

19

1A

13

14

15

16

0F

10

11

12

0B

0C

0D

0E

07

08

09

0A

03

04

05

06

Command (Hex Value)

Description

00

No Operation

01

02

Standby

Mute

Source Selection

Volume

Bass

Treble

Balance

Request Protocol Version

Send All Parameters

Report Error (obsolete)

Emulate key press on Keypad

Amplifier special features

Maximum volume

Preset Selection / Status (obsolete)

Link zone pair (obsolete)

Media Favourites

Volume Up

Volume Down

No longer in use

Request Device information

Firmware update

No longer in use

No longer in use

No longer in use

No longer in use

No longer in use

Preset Parameters

Zone name

Preamp volume mode

Preset Selection / Status

No longer in use

No longer in use

No longer in use

Request device log entry

Preset alarm control

Request PCM capabilities (obsolete)

PCM Stream (obsolete)

Keypad port options

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

3E

3F

40

41

3A

3B

3C

3D

36

37

38

39

32

33

34

35

46

47

48

49

42

43

44

45

4A

4B

4C

4D

4E

4F

50

60 – 6F

70 – 7F

80 + command value

Source Gain

Page Preset 2 Selection

Clipping notification

IR routing assignments

Party mode select/deselect (obsolete)

Party mode configuration (obsolete)

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

Settings management

PCM stream management

Zone gain

User accounts (obsolete)

Source specific metadata

Source specific metadata request

Power on volume level

Request keypad zone assignment

Keypad port/zone mapping

KPE key event

KPE LED control

Keypad port occupancy

Arbitrary data storage

Distributed Source Definition

Distributed Source Audio Delay

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 (obsolete) - add 40 Hex

011 page preset preamplifier (obsolete) - add 60 Hex

Bits 7 is set for extended zones 32..95. Bits 5..7 represent three zone ranges:

000 common zone range (0..31)

100 extended zones 32..63

110 extended zones 64..95

Special zone values:

FFh - all zones. This could be used for setting all zones to a specific value, for example.

However some commands are always sent to all zones.

FEh is reserved for internal use and must not be used.

FDh – interface dependent zone. This represents the zone associated with the interface that the command is received on. Some interfaces such as keypad ports can have a zone associated with them and using this value allows the same command to be used for controlling different zones. If there is no zone associated with the interface then the command is ignored.

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. 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 )

Mute

( 02 )

Source Selection

( 03 )

Volume

( 04 )

Bass

( 05 )

Treble

( 06 )

Data field length Content ( Hex value )

1 byte 00 Standby A off

1 byte

01 Standby A on

02 Standby B off (obsolete)

03 Standby B on (obsolete)

04 Toggle standby A

05 Toggle standby B (obsolete)

06 Standby A and B off

07 Standby A and B on

00 mute

01 unmute

02 toggle mute

1 byte 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 Reserved

11 Reserved

12 Media Player 1

13 Media Player 2

20 .. 3F select Distributed source 1..32

Bit 6 is set if Video source is not to be switched, i.e.

40 select S5 (CD) audio only

1 byte

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

1 byte

F4 – 0C ( -12 – 12 )

F4 – 0C ( -12 – 12 )

Balance

( 07 )

Request Protocol

Version

( 08 )

Send All Parameters

( 09 )

Report Error

(obsolete)

( 0A )

1 byte

0 bytes in command, 1 byte in response

0 bytes

1 byte or

4 bytes

EC – 14 ( -20 – 20 )

01 in response for the current version

Do not send to all zones because this will generate an unreasonable amount of traffic, particularly on large amplifier stacks.

This command is deprecated – try to use requests for specific parameters if possible.

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

Emulate key press on Keypad

( 0B )

Amplifier special features

( 0C )

1 byte

1 or 2 bytes

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

In case four bytes of data are transmitted, 2 nd byte is an extra information byte for the error, 3 rd

and 4 th

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.

1 byte

Bit 0: loudness enable (1) / disable (0)

Bits 1..3 = reserved

Bit 4: Preamplifier controls Ampon signal when 1, otherwise the amplifier controls Ampon. Obsolete.

Bit 5: Ampon control supported when 1.Obsolete.

Bit 6: Sound played back on page preset. Deprecated, use the flag in the Preset Parameters command.

Bit 7: Sound playback enable supported when 1 (deprecated).

Second byte

Bit 0: mono (1) / stereo (0).

Bit 1: mono / stereo control supported when 1.

Bit 2: power on volume enable (1) / disable (0).

Bit 3: power on volume supported when 1.

Bit 4: low pass filter enable (1) / disable (0)

Bit 5: low pass filter supported when 1.

Bit 6..7: low pass filter cut off frequency, where 00 = 80Hz, 01 =

120Hz, 10 = 180Hz, 11 = 240Hz

00 – A0 ( 0 – 160 ) Maximum volume

( 0D )

Preset Selection /

Status (obsolete)

( 0E )

1 byte 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

Link zone pair

(obsolete)

( 0F )

Media Favourites

( 10 )

Volume Up

( 11 )

Volume Down

( 12 )

Request Device information

( 14 )

Firmware update

( 15 )

Preset Parameters

( 1B )

1 or 2 bytes

3+ bytes

0 bytes

0 bytes

0 or 1 bytes in command,

5+ bytes in response

3+ bytes

12 - 24 bytes

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.

Two bytes for the unit ID, one byte for favourite index, followed by strings for favourite name, service URL and image URL. Each string is null terminated. No strings are listed for last entry in the list. The favourite index begins at 0 and is FFh to request the list. Entries must be sent in ascending order. The service URL can refer to an HTTP server for Internet radio or to a network share, in which case it must

correspond to an entry in the media servers list (see Media servers ).

00 ( value ignored )

00 ( value ignored )

Request: if a data byte exists, bit 0 is set if devices should not reply on the expansion 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. If bit 2 is set all zones on the unit responding are listed after the data.

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. Zones are added to the response if bit 2 is set in the options byte in the request. The zones are not encoded as they are in the zone byte and

are in {00h...5Fh}. Also see Request extended device information .

First two bytes for the unit ID.

Third byte:

00h: Downloading. Fourth byte is percentage (0..100).

01h: Success

02h: Failure. Following bytes is an error message.

80h: Download from URL. Following bytes is the URL and must contain “http://” to be accepted. Command not accepted on RS232 or IR ports.

Sent to all zones.

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:

Zone name

( 1C )

Preamp volume mode

( 1D )

Preset Selection /

Status

( 1E )

Unlimited

1 byte

1 or 2 bytes

Request device log entry

( 22 )

3 - 5 bytes in request, 11 or more bytes in response when entry exists, 4 bytes when not.

Hour (0..23)

Minute (0..59)

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.

Bit 5 disables preset macro transmission (obsolete, should be set to 1).

Bit 6 0 = page switch normally closed, 1 = normally open.

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).

1 st 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 14

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.

2 nd optional byte specifies the current preset status:

00 = standard mode

01 = page preset selected

02 = preset 1 selected

03 = preset 2 selected

FF = unspecified

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)

Preset alarm control

( 23 )

Request PCM capabilities

(obsolete)

( 24 )

PCM Stream

(obsolete)

( 25)

Keypad port options

( 26 )

Set time zone, date and time

( 27 )

2 bytes

3 bytes in request,

10 or more bytes in response

8 bytes in request header,

7 bytes in response (3 bytes before AX-

800DAV)

2+ bytes

19 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.

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.

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:

Device ID (2 bytes)

Purpose (1 byte)

Response:

Device ID (2 bytes)

Purpose (1 byte)

Available memory (4 bytes)

Max packet size (2 bytes)

Supported format (1 byte)

[Additional supported formats]

Request:

Device ID (2 bytes)

Purpose (1 byte)

Format in first packet, otherwise 00 (1 byte)

Length of stream in first packet, otherwise position in stream

(4 bytes).

PCM data

Response:

Device ID (2 bytes)

Purpose (1 byte)

Position in stream (4 bytes)

First two bytes for the unit ID. This is followed by a series of bytes which are the options for each keypad port. Each byte is a bitfield where:

Bit 0: 0 = allow all zone commands received on the port, 1 = ignore all zone commands.

Bit 1: 0 = allow all zone commands received on the port to affect all zones, 1 = all zone commands received on the port only affects the port's assigned zone.

Bits 2..7 are reserved and should be set to 0.

If there are only two data bytes then the command acts as a request.

Unsupported by Axium products. Also see Keypad port/zone mapping .

Standard time offset in minutes (2 bytes)

Daylight saving time (DST) offset in minutes (2 bytes)

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 =

Video Source

Selection

( 28 )

Source Name

( 29 )

Preset Name

( 2A )

Request preset name

( 2B )

Source Up

( 2C )

Source Down

( 2D )

Zone assignment

( 2E )

Request zone assignments

( 2F )

Link zones

( 30 )

1 byte

Min 4 bytes

Min 1 byte

1 byte

1 byte

1 byte

2+ bytes

Mon, .., 6 = Sat)

DST to standard time changeover hour (0..23)

Standard time to DST changeover month

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 using the same encoding as the Source

Selection command. Bytes 2 – 4 represented a short name of up to

three characters which was used for devices with limited display capabilities. These short names are no longer in use and so byte 2 should be set to 00 in which case bytes 3 and 4 are available for other functions. Presently bit 0 of byte 4 indicates the “independent” source name state and bit 1 if set overrides independent / nonindependent source name filtering. Bytes 5 onwards specifies the source name. 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

0 or 2 bytes in request, n bytes in response

2+ bytes

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:

Audio delay

( 31 )

Source Gain

( 32 )

Page Preset 2

Selection

( 33 )

Clipping notification

( 34 )

1 byte

2 bytes

IR routing assignments

( 35 )

6+ bytes

3 bytes in request

Party mode select/deselect

(obsolete)

( 36 )

1+ byte

2 bytes

1 byte

Party mode configuration

(obsolete)

3 bytes

( 37 )

Zone name request 0 bytes

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. Group identifiers are not enabled in all amplifier firmwares.

Bit 6 is reserved for internal purposes.

Bit 5 can be set in requests for suppressing responses for ungrouped zones. Sending 30FF20 will request only the grouped zones.

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. Multiple data bytes can be used for specifying the delay for each source where the first byte represents S1, then S2, etc. If fewer bytes are used than sources, the remaining sources are set to the last delay in the command. (This ensures compatibility with commands with a single data byte that applied to all sources.) No delay can be configured for the media player source.

First byte is the source ID (00 – 0B). Second byte is the gain applied to the source 00 – 12 ( 0dB – +18dB ). On the AX400/AX800 generation of amplifier this affected the gain of the analogue input which could cause clipping if set too high. Later amplifiers do not use this approach and adjust the output level when the source is selected.

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) where the first keypad is 0. The bus run is 4 on the AX-400-DA and 8 on the AX-800-DAV. The expansion bus is 5 and 9 on the AX-400-DA and AX-800-DAV.

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 bitfield 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 or bus run, 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.

( 38 )

Request extended device information

( 39 )

Network settings

( 3A )

Media servers

( 3B )

List sources

( 3C )

Extended source

2 bytes in command, response length is device specific

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)

1 byte flags (bit 0 set when settings are locked)

Firmware micro version (optional)

Also see Request Device information .

Minimum 3 bytes Two bytes for the unit ID, followed by setting ID which is followed by the setting. Setting 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, bit 2: reserved. 16 bytes IP addresses (4 bytes per address): IP address, subnet mask, DNS server, default router.

04h = IP address of KNX interface (4 bytes), KNX interface type (1 byte where 00 – disabled).

05h = Device GUID (16 bytes). Words in GUID are stored in

3+ bytes little endian format!

06h = Amplifier stack assignment. 1 byte for the amplifier stack (0..255). Amp stack 0 is on UDP port 17037, stacks

1..255 are on UDP ports 17090..17344.

81h = Request network name

82h = Request time server name

83h = Request IP addresses and flags

84h = Request KNX IP BAOS 771/772 address.

85h = Request device GUID.

86h = Request amplifier stack assignment.

Sent to all zones.

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. If an alias name is used this is written into the UNC path field and is appended to the path with a colon separating it and the alias. The list entry index begins at 0 and is FFh to request the list. Entries must be sent in ascending order.

Lists the available sources on the zone. Notifications are sent if the 0 or 1 byte in request

1+ bytes in response

2+ bytes available sources change.

The data byte represents flags for which sources to list. If the flags are specified then the first byte of the response is the flags byte (this is so the receiver knows what exactly the list of sources represents):

Bit 0 = list non-independent local sources*.

Bit 1 = list independent local sources*.

Bit 2 = list distributed sources sourced by other devices*.

Bit 3 = list distributed sources sourced by the device.

Bit 4 = list distributed sources with local equivalent sources (must be used with bit 3).

Bit 7 should be set so flags in responses can be distinguished from sources.

*Option enabled by default when no flags byte is specified.

First byte is the source ID followed by play control command and

play control

( 3D )

Play status notification

( 3E )

Play status request

( 3F )

Report message

( 40 )

2+ bytes

2+ bytes

2+ bytes 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 all.

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

09 = Open server. Normally not required since same as Select.

0A = Select favourite. Next byte is favourite ID (00h..FEh, see Media

Favourites ).

0B = Add currently playing content to favourites list.

0C = Remove currently playing content from favourites list. Next byte must be the favourite ID.

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.

04 = Playlist item name: 2 data bytes for 16 bit index followed by

UTF-8 string.

05 = Playing track artist: data is UTF-8 string.

06 = Playing track album: data is UTF-8 string.

07 = Playing track title: data is UTF-8 string.

08 = Cover art file name. The image is retrieved from http://<host>/artwork/<file name>. Only sent to Ethernet based interfaces.

09 =

Track position in seconds.

0A = Track length in seconds. Note that the track length can change if it is not available via metadata and it needs to be estimated using the file size and average byte rate.

0B = Buffer status in percent, FFh when not filling buffer.

0C = Bitfield of available functions, for first byte 1 = play, 2 = pause/resume, 4 = stop, 8 = prev track, 10h = next track, 20h = repeat track, 40h = repeat disc, 80h = shuffle. If a second byte is specified then 1 = favourites available.

0D = Favourite ID of currently playing content. FFh if not a favourite.

Automatic notifications for any changes to play status are sent to all zones on the unit implementing the source.

First byte is the source ID followed by one or two bytes which is a bitfield 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 bitfield.

First byte is message type:

00 = Information

01 = Error

02 = Success

Request time

( 41 )

Settings management

( 42 )

PCM stream management

(obsolete)

( 43 )

Zone gain

( 44 )

User accounts

(obsolete)

( 45 )

Source specific metadata

( 46 )

Source specific metadata request

( 47 )

Power on volume level

( 48 )

1 byte in request,

7 bytes in response

3+ bytes

Min 4 bytes in request.

1 byte

Followed by UTF-8 string. Sent to whichever zones and interfaces are relevant.

Requests the time. 00 = Immediately, 01 = the next time it changes.

The response contains the time in UTC if available:

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)

Two bytes for the unit ID, followed by instruction:

00 = Query settings lock state.

01 = Lock settings.

02 = Unlock settings. If a command, this must be followed by 4 bytes for the password. If status is being reported only the instruction byte is sent.

03 = Restore default settings. Must be followed by two bytes 55h and

AAh.

Sent to all zones.

Request:

Device ID (2 bytes)

Purpose (1 byte)

Command (1 byte)

[Command specific data]

The only command currently supported is 01h for delete.

F4 – 0C ( -12 dB – +12dB )

3+ bytes

2+ bytes

2 bytes

1 byte

Two bytes for the unit ID, one byte for list entry index, followed by strings for user name and password. Each string is null terminated. 1 byte follows the strings which specifies the resource being protected.

Currently only 01 is defined for the web application which uses the following further parameters.

12 bytes for zone enable (zones 0..95). Bit 0 of the 12 th byte corresponds to zone 0 and bit 7 of the 1 st

byte corresponds to zone 95.

3 bytes for source enable (S1..S16, Media player). Bit 0 of the 3 rd byte corresponds to S1 and bit 7 of the 2 nd byte corresponds to S16. Bit 2 of the 1 bits 0 and 1 are reserved.

st byte is the media player,

2 bytes for preset enable (presets 1..14). Bit 0 of the 2 nd byte corresponds to preset 1.

1 byte for other enable where bit 0 enables the Settings button.

No parameters follow the list entry index for the 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.

First byte is source ID. Second byte is metadata entry index beginning at 0. Remaining bytes is the metadata in UTF-8 format.

Support for this command and the number of supported metadata entries is device specific.

Unsupported by Axium products.

First byte is source ID. Second byte is metadata entry index beginning at 0. Support for this command and the number of supported metadata entries is device specific.

Unsupported by Axium products.

00 – A0 ( 0 – 160 )

Use the “Amplifier special features” command to enable/disable this feature.

Request keypad zone assignment

( 49 )

Keypad port/zone mapping

( 4A )

KPE key event

( 4B )

KPE LED control

( 4C )

Keypad port occupancy

( 4D )

Arbitrary data storage

( 4E )

4 bytes in request,

5 bytes in response

2+ bytes

2 bytes

4 bytes

2 bytes in request,

3 bytes in response

2+ bytes

Distributed Source

Definition

( 4F )

0 or 1 byte

(requests)

2 or 18+ bytes

(commands)

Intended to be only sent by keypads connected to amplifier keypad ports. Data is a 4 byte unique identifier which is returned in the response followed by the zone (0..95 or FFh). If the amplifier has received the same unique identifier in a request from another keypad, the amplifier will not respond and the keypad must time out the request and retry using another identifier.

Sent to all zones. Request not relayed to other interfaces and response is returned only on interface receiving the request.

Used for setting up the zones assigned by the Request keypad zone assignment command.

First two bytes for the unit ID. This is followed by a series of bytes which are the zones for each keypad port and are 0..95 or FFh. If

FFh, the corresponding output zone is used. For example if the amp is on zones 11 to 18 and the data bytes are “0B 0B 0B FF FF FF FF

FF” then keypads on ports 1..4 are all assigned to zone 11 and keypads on ports 5..8 are assigned zone 15..18. If there are only two data bytes then the command acts as a request.

Unsupported by Axium products. Also see Keypad port options .

Used for extending the built-in functionality of the KPE keypad and is reported on key press, long press and release events.

First two bytes represent a key code where buttons 1..8 (top left to bottom right) are 01h, 02h, 04h, 08h, 10h, 20h, 40h, 80h. The “set” button is 100h. Buttons can be combined in which case the key codes are ORed together. These codes are ORed with the following:

1000h – press event

2000h – long press event

4000h – release event after short press

8000h – release event after long press

Events can be aggregated together if they occur in quick succession after one another. This command can be sent to the KPE without data for querying the current key.

Unsupported by Axium products.

Two bytes per LED group. The first byte of each group is a bitfield which selects if the LED is controlled by the KPE (0) or if the LED is controlled by commands (1). The second byte is a bitfield of the active LEDs. The first group is for the button LEDs and uses the

same key codes as the KPE key event command. The second group

is for the top row of LEDs where 01h is the left most LED and 80h is the right most LED. The command can be sent to the KPE without data for querying the LED status.

Unsupported by Axium products.

First two bytes for the unit ID. The 3 rd byte of the response is a bitfield

of keypad ports that are occupied by a keypad which sends Request keypad zone assignment commands. The response is returned a

few seconds after the request.

Unsupported by Axium products.

First two bytes provide an ID for the string of data in the range 0000h to 3FFFh. This is followed by the data to be stored (length restricted only by available RAM and storage space). If the MSB of the ID is set

(i.e. ID is in the range 8000h to BFFFh) and there are no data bytes then the entry will be deleted. Note: storage space is limited so although there are 16384 possible IDs, this does not imply that 16384 strings can be stored. To reduce communications overhead, responses to requests are only returned on the interface that received the request.

Unsupported by Axium products.

0 data bytes: request for all distributed source definitions

1 data byte: request for a specific distributed source definition.

2 data bytes (where second byte = 00): unused distributed source.

18+ data bytes: distributed source definition where first byte is

00..1Fh for the distributed source (00 = distributed source 1). Bytes

Distributed Source

Audio Delay

( 50 )

4+ bytes for command. 0 bytes for request.

2..17 is the unique identifier for the device. Byte 18 is the physical source on the device using device type specific IDs. Remaining bytes is the UTF-8 name of the distributed source.

Must be sent to all zones.

First 4 bytes is a big endian bit field specifying which of the 32 distributed sources are specified by the command. This field will only contain valid distributed sources when generated by an amplifier.

Remaining bytes specify the audio delay as defined by the Audio delay command.

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.

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:

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

00 = amplifier

01 = keypad

02 = remote control

03 = video switch

04 = media server

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 1:

80h = ax4750

81h = ax4752

82h = mza-4.7

83h = 451/452-AV

84h = AX-800DAV (8 zones, 8 sources)

85h = reserved

86h = AX-400DA (4 zones, 6 sources – 3 analogue)

87h = reserved

88h = reserved

89h = AX-400DA (4 zones, 6 sources – 4 analogue)

The preset schedule command is only valid when preset 1 or 2 is currently being configured.

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

10

11

12

0C

0D

0E

0F

08

09

0A

0B

04

05

06

07

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

Continuous 1

00

01

2 3 4

-

5

-

6

-

7

KEY

-

Stops repeating the current key

21 41 61 81 A1 C1 E1

Aux

02

03

22

23

42

43

62

63

82

83

A2

A3

C2

C3

E2

E3

Tuner

CD Bank

24

25

26

27

28

29

2A

2B

44

45

46

47

48

49

4A

4B

64

65

66

67

68

69

6A

6B

84

85

86

87

88

89

8A

8B

A4

A5

A6

A7

A8

A9

AA

AB

C4

C5

C6

C7

C8

C9

CA

CB

E4

E5

E6

E7

E8

E9

EA

EB

CD

Vol Up

Ch Up (2)

Random (1)

Play

Power

+ Track skip (0)

- Track skip (9)

2C 4C 6C 8C AC CC EC

Disc skip

2D 4D 6D 8D AD CD ED

Mute

2E 4E 6E 8E AE CE EE

Fast Forward (8)

2F 4F 6E 8F AF CF EF

Rewind (7)

30 50 70 90 B0 D0 F0

Pause (6)

31 51 71 91 B1 D1 F1

Vol Down

32 52 72 92 B2 D2 F2

Ch Down (5)

11

12

13

14

0D

0E

0F

10

15

16

17

18

09

0A

0B

0C

05

06

07

08

01

02

03

04

13

14

KRXm

REPEATS

33

34

53

54

73

74

93

94

B3

B4

D3

D4

F3

F4

Band (4)

Stop (3)

KEY

Continuous 1 2 3 4

00 20 40 60 80

5

A0

6

C0

7

E0

Volume Down

21

22

23

24

41

42

43

44

61

62

63

64

81

82

83

84

A1

A2

A3

A4

C1

C2

C3

C4

E1

E2

E3

E4

Volume Up

DVD

Aux

MCD

25

26

27

28

29

2A

2B

2C

45

46

47

48

49

4A

4B

4C

65

66

67

68

69

6A

6B

6C

85

86

87

88

89

8A

8B

8C

A5

A6

A7

A8

A9

AA

AB

AC

C5

C6

C7

C8

C9

CA

CB

CC

E5

E6

E7

E8

E9

EA

EB

EC

DMS

Tuner

CD

Play

Fast Forward

Standby

Down

Up

2D

2E

2F

30

31

32

33

34

35

36

37

38

4D

4E

4F

50

51

52

53

54

55

56

57

58

6D

6E

6E

70

71

72

73

74

75

76

77

78

8D

8E

8F

90

91

92

93

94

95

96

97

98

AD

AE

AF

B0

B1

B2

B3

B4

B5

B6

B7

B8

CD

CE

CF

D0

D1

D2

D3

D4

C5

C6

C7

C8

ED

EE

EF

F0

F1

F2

F3

F4

F5

F6

F7

F8

Mute

Rewind

Pause/Stop

1

4

7

-/--

Disc

Select

Group

Random

2

1D

1E

1F

FF

19

1A

1B

1C

39 59 79 99 B9 C9 F9

5

3A 5A 7A 9A BA CA FA

8

3B 5B 7B 9B BB CB FB

0

3C 5C 7C 9C BC CC FC

3

3D 5D 7D 9D BD CD FD

6

3E 5E 7E 9E Be CE FE

9

-

3F 5F 7F 9F BF CF -

-

AV

Stops continuous key press

0C

0E

10

11

05

08

09

0A

12

13

14

15

01

02

03

04

AX-KPB

REPEATS KEY

Continuous 1 2 3 4

00 20 40 60 80

5

A0

6

C0

7

E0

Bank 6 (DVD)

21

22

23

24

41

42

43

44

61

62

63

64

81

82

83

84

A1

A2

A3

A4

C1

C2

C3

C4

E1

E2

E3

E4

Bank 5 (AUX)

Bank 4 (DMS)

Bank 3 (Cable)

Bank 2 (Tuner)

25

28

29

2A

2C

2E

30

31

32

33

34

35

45

48

49

4A

4C

4E

50

51

52

53

54

55

65

68

69

6A

6C

6E

70

71

72

73

74

75

85

88

89

8A

8C

8E

90

91

92

93

94

95

A5

A8

A9

AA

AC

AE

B0

B1

B2

B3

B4

B5

C5

C8

C9

CA

CC

CE

D0

D1

D2

D3

D4

D5

E5

E8

E9

EA

EC

EE

F0

F1

F2

F3

F4

F5

Bank 1 (CD)

Volume Up

Axium Standby Command

Axium Mute Command

Volume Down

Standby/Mute

5

4

3

2

1

Skip

1A

1B

1C

1D

16

17

18

19

1E

1F

FF

36 56 76 96 B6 D6 F6

Stop

37 57 77 97 B7 D7 F7

Play

38 58 78 98 B8 D8 F8

0

39 59 79 99 B9 D9 F9

9

3A 5A 7A 9A BA DA FA

8

3B 5B 7B 9B BB DB FB

7

3C 5C 7C 9C BC DC FC

6

3D 5D 7D 9D BD DD FD

-Track

-

3E 5E 7E 9E BE DE FE

Pause

3F 5F 7F 9F BF DF -

+Track

-

Stops continuous key press

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

advertisement