Header file for eQEP module.
More...
Go to the source code of this file.
Header file for eQEP module.
Definition in file eqep.h.
◆ eQEPInterface
eQEP Interface: Assign GPIOs to TMC_BASE_EQEP1 or TMC_BASE_EQEP2.
◆ eQEP_getDirection()
Get direction of rotary machine applied to eQEPInterface.
- Parameters
-
[in] | | 1) eQEPInterface eQEP
|
- Returns
- int16
--> 1 = Clockwise rotation (or forward movement) of eQEP
--> 0 = Counter-clockwise rotation (or reverse movement) of eQEP
--> -1 = eQEP.QEPA invalid value
Definition at line 110 of file eqep.c.
112 if(eQEP.
QEPA == GPIO20){
113 eQEP_module = TMC_BASE_EQEP1;
115 else if(eQEP.
QEPA == GPIO24){
116 eQEP_module = TMC_BASE_EQEP2;
121 return ((eQEP_module->
QEPSTS >> 5)& 0x1);
◆ eQEP_getRpm()
Get rpm of rotary machine applied to eQEPInterface.
- Parameters
-
[in] | | 1) eQEPInterface eQEP
|
- Returns
- int16
--> 0 - x = revolution per minute of machine plugged to encoder
--> -1 = eQEP.QEPA invalid value
Definition at line 131 of file eqep.c.
132 if(eQEP.
QEPA == GPIO20){
135 else if(eQEP.
QEPA == GPIO24){
◆ init_eQEP()
Initialization of eQEPInterface.
- Parameters
-
[in] | | 1) eQEPInterface eQEP
|
- Returns
- int16
--> 0 = operation successful
--> -1 = eQEP.QEPA invalid value
--> -2 = eQEP.QEPB invalid value
Definition at line 33 of file eqep.c.
36 case 20:
switch(eQEP.
QEPB){
38 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1 << 20);
39 TMC_BASE_PIO->CTL[0].QSEL2 &= ~((
Uint32)0x3 << 8);
40 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x1 << 8);
41 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1 << 21);
42 TMC_BASE_PIO->CTL[0].QSEL2 &= ~((
Uint32)0x3 << 10);
43 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x1 << 10);
52 TMC_BASE_PIE->CTRL |= 0x01;
53 TMC_BASE_PIE->GROUP[4].IER |= 0x1;
56 eQEP_module = TMC_BASE_EQEP1;
58 case 24:
switch(eQEP.
QEPB){
60 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1 << 24);
61 TMC_BASE_PIO->CTL[0].QSEL2 &= ~((
Uint32)0x3 << 16);
62 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x2 << 16);
63 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1 <<25);
64 TMC_BASE_PIO->CTL[0].QSEL2 &= ~((
Uint32)0x3 << 18);
65 TMC_BASE_PIO->CTL[0].MUX2 |= ((
Uint32)0x2 << 18);
74 TMC_BASE_PIE->CTRL |= 0x01;
75 TMC_BASE_PIE->GROUP[4].IER |= 0x2;
78 eQEP_module = TMC_BASE_EQEP2;
85 eQEP_module->
QUPRD = 0xE4E1C0;
89 eQEP_module->
QPOSMAX = 0xFFFFFFFF;
90 eQEP_module->
QEPCTL |= (0x1 << 12);
91 eQEP_module->
QEPCTL |= (0x1 << 3);
92 eQEP_module->
QEPCTL |= (0x1 << 2);
93 eQEP_module->
QEPCTL |= (0x1 << 1);
95 eQEP_module->
QEINT &= ~(0xFFE);
97 eQEP_module->
QCLR |= 0xFFF;