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

From Flowcode Help
Jump to navigationJump to search
 
(11 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)
+
| 2.0
 
|-
 
|-
| width="20%" style="color: gray;" | Category
+
| width="20%" style="color:gray;" | Category
 
| Comms: System
 
| Comms: System
 
|}
 
|}
  
  
 +
==DMX-512 Slave component==
 +
A serial based communications protocol designed for controlling theatrical equipment such as dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained  together with a final 180R terminating resistor at the end of the chail. DMX requires the signal to be level shifted from VCC and GND to +2.5V and -2.5V.
  
==[[File:Component Icon 1be0ac44_3521_402e_a8b7_1faf86c09560.png|Image]] DMX_512 Slave component==
+
==Component Pack==
A serial based communications protocol designed for controlling theatrical equipment such
 
as dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained
 
together with a final 180R terminating resistor at the end of the chail. DMX requires the signal
 
to be level shifted from VCC and GND to +2.5V and -2.5V.
 
  
==Examples==
+
COMMSC
  
DMX Master Example, reads the value of two ports using switch arrays to set the values and then transmits the data in a DMX packet.
+
==Detailed description==
  
{{Fcfile|DMX_Master_Example1.fcfx|DMX Master Example1}}
 
  
  
DMX Slave Example, captures the first DMX data channel sent from the Master and outputs the value onto a Port using the LED array component.
 
  
{{Fcfile|DMX_Slave_Example1.fcfx|DMX Slave Example1}}
 
  
  
==Downloadable macro reference==
 
  
===<span style="font-weight: normal;"><u><tt>GetDataChannel</tt></u></span>===
 
Gets the data byte from a data channel
 
  
'''Parameters'''
 
  
:[[Variable Types|UINT]] ''Channel''
 
  
  
'''Return value'''
+
''No detailed description exists yet for this component''
  
:[[Variable Types|BYTE]]
+
==Examples==
  
  
===<span style="font-weight: normal;"><u><tt>ReceiveDataChain</tt></u></span>===
 
Waits for a BREAK, MAB and StartCode followed by the contents of the data channels.
 
  
Returns 0 to indicate a timeout and 1 to indicate succesful reception.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Timeout''
 
::0 = Don't wait, 1 - 254 = 1ms - 254ms, 255 = Wait forever
 
  
  
'''Return value'''
 
  
:[[Variable Types|BYTE]]
 
  
  
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
 
Configures the UART serial interface.
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
+
DMX Slave Example, captures the first DMX data channel sent from the Master and outputs the value onto a Port using the LED array component.
 +
{{Fcfile|DMX_Slave_Example1.fcfx|DMX Slave Example1}}
  
  
'''Return value'''
+
For DMX 512 Master example see [[Component: DMX 512 Master (Comms: System)]]
  
:''This call does not return a value''
+
==Downloadable macro reference==
  
 +
{| 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;" | '''GetDataChannel'''
 +
|-
 +
| colspan="2" | Gets the data byte from a data channel&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Channel
 +
|-
 +
| 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''
 +
|}
  
  
==Simulation macro reference==
+
{| 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;" | '''ReceiveDataChain'''
 +
|-
 +
| colspan="2" | Waits for a BREAK, MAB and StartCode followed by the contents of the data channels. Returns 0 to indicate a timeout and 1 to indicate succesful reception.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Timeout
 +
|-
 +
| colspan="2" | 0 = Don't wait, 1 - 254 = 1ms - 254ms, 255 = Wait forever&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 component does not contain any simulation macros''
 
  
 +
{| 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''
 +
|}
  
==Property reference==
 
<span style="font-weight: normal;"><u>Channel</u></span>
 
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''CHANNEL''.
 
  
''<span style="color:red;">No additional information</span>''
 
  
 +
==Property reference==
  
 
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
<span style="font-weight: normal;"><u>TX Pin</u></span>
+
|-
 
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
This property is of type ''Single digital pin'' and can be referenced with the variable name ''TXPIN''.
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
 
+
|-
''<span style="color:red;">No additional information</span>''
+
|-
 
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Serial Properties
 
+
|-
<span style="font-weight: normal;"><u>RX Pin</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
This property is of type ''Single digital pin'' and can be referenced with the variable name ''RXPIN''.
+
| width="90%" | Channel
 
+
|-
''<span style="color:red;">No additional information</span>''
+
| colspan="2" | UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller.&nbsp;
 
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
+
| width="90%" | RX
<span style="font-weight: normal;"><u>Data Channels</u></span>
+
|-
 
+
| colspan="2" | Pin to be used for Receive data&nbsp;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''DataChannels''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Number of data bytes used by the DMX chain, Max 512 bytes per transmission.
+
| width="90%" | Baud Options
 
+
|-
24 Bytes minimum to match minimum 1204us timing requirements, not all channels need to be used.
+
| colspan="2" | Baud rate option selector&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Start Channel</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Baud Rate
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''StartChannel''.
+
|-
 
+
| colspan="2" | &nbsp;
Channel from the master which we want to start taking our data channels
+
|-
 
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
<span style="font-weight: normal;"><u>Injector</u></span>
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DMX Properties
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''Injector''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
''<span style="color:red;">No additional information</span>''
+
| width="90%" | Data Channels
 +
|-
 +
| colspan="2" | Number of data bytes to receive from the master, Max 512 bytes per transmission. 24 Bytes minimum from Master to match minimum 1204us timing requirements, not all channels need to be used.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 +
| width="90%" | Start Channel
 +
|-
 +
| colspan="2" | Channel from the master which we want to start taking our data channels&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | Use Start Code
 +
|-
 +
| colspan="2" | Do we wait for the start code or simply begin receiving data?&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 +
| width="90%" | Start Code
 +
|-
 +
| colspan="2" | Start code value to listen out for, range 0-255&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-7-icon.png]]
 +
| width="90%" | Scope Traces
 +
|-
 +
| colspan="2" | Selects if the scope traces are automatically added to the data recorder window or not.    Simulation - draws an approximation of the UART data onto the scope trace.    ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | Console Data
 +
|-
 +
| colspan="2" | Selects if the console data is automatically generated or not&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 +
| width="90%" | Console Columns
 +
|-
 +
| colspan="2" | Number of characters that can be displayed on a single line of the console.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 +
| width="90%" | Data Source
 +
|-
 +
| colspan="2" | Simulation data source used to allow the component to connect to various remote devices    Nothing - Simulation data is ignored    COM port - Routes the communication data to and from a physical or virtual COM port      Injector - Routes the communication data via a data injector component on the Panel.&nbsp;
 +
|}

Latest revision as of 17:19, 9 November 2022

Author MatrixTSL
Version 2.0
Category Comms: System


DMX-512 Slave component

A serial based communications protocol designed for controlling theatrical equipment such as dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained together with a final 180R terminating resistor at the end of the chail. DMX requires the signal to be level shifted from VCC and GND to +2.5V and -2.5V.

Component Pack

COMMSC

Detailed description

No detailed description exists yet for this component

Examples

DMX Slave Example, captures the first DMX data channel sent from the Master and outputs the value onto a Port using the LED array component. FC6 Icon.png DMX Slave Example1


For DMX 512 Master example see Component: DMX 512 Master (Comms: System)

Downloadable macro reference

Fc9-comp-macro.png GetDataChannel
Gets the data byte from a data channel 
Fc9-u16-icon.png - UINT Channel
 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png ReceiveDataChain
Waits for a BREAK, MAB and StartCode followed by the contents of the data channels. Returns 0 to indicate a timeout and 1 to indicate succesful reception. 
Fc9-u8-icon.png - BYTE Timeout
0 = Don't wait, 1 - 254 = 1ms - 254ms, 255 = Wait forever 
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-16-icon.png Channel
UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller. 
Fc9-type-5-icon.png RX
Pin to be used for Receive data 
Fc9-type-16-icon.png Baud Options
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
 
Fc9-conn-icon.png DMX Properties
Fc9-type-21-icon.png Data Channels
Number of data bytes to receive from the master, Max 512 bytes per transmission. 24 Bytes minimum from Master to match minimum 1204us timing requirements, not all channels need to be used. 
Fc9-type-21-icon.png Start Channel
Channel from the master which we want to start taking our data channels 
Fc9-type-7-icon.png Use Start Code
Do we wait for the start code or simply begin receiving data? 
Fc9-type-21-icon.png Start Code
Start code value to listen out for, range 0-255 
Fc9-conn-icon.png Simulation
Fc9-type-7-icon.png Scope Traces
Selects if the scope traces are automatically added to the data recorder window or not. Simulation - draws an approximation of the UART data onto the scope trace. ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD. 
Fc9-type-7-icon.png Console Data
Selects if the console data is automatically generated or not 
Fc9-type-21-icon.png Console Columns
Number of characters that can be displayed on a single line of the console. 
Fc9-type-16-icon.png Data Source
Simulation data source used to allow the component to connect to various remote devices Nothing - Simulation data is ignored COM port - Routes the communication data to and from a physical or virtual COM port Injector - Routes the communication data via a data injector component on the Panel.