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

From Flowcode Help
Jump to navigationJump to search
 
(8 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
| 2.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.
 
  
{{Fcfile|DMX_Master_Example1.fcfx|DMX Master Example1}}
+
==Detailed description==
  
  
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'''
 
  
:[[Variable Types|BYTE]]
 
  
 +
''No detailed description exists yet for this component''
  
===<span style="font-weight: normal;"><u><tt>ReceiveDataChain</tt></u></span>===
+
==Examples==
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''
 
  
  
'''Return value'''
+
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}}
  
:''This call does not return a value''
 
  
 +
For DMX 512 Master example see [[Component: DMX 512 Master (Comms: System)]]
  
 +
==Downloadable macro reference==
  
==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;" | '''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''
 +
|}
  
''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;" | '''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''
 +
|}
  
==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 ''cal_uart::CHANNEL''.
+
{| 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''
 +
|}
  
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.
 
  
<span style="font-weight: normal;"><u>RX</u></span>
+
==Property reference==
  
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::RX''.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
Pin to be used for Receive data
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
<span style="font-weight: normal;"><u>Baud Options</u></span>
+
|-
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::BAUD_LIST''.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Serial Properties
Baud rate option selector
+
|-
 
+
|-
<span style="font-weight: normal;"><u>Baud Rate</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Channel
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''.
+
|-
 
+
| 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;
''<span style="color:red;">No additional information</span>''
+
|-
 
+
| 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]]
 
+
| width="90%" | Baud Options
Number of data bytes to receive from the master, Max 512 bytes per transmission.
+
|-
 
+
| colspan="2" | Baud rate option selector&nbsp;
24 Bytes minimum from Master to match minimum 1204us timing requirements, not all channels need to be used.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
<span style="font-weight: normal;"><u>Start Channel</u></span>
+
| 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]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DMX Properties
<span style="font-weight: normal;"><u>Use Start Code</u></span>
+
|-
 
+
|-
This property is of type ''True or false'' and can be referenced with the variable name ''UseStart''.
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
+
| width="90%" | Data Channels
Do we wait for the start code or simply begin receiving data?
+
|-
 
+
| 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;
<span style="font-weight: normal;"><u>Start Code</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''StartCode''.
+
| width="90%" | Start Channel
 
+
|-
Start code value to listen out for, range 0-255
+
| colspan="2" | Channel from the master which we want to start taking our data channels&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Scope Traces</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
+
| width="90%" | Use Start Code
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ScopeTraces''.
+
|-
 
+
| colspan="2" | Do we wait for the start code or simply begin receiving data?&nbsp;
Selects if the scope traces are automatically added to the data recorder window or not.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
     Simulation - draws an approximation of the UART data onto the scope trace.
+
| width="90%" | Start Code
 
+
|-
     ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.
+
| colspan="2" | Start code value to listen out for, range 0-255&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Console Data</u></span>
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ConsoleData''.
+
|-
 
+
|-
Selects if the console data is automatically generated or not
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
+
| width="90%" | Scope Traces
<span style="font-weight: normal;"><u>Console Columns</u></span>
+
|-
 
+
| 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;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''cal_uart::ConsoleColumns''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
Number of characters that can be displayed on a single line of the console.
+
| width="90%" | Console Data
 
+
|-
<span style="font-weight: normal;"><u>Data Source</u></span>
+
| colspan="2" | Selects if the console data is automatically generated or not&nbsp;
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::DataSource''.
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
+
| width="90%" | Console Columns
Simulation data source used to allow the component to connect to various remote devices
+
|-
 
+
| colspan="2" | Number of characters that can be displayed on a single line of the console.&nbsp;
     Nothing - Simulation data is ignored
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
     COM port - Routes the communication data to and from a physical or virtual COM port  
+
| width="90%" | Data Source
 
+
|-
    Injector - Routes the communication data via a data injector component on the Panel.
+
| 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.