/*----------------------------------------------------------------------------*/ int main(void) { /* Create context object */ kb_rpi2_Context_new(&context); /* Create first event */ kb_rpi2_Event_new(&event1, context); kb_rpi2_Sensor_LED_new(&led1, event1, kb_rpi2_PIN1); kb_rpi2_Sensor_FourKeys_new(&keys1, event1, kb_rpi2_PIN2, kb_rpi2_PIN3, kb_rpi2_PIN4, kb_rpi2_PIN5, kb_rpi2_PIN6); /* Set callbacks */ kb_rpi2_Sensor_FourKeys_bind_on_key_pressed_1(keys1, keys1_on_keypressed_1); kb_rpi2_Sensor_FourKeys_bind_on_key_pressed_2(keys1, keys1_on_keypressed_2); kb_rpi2_Sensor_FourKeys_bind_on_key_pressed_3(keys1, keys1_on_keypressed_3); /* Enter event loop */ kb_rpi2_Event_activate(event1); kb_rpi2_Context_start(context); /* Clean up */ kb_rpi2_Sensor_FourKeys_del(&keys1); kb_rpi2_Sensor_LED_del(&led1); kb_rpi2_Event_del(&event1); kb_rpi2_Context_del(&context); return EXIT_SUCCESS; }
/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ static PyObject* kbpy_rpi2_PyEvent_activate(PyObject *self, PyObject *args) { Py_XDECREF(args); /* Call the original C function */ kb_Error error; switch ( (error = kb_rpi2_Event_activate( (kb_rpi2_Event *const)((kbpy_rpi2_PyEvent *const)self)->kb_event))) { /* If everything went fine */ case kb_OKAY: Py_INCREF(Py_None); return Py_None; /* If there was a problem */ default: PyErr_SetString(kbpy_rpi2_INTERNAL_ERROR, kb_Error_str(error)); return (PyObject *)NULL; } }