grid-uxn/in.c

47 lines
861 B
C
Raw Normal View History

2021-09-09 19:08:50 +00:00
#include <stdlib.h>
#include <stdio.h>
#include <monome.h>
void handle_press(const monome_event_t *e, void *data) {
unsigned int x, y;
x = e->grid.x;
y = e->grid.y;
putc(0x01, stdout);
putc(x, stdout);
putc(y, stdout);
}
void handle_release(const monome_event_t *e, void *data) {
unsigned int x, y;
x = e->grid.x;
y = e->grid.y;
putc(0x00, stdout);
putc(x, stdout);
putc(y, stdout);
}
int main(int argc, char *argv[]) {
2021-09-09 19:30:44 +00:00
if(argc != 2) {
fprintf(stderr, "Please provide a serial port.\n");
}
2021-09-09 19:08:50 +00:00
setbuf(stdout, NULL);
monome_t *monome;
2021-09-09 19:30:44 +00:00
if( !(monome = monome_open(argv[1], "8000")) )
2021-09-09 19:08:50 +00:00
return -1;
monome_led_all(monome, 0);
monome_register_handler(monome, MONOME_BUTTON_DOWN, handle_press, NULL);
monome_register_handler(monome, MONOME_BUTTON_UP, handle_release, NULL);
monome_event_loop(monome);
monome_close(monome);
return 0;
}