Component: Quadrature Encoder 2D (General Input): Difference between revisions
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;"" to "width="10%" align="center" class="mtx-class-macrohead"" |
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead"" |
||
| Line 54: | Line 54: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CheckForChanges''' | ||
|- | |- | ||
| colspan="2" | Polling function to check changes and update internal counter. Returns 1 for chaged, 0 for no change, 255 for error | | colspan="2" | Polling function to check changes and update internal counter. Returns 1 for chaged, 0 for no change, 255 for error | ||
| Line 68: | Line 68: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | 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 82: | Line 82: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''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 96: | Line 96: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | 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 110: | Line 110: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''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 124: | Line 124: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ResetCounter''' | ||
|- | |- | ||
| colspan="2" | Resets the current dial counter to zero | | colspan="2" | Resets the current dial counter to zero | ||
| Line 138: | Line 138: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Rotate''' | ||
|- | |- | ||
| colspan="2" | Simulation Rotate function to allow accurate rotation during simulation. Automatically called by any attached coupling or gearbox component. | | colspan="2" | Simulation Rotate function to allow accurate rotation during simulation. Automatically called by any attached coupling or gearbox component. | ||
| Line 157: | Line 157: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''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 176: | Line 176: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | 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 196: | Line 196: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
Revision as of 14:23, 13 July 2026
| Author | Matrix TSL |
| Version | 1.4 |
| Category | General Input |
Quadrature Encoder 2D component
Quadrature Encoder component implements a rotary encoder connected to two pins. Quadrature Encoders provides incremental positioning rather than absolute positioning.
Version information
Library Version, Component Version, Date, Author, Info 6, 1.4, 26-11-24, BR, Updated tooltip for CheckForChanges macro
Detailed description
Mechanical encoders can be a bit electrically noisy when switching and so to have reliable operation it is recommended to have a simple filter as shown here.
Examples
Polling
Example program showing how to use a quadrature encoder component using a polling method.
Quad_Encoder_Test
Timer Interrupt Based Polling
Example program showing how to use a quadrature encoder component using a polling method via a timer interrupt.
Quad_Encoder_Timer
Interrupt On Change
Example program showing how to use a quadrature encoder component using a interrupt on pin state change interrupt (IOC).
Quad_Encoder_IOC
Macro reference
CheckForChanges
| CheckForChanges | |
| Polling function to check changes and update internal counter. Returns 1 for chaged, 0 for no change, 255 for error | |
| 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 | |
| Return | |
Enable
| Enable | |
| Enables the use of the quad encoder If this is not called, the read functions will return zeros | |
| Return | |
ReadCounter
| ReadCounter | |
| Reads the current dial counter This is a counter from -32768 to 32767 | |
| Return | |
ReadCounter32
| ReadCounter32 | |
| Reads the current dial counter as a 32-bit value This is a counter from -2147483648 to 2147483647 | |
| Return | |
ResetCounter
| ResetCounter | |
| Resets the current dial counter to zero | |
| Return | |
Rotate
WriteCounter
| WriteCounter | |
| Sets the value of the internal count variable. Range: -32768 to 32767 | |
| Value | |
| Range: -32768 to 32767 | |
| Return | |
WriteCounter32
| WriteCounter32 | |
| Sets the value of the internal count variable. Range: -2147483648 to 2147483647 | |
| Value | |
| Range: -2147483648 to 2147483647 | |
| Return | |
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_Encoder_Quadrature_2dgi.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_Encoder_Quadrature_2dgi.fcfx
