diff --git a/main.cpp b/main.cpp index a9a28f6..bc109d8 100644 --- a/main.cpp +++ b/main.cpp @@ -104,6 +104,7 @@ int main( int argc, char** argv ) // 'connect_state' ist die Kurzform von // sigState.connect( &T::change_state, &listener ); */ + /* pigBeeper beeper( bcm25 ); std::vector tnv = { 262.0, 294.0, 330.0, 262.0 }; @@ -115,8 +116,10 @@ int main( int argc, char** argv ) //pigRotaryDial dial( pigpio::bcm17, pigpio::bcm27, pigpio::bcm22 ); //pigRotaryDial dial( board17, board27, board22 ); - pigRotaryDial dialA( bcm17, bcm27, bcm22 ); - pigRotaryDial dialB( bcm16, bcm20, bcm21 ); + + // für die raDIYo-Verdrahtung: + pigRotaryDial dialA( bcm16, bcm20, bcm21 ); + pigRotaryDial dialB( bcm05, bcm13, bcm06 ); dialA.sigValue.connect( [&](int value){ cout << "Dial A: " << value << endl; } ); dialB.sigValue.connect( [&](int value){ cout << "Dial B: " << value << endl; } ); @@ -127,13 +130,11 @@ int main( int argc, char** argv ) pigSonar sonar( bcm21, bcm20 ); sonar.sigValue.connect( [&](double dist){ buzzer.buzz( 100, dist*50 ); } ); sonar.start( 20 ); - */ - /* while( loop ) { - //double dist = sonar.distance(); - //lcd.write( 0, 0, "Dist.: " + val2str( dist) + " cm" ); + double dist = sonar.distance(); + lcd.write( 0, 0, "Dist.: " + val2str( dist) + " cm" ); if( dist < 20 ) { @@ -142,11 +143,6 @@ int main( int argc, char** argv ) } delay_millis( 200 ); } - */ - - /* - - bool loop = true; button.sigState.connect( [&](bool){ loop = false; } ); @@ -159,12 +155,12 @@ int main( int argc, char** argv ) lcd.reset(); + */ -*/ - + // don't return, just wait forever, handling callbacks wait_loop(); - + // alternatively, show button as widgets QApplication application( argc, argv ); QtGPIOMain window; window.show(); diff --git a/pigrotarydial.cpp b/pigrotarydial.cpp index 4ba2686..1c7f6c9 100644 --- a/pigrotarydial.cpp +++ b/pigrotarydial.cpp @@ -97,7 +97,7 @@ void pigRotaryDial::trigger( pigpio::bcm_t bcm, uint32_t level ) if( bcm ==_pinIn.bcm ) { - std::cout << "pigButton::trigger " << (uint32_t) bcm << " : " << level << std::endl; + //std::cout << "pigButton::trigger " << (uint32_t) bcm << " : " << level << std::endl; // simply on/off toggle_state(); return; @@ -115,16 +115,14 @@ void pigRotaryDial::trigger( pigpio::bcm_t bcm, uint32_t level ) { //std::cout << "dial: " << inc << std::endl; _oldState = newState; - //int detent = _step / 4; + //int detent = _value / 4; _value += inc; //if( detent != ( _step / 4) ) // handlePulse( _step / 4 ); //handlePulse( _step ); - /// gültigkeit sicherstellen - //_step = qBound( 0, _step, 100 ); - //emit valueChanged( _step ); + sigValue( _value ); } diff --git a/pigrotarydial.h b/pigrotarydial.h index 8910eed..fd180f0 100644 --- a/pigrotarydial.h +++ b/pigrotarydial.h @@ -31,7 +31,7 @@ /** * @brief The pigRotaryDial class * - * TODO: flags: step oder detent, inc/dec oder value, set_range range_stop: bis 100 oder 100->0 + * TODO: flags: step oder detent, inc/dec oder value, set_range range_stop: until 100 or 100->0 * */