Hi,
Maybe you can also multitasking using a QThread and check there all the interrupts, if something happen, you can emit a signal
@
class Interrupt: public QThread{
Q_OBJECT
public:
void setNextEvent(bool arg);
bool getNextEvent();
protected:
void run();
private:
QMutex mMutex;
bool state;
signals:
void mySignal();
}
@
@void Interrupt::run(){
while(true){
if(rpiGpio.readPin(17) == mmapGpio::LOW && getNextEvent()){
setNextEvent(false);
emit mySignal();
}
else if(rpiGpio.readPin(17) == mmapGpio::HIGH && !getNextEvent() ){
setNextEvent(true);
}
QThread::msleep(100);
}
}
void Interrupt::setNextEvent(bool arg){
mMutex.lock();
state = arg;
mMutex.unlock();
}
bool Interrupt::getNextEvent(){
bool ret;
mMutex.lock();
ret = state;
mMutex.unlock();
return state;
}
@