Ejemplo n.º 1
0
/*----------------------------------------------------------------------------*/
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;
}
Ejemplo n.º 2
0
/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
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;
    }
}