bool SkaarhojGPIO2x8::inputDown(uint8_t inputNumber) { // Returns true if a input 1-8 is has just been pushed down if (_validInputNumber(inputNumber)) { _readInputStatus(); uint16_t mask = (B1 << (inputNumber-1)); uint16_t inputChange = (_inputStatusLastDown ^ _inputStatus) & mask; _inputStatusLastDown ^= inputChange; return (inputChange & _inputStatus) ? true : false; } else return false; }
bool SkaarhojGPIO2x8::inputUp(int inputNumber) { // Returns true if a input 1-8 is has just been released if (_validInputNumber(inputNumber)) { _readInputStatus(); uint8_t mask = (B1 << (inputNumber-1)); uint8_t inputChange = (_inputStatusLastUp ^ _inputStatus) & mask; _inputStatusLastUp ^= inputChange; return (inputChange & ~_inputStatus) ? true : false; } else return false; }
bool SkaarhojGPIO2x8::inputIsActive(uint8_t inputNumber) { // Returns true if a input 1-8 is currently active if (_validInputNumber(inputNumber)) { _readInputStatus(); return (SkaarhojGPIO2x8::inputIsActiveAll() >> (inputNumber-1)) ? true : false; } else return false;