^54 - The Baselink Area Port

This is a read/write port for the logical baselink area(BLA) number of a feature on a device.
For a load controller this will be the baselink area assignment of each output. For sensors and UIs it will be things like motion control, light control, native baselink area, and temperature baselink area.

You can use this to dynamically change the baselink area of all the buttons or switches that are still on the default baselink area.

Syntax

LDA ^54,x //loads from the baselink area value
STA ^54,x //writes to the baselink area value
Where x is the proxy channel index of the thing you want the baselink area of.

Some of the values will be from baselink area cascading objects.
^54 Baselink area subport mapping

SubPort

Load Controller

Sensor

UI

^54,0

Output 1

Motion BLA

Native BLA

^54,1

Output 2

Closed Loop BLA

Proximity Sensor BLA

^54,2

Output 3

Device BLA

^54,3

Output 4

Open Loop BLA

^54,4

Output 5

Device BLA

Temperature BLA

^54,5

Output 6

^54,6

Output 7

^54,7

Output 8

^54,8

Output 9

^54,9

Output 10

^54,n

Output n-1

Examples

Example 1

This task changes the baselink area of all default functions to an baselink area set by the dipswitches.

Startup1()
{
    Name="Start Task"
    LDA ^59,0           //Get the dipswitch port
    STA ^54,0           //Store into the native baselink area
    Null
}

Example 2

This task changes the baselink area of an output.

{
    Name="Area updater"
    LDA ~12     //Load the new baselink area
    STA ^54,5   //Store it as the new baselink area for output 4.
    Null
}

Example 3

This task only runs if the logical baselink area doesn’t match.

{
LDA ^54,0       //Load the native baselink area
CMP #HVAC_AREA  //Is this device programmed for HVAC
BNE LightingOFF //If not go turn the lights off
Null            //If so end
...
}