void* pir_handler(void *arg) { msg_t msg_q[1]; msg_init_queue(msg_q, 1); printf("Registering PIR handler thread... %s\n", pir_register_thread(&dev) == 0 ? "[OK]" : "[Failed]"); msg_t m; while (msg_receive(&m)) { printf("PIR handler got a message: "); switch (m.type) { case PIR_STATUS_HI: puts("something started moving."); break; case PIR_STATUS_LO: puts("the movement has ceased."); break; default: puts("stray message."); break; } } puts("PIR handler: this should not have happened!"); return NULL; }
void* pir_handler(void *arg) { (void) arg; /* unused */ msg_t msg_q[1]; msg_init_queue(msg_q, 1); #ifndef TEST_PIR_POLLING printf("Registering PIR handler thread... %s\n", pir_register_thread(&pir) == 0 ? "[OK]" : "[Failed]"); #endif msg_t m; while (msg_receive(&m)) { printf("PIR handler got a message: "); switch (m.type) { case PIR_STATUS_HI: puts("something started moving."); gpio_set(led_red); gpio_clear(led_green); break; case PIR_STATUS_LO: puts("the movement has ceased."); gpio_set(led_green); gpio_clear(led_red); break; default: puts("stray message."); break; } } puts("PIR handler: this should not have happened!"); return NULL; }