Owner manual
This normalized trigger value is inverted (one’s complement: all bits complemented) if the action’s Value invert 
checkbox calls for it, then scaled to range from 0 to the action’s Max. Value parameter. The resulting number is 
plugged in to the action’s Value Byte and transmitted with the rest of the action. Due to the fact that LecNet com-
mands cannot contain bytes larger than 127, Max. Value is never larger than 127, and some adjustment to the 
normalized trigger value is always performed. 
Owing to this normalization process, a volume control action can work equally well with an AXlink level or continuous 
MIDI controller (fine control), or an AXlink channel or MIDI on/off controller (hard on or off only). In fact, a volume 
action used with an AXlink channel is essentially a backwards mute button. 
Here is an example, for clarity. Let us assume that AXlink level 1 is mapped to the AM8 Master Volume action in the 
action map.  An AXlink SEND_LEVEL command sets level 1 to 63, one fourth of the maximum setting.  AXlink levels 
range from 0 to 255, so the number 63 is already normalized, however this action calls for inversion. The one’s 
complement of 63 is 192 (to see why, convert to binary: all bits are complemented). The value 192, from the range of 
0 to 255, is now scaled to fit the range of 0 to 31, as the action requires. This yields the final value of 24, which is sent 
to the AM8 along with the rest of the action bytes. Note that the value 24 is one fourth of the way from 31 to 0, which 
is precisely the desired result. 
The scaling and inversion options on monitors work essentially the same way, in reverse. If the value being monitored 
represents a level or amount of something, the type of information that might plausibly be displayed as a bar graph on 
an AMX touch panel, the scaling capability is provided to save on coding. 
Each LecNet monitor retrieves a single value byte from the response string. LecNet response bytes are not limited to 
the range of 0-127 as LecNet command bytes are, so this value can be anything from 0 to 255. If this byte contains 
simple on/off or bitwise information, it should not be scaled. The Max. Value parameter in this case should be 255. It 
still may be desirable to invert the bits, depending on the purpose of the monitor. For values representing continuous 
levels, it is customary and usually desirable to normalize that value to the range of 0 to 255. 
The translation occurs as follows: the LecNet monitor inquiry is performed and the value byte extracted from the 
response. The value byte is inverted (one’s complement) if required. It is then scaled from its original range of 0 to 
255 to the range dictated by the monitor’s Max. Value parameter (255 for no scaling). The result is then sent to the 
AXlink master according to the mapping method. Here is a list of AXlink mappings and how values are transmitted. 
AXlink Mapping  How sent 
Channel  zero: off, nonzero: on 
Level  as is 
8 Channels  one bit per channel 
Similarly to actions, therefore, continuous and on/off type signals may be interchanged and thanks to the scaling and 
inversion will “do the right thing”. 
For clarity, here is an example. Let us assume that an AM8’s Comp/Lev Atten (compressor/leveler attenuation) is 
mapped to AXlink level 1, for use as a bargraph display. (Note that such a display is likely to appear somewhat 
choppy as it will be updated at most a few times a second.) The LecNet inquiry yields a response of 10, one sixth of 
the maximum value of 60 available from this function. The monitor does not require that the value be inverted but 
does scale it from the range of 0 to 255 to the range of 0 to 60. The scaled value is 41, one sixth of the way from 0 to 
255. Thus, the bargraph button associated with level 1 shows the correct proportion at all times, with no AXCESS 
coding required besides CONNECT_LEVEL and CREATE_LEVEL. 
22 










