CRC
The CRC is a simple data checking system. Basically, this is just the sum of
the lamps address and bytes above. The value is radix to 8 bits. If the lamp
address was 0 (bus address value 16) and the pan and tilt were both at centre
and the lamp was switched on and all other status bits were 0 the values
would be Hex 110, 80, 80, 01. This would give a CRC value of 11.
Each lamp connected to the bus will always send the data sequence above
after it detects its address on the bus. This is basically broadcast information
which will be picked up by any panel whose lamp address value matches the
currently transmitting lamp address. In this way a panel, which can access
more than one lamp, will always update to reflect the status of the currently
selected lamp more or less instantly.
EXTERNAL INTERFACE TO LAMPS
Interfacing to FBUS is simple. Any external interface must act as a slave and
only send data when given an address slot. The address of an external
interface can be any of the panel addresses providing these are not in use by
other panels connected to the bus. To receive data from a lamp simply wait
for the specific lamps address to be present on the bus then load the next six
bytes which will comprise the lamps transmitted data as described above. A
detailed description of transmitting and receiving is described below.
TRANSMITTING TO A LAMP
Basically, any sending device mimics a control panel. The full range of panel
transmit commands, as described above, can be employed. Data can be sent
to any lamp on the system. Two transmit examples are listed below.
EXAMPLE 1
Sending a lamp on/off command using panel 0 address and sending to lamp
address 0. Note that the lamp will change switched state each time this
command is sent therefore this should only be sent once.
1. Wait for panel address 0 (Hex 100) to be received from the bus.
2. Transmit lamp 0 address (Hex 110) within 1mS. Lamp address 0 is
physical address 16 (Hex 10). When a panel sends to a lamp bit 8 is
set (hex 100).
3. Send DATA_LAMP_BUTTON Command (Hex value 0A) within 1mS.
4. Send CRC value, in this case Hex 110 + Hex 0A = 11A after radix to
8 bits = 1A. This completes the transmission
EXAMPLE 2
Sending a half speed pan clockwise command using panel 1 address and
sending to lamp address 6.
– Note that in this example the lamp will continue
to pan as long as the command is repeated.
1. Wait for panel address 1 (Hex 101) to be transmitted by the master.
2. Transmit lamp 6 address (Hex 16) within 1mS. Lamp address 6 is
physical address 22 (Hex 16).
3. Send DATA_PAN_JOYSTICK Command (Hex value 01) within 1mS.
4. Send pan value half speed = 128 + (64/2) = Hex A0 within 1mS.