Jump to content

Component: Quadrature Encoder (EBM007) (EBM Modules): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(10 intermediate revisions by 2 users not shown)
Line 22: Line 22:


==Detailed description==
==Detailed description==




Line 38: Line 40:


==Examples==
==Examples==




Line 58: Line 62:




==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;" | '''CheckForChanges'''
|-
| colspan="2" | Polling function to check changes Returns 1 for chaged, 0 for no change, 255 for error 
|-
|-
| 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;" | '''Disable'''
|-
| colspan="2" | Disables the use of the quad encoder Once this ist called, the read functions will return zeros until the next Enable() call 
|-
|-
| 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;" | '''WriteCounter32'''
|-
| colspan="2" | Sets the value of the internal count variable. Range: -2147483648 to 2147483647 
|-
|-
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
| width="90%" | Value
|-
| colspan="2" | Range: -2147483648 to 2147483647 
|-
| 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;" | '''Enable'''
|-
| colspan="2" | Enables the use of the quad encoder If this is not called, the read functions will return zeros 
|-
|-
| 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;" | '''ReadCounter'''
|-
| colspan="2" | Reads the current dial counter This is a counter from -32768 to 32767 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


==Macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===CheckForChanges===
|-
{| class="mtx-class-macrotable wikitable"
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteCounter'''
|-
| colspan="2" | Sets the value of the internal count variable. Range: -32768 to 32767 
|-
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Value
|-
| colspan="2" | Range: -32768 to 32767 
|-
| 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;" | '''ResetCounter'''
|-
| colspan="2" | Resets the current dial counter to zero  
|-
|-
| 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;" | '''ReadCounter32'''
|-
| colspan="2" | Reads the current dial counter as a 32-bit value This is a counter from -2147483648 to 2147483647 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s32-icon.png]] - LONG
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
 
 
==Property reference==
 
{| 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;" | Count Variable
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Variable Type
|-
| colspan="2" | Selects the size of the encoder count variable depending on the number of encoder counts required to be stored. The 16 bit variable counter is accessed via the ReadCounter and WriteCounter functions. The 32 bit variable counter is accessed via the ReadCounter32 and WriteCounter32 functions. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Encoder Resolution
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Post Scaler
|-
| colspan="2" | Encoders with a mechanical click will often have 4 transitions per click. 1:1 would provide the maximum output resolution. 1:4 would provide the encoder click count. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
|-
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | A
|-
| colspan="2" | Input pin A 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | B
|-
| colspan="2" | Input Pin B  
|-
| 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%" | Repeat Rate
|-
| colspan="2" | Simulated repeat rate when clicking and rotating the encoder 
|-
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| width="90%" | Rotation Increment
|-
| colspan="2" | Number of degrees to rotate when performing a single quadrature pin transition. 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Scope Traces
|-
| colspan="2" |  
|}==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="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckForChanges'''
| width="90%" class="mtx-class-macrohead" | '''CheckForChanges'''
|-
|-
| colspan="2" | Polling function to check changes Returns 1 for chaged, 0 for no change, 255 for error 
| colspan="2" | Polling function to check changes Returns 1 for chaged, 0 for no change, 255 for error 
Line 249: Line 88:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Disable===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Disable'''
| width="90%" class="mtx-class-macrohead" | '''Disable'''
|-
|-
| colspan="2" | Disables the use of the quad encoder Once this ist called, the read functions will return zeros until the next Enable() call 
| colspan="2" | Disables the use of the quad encoder Once this ist called, the read functions will return zeros until the next Enable() call 
Line 262: Line 102:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===Enable===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteCounter32'''
| width="90%" class="mtx-class-macrohead" | '''Enable'''
|-
| colspan="2" | Sets the value of the internal count variable. Range: -2147483648 to 2147483647 
|-
|-
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
| width="90%" | Value
|-
| colspan="2" | Range: -2147483648 to 2147483647 
|-
| 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;" | '''Enable'''
|-
|-
| colspan="2" | Enables the use of the quad encoder If this is not called, the read functions will return zeros 
| colspan="2" | Enables the use of the quad encoder If this is not called, the read functions will return zeros 
Line 293: Line 116:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ReadCounter===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadCounter'''
| width="90%" class="mtx-class-macrohead" | '''ReadCounter'''
|-
|-
| colspan="2" | Reads the current dial counter This is a counter from -32768 to 32767 
| colspan="2" | Reads the current dial counter This is a counter from -32768 to 32767 
Line 306: Line 130:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ReadCounter32===
|-
{| class="mtx-class-macrotable wikitable"
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteCounter'''
|-
| colspan="2" | Sets the value of the internal count variable. Range: -32768 to 32767 
|-
|-
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" class="mtx-class-macrohead" | '''ReadCounter32'''
| width="90%" | Value
|-
| colspan="2" | Range: -32768 to 32767 
|-
| 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;" | '''ResetCounter'''
|-
| colspan="2" | Resets the current dial counter to zero  
|-
|-
| 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;" | '''ReadCounter32'''
|-
|-
| colspan="2" | Reads the current dial counter as a 32-bit value This is a counter from -2147483648 to 2147483647 
| colspan="2" | Reads the current dial counter as a 32-bit value This is a counter from -2147483648 to 2147483647 
Line 350: Line 144:




 
===ResetCounter===
 
{| class="mtx-class-macrotable wikitable"
==Property reference==
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
| width="90%" class="mtx-class-macrohead" | '''ResetCounter'''
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Count Variable
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Variable Type
|-
| colspan="2" | Selects the size of the encoder count variable depending on the number of encoder counts required to be stored. The 16 bit variable counter is accessed via the ReadCounter and WriteCounter functions. The 32 bit variable counter is accessed via the ReadCounter32 and WriteCounter32 functions. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Encoder Resolution
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Post Scaler
|-
| colspan="2" | Encoders with a mechanical click will often have 4 transitions per click. 1:1 would provide the maximum output resolution. 1:4 would provide the encoder click count. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
|-
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | A
|-
| colspan="2" | Input pin A 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | B
|-
| colspan="2" | Input Pin B  
|-
| 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%" | Repeat Rate
|-
| colspan="2" | Simulated repeat rate when clicking and rotating the encoder 
|-
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| width="90%" | Rotation Increment
|-
| colspan="2" | Number of degrees to rotate when performing a single quadrature pin transition. 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Scope Traces
|-
| colspan="2" |  
|}==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;" | '''CheckForChanges'''
|-
| colspan="2" | Polling function to check changes Returns 1 for chaged, 0 for no change, 255 for error 
|-
|-
| 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;" | '''Disable'''
|-
| colspan="2" | Disables the use of the quad encoder Once this ist called, the read functions will return zeros until the next Enable() call 
|-
|-
|-
| colspan="2" | Resets the current dial counter to zero  
| 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;" | '''WriteCounter32'''
|-
| colspan="2" | Sets the value of the internal count variable. Range: -2147483648 to 2147483647 
|-
|-
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
| width="90%" | Value
|-
| colspan="2" | Range: -2147483648 to 2147483647 
|-
| 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;" | '''Enable'''
|-
| colspan="2" | Enables the use of the quad encoder If this is not called, the read functions will return zeros 
|-
|-
|-
|-
Line 469: Line 158:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===WriteCounter===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadCounter'''
| width="90%" class="mtx-class-macrohead" | '''WriteCounter'''
|-
| colspan="2" | Reads the current dial counter This is a counter from -32768 to 32767 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| 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;" | '''WriteCounter'''
|-
|-
| colspan="2" | Sets the value of the internal count variable. Range: -32768 to 32767 
| colspan="2" | Sets the value of the internal count variable. Range: -32768 to 32767 
Line 500: Line 177:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===WriteCounter32===
|-
{| class="mtx-class-macrotable wikitable"
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ResetCounter'''
|-
| colspan="2" | Resets the current dial counter to zero  
|-
|-
| 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;" | '''ReadCounter32'''
|-
| colspan="2" | Reads the current dial counter as a 32-bit value This is a counter from -2147483648 to 2147483647 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s32-icon.png]] - LONG
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
 
 
==Property reference==
 
{| 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;" | Count Variable
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Variable Type
|-
| colspan="2" | Selects the size of the encoder count variable depending on the number of encoder counts required to be stored. The 16 bit variable counter is accessed via the ReadCounter and WriteCounter functions. The 32 bit variable counter is accessed via the ReadCounter32 and WriteCounter32 functions. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Encoder Resolution
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Post Scaler
|-
| colspan="2" | Encoders with a mechanical click will often have 4 transitions per click. 1:1 would provide the maximum output resolution. 1:4 would provide the encoder click count. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
|-
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | A
|-
| colspan="2" | Input pin A 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | B
|-
| colspan="2" | Input Pin B  
|-
| 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%" | Repeat Rate
|-
| colspan="2" | Simulated repeat rate when clicking and rotating the encoder 
|-
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| width="90%" | Rotation Increment
|-
| colspan="2" | Number of degrees to rotate when performing a single quadrature pin transition. 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Scope Traces
|-
| colspan="2" |  
|}==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;" | '''CheckForChanges'''
|-
| colspan="2" | Polling function to check changes Returns 1 for chaged, 0 for no change, 255 for error 
|-
|-
| 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;" | '''Disable'''
|-
| colspan="2" | Disables the use of the quad encoder Once this ist called, the read functions will return zeros until the next Enable() call 
|-
|-
| 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="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteCounter32'''
| width="90%" class="mtx-class-macrohead" | '''WriteCounter32'''
|-
|-
| colspan="2" | Sets the value of the internal count variable. Range: -2147483648 to 2147483647 
| colspan="2" | Sets the value of the internal count variable. Range: -2147483648 to 2147483647 
Line 630: Line 194:
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| 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;" | '''Enable'''
|-
| colspan="2" | Enables the use of the quad encoder If this is not called, the read functions will return zeros 
|-
|-
| 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;" | '''ReadCounter'''
|-
| colspan="2" | Reads the current dial counter This is a counter from -32768 to 32767 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| 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;" | '''WriteCounter'''
|-
| colspan="2" | Sets the value of the internal count variable. Range: -32768 to 32767 
|-
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Value
|-
| colspan="2" | Range: -32768 to 32767 
|-
| 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;" | '''ResetCounter'''
|-
| colspan="2" | Resets the current dial counter to zero  
|-
|-
| 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;" | '''ReadCounter32'''
|-
| colspan="2" | Reads the current dial counter as a 32-bit value This is a counter from -2147483648 to 2147483647 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s32-icon.png]] - LONG
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Count Variable
| width="90%" class="mtx-class-propfolder" | Count Variable
|-
|-
|-
|-
Line 721: Line 213:
| colspan="2" | Selects the size of the encoder count variable depending on the number of encoder counts required to be stored. The 16 bit variable counter is accessed via the ReadCounter and WriteCounter functions. The 32 bit variable counter is accessed via the ReadCounter32 and WriteCounter32 functions. 
| colspan="2" | Selects the size of the encoder count variable depending on the number of encoder counts required to be stored. The 16 bit variable counter is accessed via the ReadCounter and WriteCounter functions. The 32 bit variable counter is accessed via the ReadCounter32 and WriteCounter32 functions. 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Encoder Resolution
| width="90%" class="mtx-class-propfolder" | Encoder Resolution
|-
|-
|-
|-
Line 730: Line 222:
| colspan="2" | Encoders with a mechanical click will often have 4 transitions per click. 1:1 would provide the maximum output resolution. 1:4 would provide the encoder click count. 
| colspan="2" | Encoders with a mechanical click will often have 4 transitions per click. 1:1 would provide the maximum output resolution. 1:4 would provide the encoder click count. 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
| width="90%" class="mtx-class-propfolder" | Connections
|-
|-
|-
|-
Line 744: Line 236:
| colspan="2" | Input Pin B  
| colspan="2" | Input Pin B  
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
| width="90%" class="mtx-class-propfolder" | Simulation
|-
|-
|-
|-

Latest revision as of 14:36, 13 July 2026

Author Matrix TSL
Version 1.0
Category EBM Modules


Quadrature Encoder component

Provides a rotary encoder with dual digital outputs that provide rotation and direction information. When connected to two digital inputs of a microcontroller a “digital pot” can be implemented to convert to digital values.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

This example scans the encoder for changes and displays a counter on the LCD based on the movement of the encoder.

EBM007 Example







Macro reference

CheckForChanges

CheckForChanges
Polling function to check changes Returns 1 for chaged, 0 for no change, 255 for error 
- BYTE Return


Disable

Disable
Disables the use of the quad encoder Once this ist called, the read functions will return zeros until the next Enable() call 
- VOID Return


Enable

Enable
Enables the use of the quad encoder If this is not called, the read functions will return zeros 
- VOID Return


ReadCounter

ReadCounter
Reads the current dial counter This is a counter from -32768 to 32767 
- INT Return


ReadCounter32

ReadCounter32
Reads the current dial counter as a 32-bit value This is a counter from -2147483648 to 2147483647 
- LONG Return


ResetCounter

ResetCounter
Resets the current dial counter to zero  
- VOID Return


WriteCounter

WriteCounter
Sets the value of the internal count variable. Range: -32768 to 32767 
- INT Value
Range: -32768 to 32767 
- VOID Return


WriteCounter32

WriteCounter32
Sets the value of the internal count variable. Range: -2147483648 to 2147483647 
- LONG Value
Range: -2147483648 to 2147483647 
- VOID Return


Property reference

Properties
Count Variable
Variable Type
Selects the size of the encoder count variable depending on the number of encoder counts required to be stored. The 16 bit variable counter is accessed via the ReadCounter and WriteCounter functions. The 32 bit variable counter is accessed via the ReadCounter32 and WriteCounter32 functions. 
Encoder Resolution
Post Scaler
Encoders with a mechanical click will often have 4 transitions per click. 1:1 would provide the maximum output resolution. 1:4 would provide the encoder click count. 
Connections
A
Input pin A 
B
Input Pin B  
Simulation
Repeat Rate
Simulated repeat rate when clicking and rotating the encoder 
Rotation Increment
Number of degrees to rotate when performing a single quadrature pin transition. 
Scope Traces