Loading projects/step-up/buttons.c +13 −13 Original line number Diff line number Diff line Loading @@ -16,17 +16,17 @@ static unsigned char prev_state; void status_led_on_off(unsigned char mode) { if (mode) PORTB |= _BV(PORTB0); PORTB |= _BV(PORTB1); else PORTB &= ~_BV(PORTB0); PORTB &= ~_BV(PORTB1); } void init_buttons() { DDRB &= ~_BV(DDB1); DDRB |= _BV(DDB0); PORTB |= _BV(PORTB1); // enable internal pull-up PORTB &= ~_BV(PORTB0); // status led off DDRB &= ~_BV(DDB0); DDRB |= _BV(DDB1); PORTB |= _BV(PORTB0); // enable internal pull-up PORTB &= ~_BV(PORTB1); // status led off GIMSK &= ~_BV(PCIE); // disable pin-change IRQs PCMSK = 0; // disable pin-change IRQs on all pins of port B Loading @@ -36,19 +36,19 @@ void init_buttons() void susp_buttons() { DDRB &= ~(_BV(DDB1)); // set as input PORTB |= _BV(PORTB1); // enable internal pull-up PORTB &= ~_BV(PORTB0); // set to zero DDRB &= ~(_BV(DDB0)); // set as input PORTB |= _BV(PORTB0); // enable internal pull-up PORTB &= ~_BV(PORTB1); // set to zero GIMSK |= _BV(PCIE); PCMSK = _BV(PCINT1); PCMSK = _BV(PCINT0); // disable pin-change IRQs on all pins except PB1 } void timer_check_buttons() { unsigned char cur = !(PINB & _BV(PINB1)); unsigned char cur = !(PINB & _BV(PINB0)); unsigned char prev = prev_state; prev_state = cur; Loading Loading @@ -118,8 +118,8 @@ unsigned char buttons_wait_for_release() _delay_ms(100); pin = PINB & _BV(PINB1); } while (!(pin & _BV(PINB1))); pin = PINB & _BV(PINB0); } while (!(pin & _BV(PINB0))); status_led_on_off(0); Loading Loading
projects/step-up/buttons.c +13 −13 Original line number Diff line number Diff line Loading @@ -16,17 +16,17 @@ static unsigned char prev_state; void status_led_on_off(unsigned char mode) { if (mode) PORTB |= _BV(PORTB0); PORTB |= _BV(PORTB1); else PORTB &= ~_BV(PORTB0); PORTB &= ~_BV(PORTB1); } void init_buttons() { DDRB &= ~_BV(DDB1); DDRB |= _BV(DDB0); PORTB |= _BV(PORTB1); // enable internal pull-up PORTB &= ~_BV(PORTB0); // status led off DDRB &= ~_BV(DDB0); DDRB |= _BV(DDB1); PORTB |= _BV(PORTB0); // enable internal pull-up PORTB &= ~_BV(PORTB1); // status led off GIMSK &= ~_BV(PCIE); // disable pin-change IRQs PCMSK = 0; // disable pin-change IRQs on all pins of port B Loading @@ -36,19 +36,19 @@ void init_buttons() void susp_buttons() { DDRB &= ~(_BV(DDB1)); // set as input PORTB |= _BV(PORTB1); // enable internal pull-up PORTB &= ~_BV(PORTB0); // set to zero DDRB &= ~(_BV(DDB0)); // set as input PORTB |= _BV(PORTB0); // enable internal pull-up PORTB &= ~_BV(PORTB1); // set to zero GIMSK |= _BV(PCIE); PCMSK = _BV(PCINT1); PCMSK = _BV(PCINT0); // disable pin-change IRQs on all pins except PB1 } void timer_check_buttons() { unsigned char cur = !(PINB & _BV(PINB1)); unsigned char cur = !(PINB & _BV(PINB0)); unsigned char prev = prev_state; prev_state = cur; Loading Loading @@ -118,8 +118,8 @@ unsigned char buttons_wait_for_release() _delay_ms(100); pin = PINB & _BV(PINB1); } while (!(pin & _BV(PINB1))); pin = PINB & _BV(PINB0); } while (!(pin & _BV(PINB0))); status_led_on_off(0); Loading