#include #include "io-helper.h" volatile uint8_t outStates[nrOfOutputs/8]; volatile uint8_t inStatesRaw[nrOfInputs/8]; volatile uint8_t inStates[nrOfInputs/8]; volatile uint8_t oldInstates[nrOfInputs/8]; /* @brief: copies a single bit from one char to another char (or arrays thereof) * * */ void ioHelperCpArb(volatile uint8_t *source, uint16_t sourceNr,volatile uint8_t *target, uint16_t targetNr) { if(*(source+(sourceNr/8))&(1<<(sourceNr-((sourceNr/8)*8)))) { *(target+(targetNr/8))|=(1<<(targetNr-((targetNr/8)*8))); } else *(target+(targetNr/8))&=~(1<<(targetNr-((targetNr/8)*8))); } volatile uint8_t ioHelperDebounceTable[nrOfInputs]; /* debounceing: */ void ioHelperDebounce(void) { static volatile uint8_t tablePos=0; for(uint8_t i = 0; i