Direct Inject Tool
Introduction
For some control situations, generating messages on the fly as described in the Third-party Control Protocol section of the help is too complex. There are two methods of generating control strings for simpler controller configurations that only need to send a small number of fixed messages to a Soundweb London network. The first is through the Direct Inject toolbar in HiQnet London Architect. The second is using the Direct Inject message tool.
Direct Inject Toolbar in HiQnet London Architect
The Direct Inject toolbar may be useful if a small number of fixed messages is required for your third-party controller.
To generate a control string that sets a control parameter to a specific value, simply select the control, set it to the desired value using soft-operate mode, and copy the contents of the DI toolbar.
For example, to generate a message to set a gain object to 0dB, first select the gain control:
Then copy the string from the toolbar:
Note: For messages to appear in the toolbar you will need to be in design mode or soft-operate mode (Soft-operate mode is activated by holding the ALT key while in design mode and adjusting the desired control).
The format of the strings generated by the toolbar can be customized
by pressing the ellipsis icon to open the Message Setup dialog:
The toolbar can be configured to provide many different serial
string formats and DI message types, in decimal and hexadecimal,
with surrounding keywords if required, allowing you to save the
time needed to format control messages for your controller.
For example, if your controller uses a function called SEND, followed by a list of bytes in quotes, then the toolbar should be configured as follows:
The above example generates:
SEND "0x02, 0x88, 0x00, 0x01, 0x1B, 0x83, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x03"
For a C-style format, try the following:
Which generates:
char message[] = {0x02, 0x88, 0x00, 0x01, 0x1B, 0x83, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x03};
Direct Inject Tool
The intention of this tool is for testing and debugging. It can be used to generate strings in a similar way to London Architect, but will allow you to send messages over a serial connection and over Ethernet and also provides testing for subscription.
Launch the DI tool by clicking on the DI box icon on the message toolbar.
Note: For the curious, the DI box icon is a picture of the BSS Audio AR-133 direct-inject box.
Menus
Options
Show
Incoming bytes
This option controls whether the received bytes are shown in hex. This is useful for debugging serial trigger objects.
Incoming ACKs
This option controls whether ACKs are shown in the received message traffic window. The word ACK is shown in the window when an 0x06 byte is received back from the device. If you have incoming bytes also switched on, you will see ACK 0x06.
Incoming messages, Outgoing messages
These two options control whether the sent and received messages are shown in the message traffic windows. They default to on which is the most useful. Consider switching them off if you have lots of traffic, e.g. many subscriptions, to improve performance of the graphical meters in the meter window (described below).
A double-click in either of the message traffic windows will clear them.
Acknowledge message
This option controls whether the Acknowledge character is sent in response to received messages. It defaults to ON.
Log
Control ports
This is a useful debug feature if you need to closely inspect the control ports on a device, perhaps tracking down interference. When used in conjunction with the control port subscriptions in the toolbox window, it will write real-time control port values to a file called cplog.txt in the directory that the application was launched from (usually "C:\Program Files\Harman Pro\London Architect\"). It is a comma separated value file, as shown:
port: 0, 001,
port: 0, 255,
Auto-track London Architect object
This option connects London Architect to the DI message tool so that the details of the currently selected State variable are copied across to assist in simple testing. See full description in the following pages.
Auto-track London Architect message toolbarSimilar to tracking the selected object, this option copies the message string from the London Architect message toolbar in the DI message tool so that it can be sent to a device on the selected communications port.
Settings
Comms
This option launches the communications setup dialog.
Show
Toolbox
Show the toolbox window.
GPX/GPZ Toolbox
Show the toolbox window for the BLU-GPX and BLU-GPX
Meters
Show the meters window.
Network window
Show the network window (when using Ethernet). There is also a button to show the network window, on the left hand side of the main window.
Help
About
Show the about box, with version information.
Getting started
You must first choose a communication method from the Settings dialog, available by selecting Comms from the Settings menu. The available communication methods are RS-232 (serial) and TCP/IP (Ethernet).
RS-232 Connection
A serial connection requires you to choose a valid COM port and baud rate. The Direct Inject Message Tool provides a large selection of ports to allow the use of serial servers such as the Moxa multi-port server. The default rate for Soundweb London devices is 115200, but this can be changed in the device's Properties view in HiQnet London Architect. The rate selected in the Message Tool must match the rate set for the device in HiQnet London Architect. Note that HiQnet London Architect may be using one or more serial ports open, if it is configured to use them for FDS devices in the Serial tab of the Application Preferences dialog. These must be unchecked and Architect restarted if you wish to use those ports in the Message Tool. See the Third-party Control Protocol section for information on the physical connection required.
Direct Inject Message Tool - Communication Settings
After selecting the correct settings, the status bar of the Message Tool window will indicate whether opening the port was successful.
Successfully connected to the serial port on COM1.
Another application is using the serial port, choose another or close the other application.
TCP/IP Connection
Ethernet is a little more involved. Select the Ethernet option, then choose a network adapter for the DI message tool to use. To aid sending messages to units, we have provided two methods of viewing the devices on the network and therefore retrieving their IP addresses.
When you are running London Architect at the same time as the DI message tool, the Ethernet port for device discovery (3804) is in use by Architect, so we provide a list of devices directly from Architect. If you are using the DI message tool on its own, then it can discover the devices on the network on its own, via a UDP connection.
The network view pops out the side of the main dialog by choosing 'Network window' on the Show menu or by pressing the thin button on the left of the Message settings section of the main dialog.
When this view is populated with units, you will see their name and device type as an icon. As you click on a unit in this tree view, the application will attempt to make a TCP connection to the unit on port 1023 (the DI message port).
The status of this connection is shown in the status bar of the main dialog.
If successful, you can press the locate button in this pop-out view to verify the connection. This will flash the locate button on front and rear of the unit.
Successfully connected to a unit on Ethernet with a remote IP address of 10.1.4.4.
Toolbox
The Direct Inject message tool provides a useful toolbox for sanity checking. Open this small dialog by clicking on the Show menu, then Toolbox. To very simply check you are connected to the unit correctly and at the right baud rate, press the Locate button on this toolbox dialog. The unit will flash its locate button on the front and rear of the unit.
The following controls are for simple test and debugging, they are not intended to be used for a live system. The supported methods of control are in London Architect where there are duplicate controls on the device control panel. Use these at your own risk.
Contrast
Slide this control to adjust the display contrast on the device.
Logic outputs
The logic outputs on the Soundweb London Device can be directly set from these controls.
Control ports
These controls allow subscription directly to the control port value. Click on each of the edit boxes to subscribe. When subscription messages are sent back from the device, the value is shown in the box for that control port. Click again to toggle the subscription off. Use this in conjunction with the option to log control port values if required.
CobraNet
Meters on is a control to globally switch the CobraNet bundle meters on and off.
When the Free cycles option is checked, a subscription message is sent to the Free cycle meter state variable. This will show a percentage of free processing cycles on the CobraNet card's processor. These two controls give a very quick method of determining the amount of processing cycles spent on meters.
Set time from PC
Press to set the time on the Soundweb London device. This is a simple test function, and does not take account of daylight saving adjustments on your local PC.
GPX/GPZ Toolbox
The Direct Inject Message GPX/GPZ Toolbox is functionally the same as the Toolbox described above with the following exceptions.
Logic Outputs
The GPX/GPZ Toolbox offers control over 23 Logic Output ports as oppose to the 6 ports which are found at the rear of the other London processing devices.
Relay Outputs
The Relay Outputs on the BLU-GPX and BLU-GPZ can be directly set from these controls.
Control Ports
These are subscribed as described in the Toolbox topic above. 36 Control Ports can be subscribed as oppose to the 12 which are available in the other London processing devices.
Cobranet
Cobranet is not available on the BLU-GPX or BLU-GPZ.
Synchronizing with London Architect's DI Toolbar
Strings generated by the Direct Inject toolbar in HiQnet London Architect can be sent using the Direct Inject message tool to test your setup. They can be generated in decimal or '0x'-prefixed hex, separated by either spaces or commas. When parsing the string in the toolbar, the DI tool looks for an '0x' first; if present the string is interpreted as hex, decimal otherwise. To make use of this facility, configure the message format in HiQnet London Architect as follows:
Example string formats compatible with the DI tool:
Decimal: 2 136 0 1 27 131 0 1 0 0 0 0 0 0 0 139 3
2,136,0,1,27,131,0,1,0,0,0,0,0,0,0,139,3
Hex: 0x02 0x88 0x00 0x01 0x1B 0x83 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x8B 0x03
0x02,0x88,0x00,0x01,0x1B,0x83,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8B,0x03
Now enable toolbar tracking in the DI message tool by checking the "Auto-track London Architect message toolbar" entry in the Options menu.
The string that London Architect is displaying will be automatically shown in the DI message tool in real time, so that you don't need to copy and paste it.
Examples
Controlling a Gain
The following is an example of using the message tool to set a gain:
Enable the Auto-track London Architect Object setting in the DI tool's Options menu.
Select HiQnet address in the Message Settings part of the DI message tool dialog. In the Properties window, click on the Gain parameter of a gain processing object. The HiQNet address in the DI tool will change change to that of the gain object.
Select a message type of Set and a data type of 'Gain, dB.' Data can be entered directly in decibels with the 'Gain, dB' data type. The current value is copied from HiQnet London Architect along with the other object data.
Note that the Node, VD, and Object ID fields will accept both hexadecimal and decimal numbers; the numbers generated by HiQnet London Architect for these values are hexadecimal. The State Variable IDs generated in HiQnet London Architect are decimal numbers so these should be entered into the DI tool in decimal.
If you wish to enter the Node, VD, and Object ID of a processing object manually, refer to Common Object and State Variable IDs for a table of common Object IDs. Note in particular that all audio processing objects live in virtual device 0x03, and that node 0x0000 refers to the device directly connected to the DI tool via TCP/IP or RS-232.
Note: When entering hexadecimal numbers in any of the edit fields, prefix them with 0x.
Subscribing to Meters
The following example sets up the message tool to display the four input meters from an Analogue Input card installed in slot A.
Select Subscribe as the message type.
The VD should be 0x03. The Object ID should be 0x000001, which is the first I/O card.
Set the State Variable ID to 0, which is the first channel's meter (for Analogue I/O cards).
The data field is the subscription rate in milliseconds, so a value of 100 will produce meter updates at a rate of 10 updates per second. Setting this value too low may adversely affect control system and logic performance.
Press Send to send this subscribe message.
Repeat this process with State Variable IDs of 6, 12, and 18.
The meter window provides four meters which listen to messages from Virtual Device 0x03, and the Object and State Variables IDs that you provide in the edit boxes. The value is always drawn in decibels. The setting of the Data Type field is ignored when sending a subscribe command. To unsubscribe, change the message type to Unsubscribe. The Data field is not used in this case, while all other settings remain the same as when subscribing. See the Third-party Control Protocol section of the help for more information on the message protocol.
Set the meters window up as follows:
The top edit box on each channel is the Object ID to listen to. The bottom edit box is the State Variable ID to listen to. This window is configured to show all four meters from an Analogue Input card in slot A.
See Common Object and State Variable IDs for a complete list of I/O card and meter State Variable IDs.
To subscribe to state variables other than indicators and meters, the Data field must be set to zero (0). When you issue the subscribe command to a State Variable, the current value of that state variable is immediately sent back. Further updates are sent when the state variable changes, unless the change was triggered by the controller holding the subscription. It is not possible to subscribe to non-meter state variables with a periodic update rate.
You may use the subscribe command on state variables effectively as a GET command. Each time you send a subscribe message, the current value is sent back, though you should immediately unsubscribe if you don't want to receive future updates.
Control System Debugging
A good way of debugging a system is to be online to the Soundweb London DSP unit with HiQnet London Architect and to run the Direct Inject message tool connected to the unit via TCP/IP or its serial port.
With both HiQnet London Architect and the London Direct Inject application open, messages can be tested in both directions; sending from the unit by adjusting a control in HiQnet London Architect and by sending from the message tool.
Messages sent from HiQnet London Architect will appear in the incoming box and serve as examples of message construction for sending from your piece of equipment, since they will be the same.
Remember, start simple with perhaps just a couple of mute buttons to establish you have everything cabled correctly and each unit configured correctly.