Difference between revisions of "Component: DALI Slave (Comms: System)"

From Flowcode Help
Jump to navigationJump to search
 
(6 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
==DALI Slave component==
 
==DALI Slave component==
 
A serial based communications protocol designed for controlling lighting, specifically digitally controlled dimmable fluorescent ballasts. DALI requires the signals to be level shifted from  VCC and GND to +9.5V - +25.5V and GND using external circuitry.  
 
A serial based communications protocol designed for controlling lighting, specifically digitally controlled dimmable fluorescent ballasts. DALI requires the signals to be level shifted from  VCC and GND to +9.5V - +25.5V and GND using external circuitry.  
 +
 +
==Component Pack==
 +
 +
COMMSC
  
 
==Detailed description==
 
==Detailed description==
 +
 +
 +
 +
  
 
''No detailed description exists yet for this component''
 
''No detailed description exists yet for this component''
Line 22: Line 30:
  
  
DALI Master Example, reads the value of a keypad and sends out DALI commands based on the key pressed, 1 = switch on a slave's light, 2 = switch off a slave's light, 3 = read the slave's light level.
+
 
{{Fcfile|DALI_Master.fcfx|DALI Master Example1}}
+
 
 +
 
 
DALI Slave Example, listens for DALI messages and checks that the group is correct before attempting to process the request and if required reply to the master.
 
DALI Slave Example, listens for DALI messages and checks that the group is correct before attempting to process the request and if required reply to the master.
 
{{Fcfile|DALI_Slave.fcfx|DALI Slave Example1}}
 
{{Fcfile|DALI_Slave.fcfx|DALI Slave Example1}}
 +
 +
 +
For a DALI Master example see: [[Component: DALI Master (Comms: System)]]
  
 
==Downloadable macro reference==
 
==Downloadable macro reference==
Line 138: Line 150:
 
|-
 
|-
 
| colspan="2" | Configures the UART serial interface. 
 
| colspan="2" | Configures the UART serial interface. 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawSend'''
 
|-
 
| colspan="2" | Sends data to the LCD display 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | data
 
|-
 
| colspan="2" | The data byte to send to the LCD 
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | type
 
|-
 
| colspan="2" | A boolean to indicate command type: true to write data, false to write a command 
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadAnalogAsByte'''
 
|-
 
| colspan="2" | Reads one of the analogue components as an byte value 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Channel
 
|-
 
| colspan="2" | 0 = LDR, 1 = POT 
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadAnalogAsInt'''
 
|-
 
| colspan="2" | Reads one of the analogue components as an Integer value 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Channel
 
|-
 
| colspan="2" | 0 = LDR, 1 = POT 
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RemapCharacter'''
 
|-
 
| colspan="2" | Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters.  The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | RemapIdx
 
|-
 
| colspan="2" | Remap Index, Range: 0 to (Remap Characters - 1) 
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | SearchCharacter
 
|-
 
| colspan="2" | Character to look for a replace 
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | ReplacementCharacter
 
|-
 
| colspan="2" | New character value to use in place of the search character. 
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start'''
 
|-
 
| colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising. 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetLEDState'''
 
|-
 
| colspan="2" | Sets the state of a single LED 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Port
 
|-
 
| colspan="2" | 0 = PortA, 1 = PortB 
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | LED
 
|-
 
| colspan="2" | 0 = LED0, 7 = LED7 
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | State
 
|-
 
| colspan="2" |  
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
 
|-
 
| colspan="2" | Must be called before any other CAN component macros to enable and initialise the CAN peripheral.  
 
 
|-
 
|-
 
|-
 
|-
Line 294: Line 165:
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
 +
|-
 +
|-
 +
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Serial Properties
 
|-
 
|-
 
|-
 
|-
Line 305: Line 180:
 
|-
 
|-
 
| colspan="2" |  
 
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DALI Slave Properties
 +
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
Line 316: Line 195:
 
| colspan="2" | Address ranging from 0-15 
 
| colspan="2" | Address ranging from 0-15 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''
 
 
|-
 
|-
 
|-
 
|-

Latest revision as of 17:19, 9 November 2022

Author MatrixTSL
Version 1.0
Category Comms: System


DALI Slave component

A serial based communications protocol designed for controlling lighting, specifically digitally controlled dimmable fluorescent ballasts. DALI requires the signals to be level shifted from VCC and GND to +9.5V - +25.5V and GND using external circuitry.

Component Pack

COMMSC

Detailed description

No detailed description exists yet for this component

Examples

DALI Slave Example, listens for DALI messages and checks that the group is correct before attempting to process the request and if required reply to the master. FC6 Icon.png DALI Slave Example1


For a DALI Master example see: Component: DALI Master (Comms: System)

Downloadable macro reference

Fc9-comp-macro.png ReceiveForwardFrame
Attempts to receive an 16-bit command from the master controller. 0xFFFF indicates timeout or no reply 
Fc9-u16-icon.png - UINT Return


Fc9-comp-macro.png CheckForIndividualAddress
Tests the 16-bit incoming data for the defined individual address Returns 0 for no match, returns 1 for a match 
Fc9-u16-icon.png - UINT Data
 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png CollectDataByte
Returns the data byte from a 16-bit data packet 
Fc9-u16-icon.png - UINT Data
 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png CheckForGroupAddress
Tests the 16-bit incoming data for the defined group address Returns 0 for no match, returns 1 for a match 
Fc9-u16-icon.png - UINT Data
 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png CollectPacketType
Returns if the incoming packet was data or a command. Return of 0 = Data Return of 1 = Command 
Fc9-u16-icon.png - UINT Data
 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png TransmitBackwardFrame
Send out a 8-bit frame consisting of a data byte. 
Fc9-u8-icon.png - BYTE Data
Data Byte 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png Initialise
Configures the UART serial interface. 
Fc9-void-icon.png - VOID Return



Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png Serial Properties
Fc9-type-5-icon.png TX Pin
 
Fc9-type-5-icon.png RX Pin
 
Fc9-conn-icon.png DALI Slave Properties
Fc9-type-21-icon.png Individual Address
Address ranging from 0-63 
Fc9-type-21-icon.png Group Address
Address ranging from 0-15 
Fc9-conn-icon.png Simulation
Fc9-type-16-icon.png API