void main(void) { init(); // for testing set_brightness(LED1, 2); set_led_pulse(LED2, 1); //set_brightness(LED2, 50); //set_brightness(LED3, 100); uint8_t keyup = 0, keydown = 0; while (1) { keydown = getKeyDown(); if (keydown) { if (keydown & _BV(BUTTON1)) set_brightness(LED3, 100); else if (keydown & _BV(BUTTON2)) set_brightness(LED3, 60); else if (keydown & _BV(BUTTON3)) dim_led(LED3, 90); else if (keydown & _BV(BUTTON4)) dim_led(LED3, 0); else if (keydown & _BV(BUTTON5)) set_brightness(LED3, 0); } keyup = getKeyUp(); if (keyup) { if (keyup & _BV(BUTTON2)) set_brightness(LED3, 0); } } }
bool Window::getKeyPressed(key::KeyType key) { if (key == key::Any) { if (anyKeyPressed_) { needToBeSetFalse_.push(&anyKeyPressed_); return getKeyDown(jngl::key::Any); } } else if(keyPressed_[GetKeyCode(key)]) { needToBeSetFalse_.push(&keyPressed_[GetKeyCode(key)]); return true; } return false; }
void processTWI( void ) { uint8_t b,p1,p2; b = usiTwiReceiveByte(); switch (b) { case 0x81: // set slave address p1 = usiTwiReceiveByte(); if(p1 < 128) // Address is 7 bit { eeprom_update_byte(&b_slave_address, p1); usiTwiSlaveInit(eeprom_read_byte(&b_slave_address)); } break; case 0x82: // clear led led_clear(); break; case 0x83: // set led brightness, p1=led, p2=brightness p1 = usiTwiReceiveByte(); p2 = usiTwiReceiveByte(); set_led_pulse(p1,0); // Turn off pulsing set_brightness(p1,p2); break; case 0x84: // Set to pulse led, p1=led, p2 = (0 = OFF, 1 = ON) set_led_pulse(usiTwiReceiveByte(),usiTwiReceiveByte()); break; case 0x85: // Dim up/down led to specific value, p1=led, p2=value to dim to dim_led(usiTwiReceiveByte(),usiTwiReceiveByte()); break; case 0x86: // get firmware revision usiTwiTransmitByte(FIRMWARE_REVISION); break; case 0x90: // get keyUp Event usiTwiTransmitByte(getKeyUp()); break; case 0x91: // get KeyDown Event usiTwiTransmitByte(getKeyDown()); break; case 0x92: // set keyrepeat set_keyrepeat(usiTwiReceiveByte(),usiTwiReceiveByte()); break; case 0xFE: // reset to known state led_clear(); button_init(); flushTwiBuffers(); break; case 0xFF: // flush the bus break; default: break; } }
//---------------------------------------------------------------- void Input::getKeyEvent() { // update the key events data based on the previous acquire data static int i; for (i=0; i<256; i++) { if (m_ucKeyBuffer[i] != m_ucKeyPrevBuffer[i]) { if (getKeyDown(i)) { m_ucKeyEvent[i] = KS_DOWN; } else { m_ucKeyEvent[i] = KS_UP; } } else m_ucKeyEvent[i] = KS_NONE; } }