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

From Flowcode Help
Jump to navigationJump to search
 
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
+
{| style="width:50%"
 
 
{| width="50%"
 
 
|-
 
|-
| width="20%" style="color: gray;" | Author
+
| width="20%" style="color:gray;" | Author
 
| MatrixTSL
 
| MatrixTSL
 
|-
 
|-
| width="20%" style="color: gray;" | Version
+
| width="20%" style="color:gray;" | Version
| 1.0 (Release)
+
| 1.0
 
|-
 
|-
| width="20%" style="color: gray;" | Category
+
| width="20%" style="color:gray;" | Category
 
| Comms: System
 
| Comms: System
 
|}
 
|}
  
  
 +
==DALI Master 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.  The master component can addess up to 64 individual slaves & up to 16 groups.
  
==[[File:Component Icon 5aefac05_ee5e_4d51_9f31_05281900a97e.png|Image]] DALI Master component==
+
==Component Source Code==
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.
 
The master component can addess up to 64 individual slaves & up to 16 groups.
 
  
==Examples==
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_DALI_Master.fcfx FC_Comp_Source_DALI_Master.fcfx]
  
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.
+
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_DALI_Master.fcfx FC_Comp_Source_DALI_Master.fcfx]
  
{{Fcfile|DALI_Master.fcfx|DALI Master Example1}}
+
==Detailed description==
  
  
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}}
 
  
  
==Downloadable macro reference==
 
  
===<span style="font-weight: normal;"><u><tt>ReceiveBackwardFrame</tt></u></span>===
 
Attempts to receive an 8-bit reply
 
  
0 indicates timeout or no reply
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>TransmitForwardFrame</tt></u></span>===
 
Send out a 16-bit frame consisting of the 8-bit address and data bytes.
 
  
After sending the controller will attempt to receive
 
  
If a reply is detected then the Return value will equal to the reply.
 
  
If no reply is detected then the Return value will be 0.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Address''
 
::Address byte
 
  
:[[Variable Types|BYTE]] ''Data''
 
::Data Byte
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
+
''No detailed description exists yet for this component''
  
 +
==Examples==
  
===<span style="font-weight: normal;"><u><tt>TransmitIndividualForwardFrame</tt></u></span>===
 
Sends out an individual frame containing address and data.
 
  
After sending the controller will attempt to receive a reply.
 
  
If a reply is detected then the Return value will equal to the reply.
 
  
If no reply is detected then the Return value will be 0.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Address''
 
::Individual Address 0-63
 
  
:[[Variable Types|BYTE]] ''Type''
 
::0 = Data, 1 = Command
 
  
:[[Variable Types|BYTE]] ''Data''
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>TransmitGroupForwardFrame</tt></u></span>===
 
Sends out a group frame containing address and data.
 
  
After sending the controller will attempt to receive a reply.
 
  
If a reply is detected then the Return value will equal to the reply.
 
  
If no reply is detected then the Return value will be 0.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Address''
 
::Group Address 0-15
 
  
:[[Variable Types|BYTE]] ''Type''
 
::0 = Data, 1 = Command
 
  
:[[Variable Types|BYTE]] ''Data''
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
 +
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}}
  
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
+
For a DALI Slave example see: [[Component: DALI Slave (Comms: System)]]
Configures the UART serial interface.
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
 
  
  
'''Return value'''
 
  
:''This call does not return a value''
 
  
  
  
==Simulation macro reference==
 
  
''This component does not contain any simulation macros''
 
  
  
==Property reference==
+
==Macro reference==
<span style="font-weight: normal;"><u>TX Pin</u></span>
 
  
This property is of type ''Single digital pin'' and can be referenced with the variable name ''TXPIN''.
+
===Initialise===
 +
{| 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" | Configures the UART serial interface.&nbsp;
 +
|-
 +
|-
 +
| 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''
 +
|}
  
''<span style="color:red;">No additional information</span>''
 
  
 +
===ReceiveBackwardFrame===
 +
{| 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;" | '''ReceiveBackwardFrame'''
 +
|-
 +
| colspan="2" | Attempts to receive an 8-bit reply  0 indicates timeout or no reply&nbsp;
 +
|-
 +
|-
 +
| 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''
 +
|}
  
  
<span style="font-weight: normal;"><u>RX Pin</u></span>
+
===TransmitForwardFrame===
 +
{| 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;" | '''TransmitForwardFrame'''
 +
|-
 +
| colspan="2" | Send out a 16-bit frame consisting of the 8-bit address and data bytes. After sending the controller will attempt to receive  If a reply is detected then the Return value will equal to the reply. If no reply is detected then the Return value will be 0.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Address
 +
|-
 +
| colspan="2" | Address byte&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | Data Byte&nbsp;
 +
|-
 +
| 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''
 +
|}
  
This property is of type ''Single digital pin'' and can be referenced with the variable name ''RXPIN''.
 
  
''<span style="color:red;">No additional information</span>''
+
===TransmitGroupForwardFrame===
 +
{| 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;" | '''TransmitGroupForwardFrame'''
 +
|-
 +
| colspan="2" | Sends out a group frame containing address and data. After sending the controller will attempt to receive a reply. If a reply is detected then the Return value will equal to the reply. If no reply is detected then the Return value will be 0.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Address
 +
|-
 +
| colspan="2" | Group Address 0-15&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Type
 +
|-
 +
| colspan="2" | 0 = Data, 1 = Command&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| 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''
 +
|}
  
  
 +
===TransmitIndividualForwardFrame===
 +
{| 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;" | '''TransmitIndividualForwardFrame'''
 +
|-
 +
| colspan="2" | Sends out an individual frame containing address and data. After sending the controller will attempt to receive a reply. If a reply is detected then the Return value will equal to the reply. If no reply is detected then the Return value will be 0.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Address
 +
|-
 +
| colspan="2" | Individual Address 0-63&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Type
 +
|-
 +
| colspan="2" | 0 = Data, 1 = Command&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| 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''
 +
|}
  
<span style="font-weight: normal;"><u>Injector</u></span>
 
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Injector''.
+
==Property reference==
  
''<span style="color:red;">No additional information</span>''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 +
| 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
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 +
| width="90%" | TX Pin
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 +
| width="90%" | RX Pin
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 +
| width="90%" | API
 +
|-
 +
| colspan="2" | &nbsp;
 +
|}

Latest revision as of 13:09, 7 February 2023

Author MatrixTSL
Version 1.0
Category Comms: System


DALI Master 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. The master component can addess up to 64 individual slaves & up to 16 groups.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_DALI_Master.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_DALI_Master.fcfx

Detailed description

No detailed description exists yet for this component

Examples

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. FC6 Icon.png DALI Master Example1

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






Macro reference

Initialise

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


ReceiveBackwardFrame

Fc9-comp-macro.png ReceiveBackwardFrame
Attempts to receive an 8-bit reply 0 indicates timeout or no reply 
Fc9-u8-icon.png - BYTE Return


TransmitForwardFrame

Fc9-comp-macro.png TransmitForwardFrame
Send out a 16-bit frame consisting of the 8-bit address and data bytes. After sending the controller will attempt to receive If a reply is detected then the Return value will equal to the reply. If no reply is detected then the Return value will be 0. 
Fc9-u8-icon.png - BYTE Address
Address byte 
Fc9-u8-icon.png - BYTE Data
Data Byte 
Fc9-u8-icon.png - BYTE Return


TransmitGroupForwardFrame

Fc9-comp-macro.png TransmitGroupForwardFrame
Sends out a group frame containing address and data. After sending the controller will attempt to receive a reply. If a reply is detected then the Return value will equal to the reply. If no reply is detected then the Return value will be 0. 
Fc9-u8-icon.png - BYTE Address
Group Address 0-15 
Fc9-u8-icon.png - BYTE Type
0 = Data, 1 = Command 
Fc9-u8-icon.png - BYTE Data
 
Fc9-u8-icon.png - BYTE Return


TransmitIndividualForwardFrame

Fc9-comp-macro.png TransmitIndividualForwardFrame
Sends out an individual frame containing address and data. After sending the controller will attempt to receive a reply. If a reply is detected then the Return value will equal to the reply. If no reply is detected then the Return value will be 0. 
Fc9-u8-icon.png - BYTE Address
Individual Address 0-63 
Fc9-u8-icon.png - BYTE Type
0 = Data, 1 = Command 
Fc9-u8-icon.png - BYTE Data
 
Fc9-u8-icon.png - BYTE 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 Simulation
Fc9-type-16-icon.png API