|
|
|
|
@ -4,7 +4,20 @@
|
|
|
|
|
volatile uint8_t outStates[]={0,0,0,0};
|
|
|
|
|
volatile uint8_t inStatesRaw[] = {0,0,0,0};
|
|
|
|
|
volatile uint8_t inStates[] = {0,0,0,0};
|
|
|
|
|
|
|
|
|
|
volatile uint8_t oldInstates[] = {0,0,0,0};
|
|
|
|
|
volatile uint8_t inStatesBothEdges[] = {0,0,0,0};
|
|
|
|
|
volatile uint8_t inStatesRisingEdge[] = {0,0,0,0};
|
|
|
|
|
volatile uint8_t inStatesFallingEdge[] = {0,0,0,0};
|
|
|
|
|
|
|
|
|
|
void ioHelperEdgeDetector(void){
|
|
|
|
|
for (uint8_t i = 0; i < 4; i++){
|
|
|
|
|
inStatesBothEdges[i] = oldInstates[i] ^ inStates[i];
|
|
|
|
|
inStatesRisingEdge[i] = inStatesBothEdges[i] & inStates[i];
|
|
|
|
|
inStatesFallingEdge[i] = inStatesBothEdges[i] & oldInstates[i];
|
|
|
|
|
oldInstates[i] = inStates[i];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* @brief: copies a single bit from one char to another char (or arrays thereof)
|
|
|
|
|
|