aboutsummaryrefslogtreecommitdiff
path: root/controller.c
diff options
context:
space:
mode:
Diffstat (limited to 'controller.c')
-rw-r--r--controller.c135
1 files changed, 0 insertions, 135 deletions
diff --git a/controller.c b/controller.c
deleted file mode 100644
index c5be026..0000000
--- a/controller.c
+++ /dev/null
@@ -1,135 +0,0 @@
-#include <stdio.h>
-#include <stdbool.h>
-#include "SDL.h"
-
-void joystick_open(int id, SDL_Joystick* joystick) {
-
- joystick=SDL_JoystickOpen(id);
-
- if(joystick) {
- fprintf(stderr, "Opened joystick %d\n", id);
- fprintf(stderr, "Name: %s\n", SDL_JoystickName(joystick));
- fprintf(stderr, "Number of axes: %d\n", SDL_JoystickNumAxes(joystick));
- fprintf(stderr, "Number of buttons: %d\n", SDL_JoystickNumButtons(joystick));
- fprintf(stderr, "Number of balls: %d\n", SDL_JoystickNumBalls(joystick));
- } else {
- fprintf(stderr, "Couldn't open joystick %d\n", id);
- }
-}
-
-void joystick_close(SDL_Joystick* joystick) {
- if (SDL_JoystickGetAttached(joystick)) {
- SDL_JoystickClose(joystick);
- }
-}
-
-int main(int argc, char *argv[]) {
-
- //initialize joystick library
- if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) < 0) {
- fprintf(stderr, "Couldn't initialize SDL joystick: %s\n", SDL_GetError());
- exit(1);
- }
-
- //id of controlling joystick
- int joystick_id = 0;
-
- int throttle = 0;
-
- //pointer to joystick in use
- SDL_Joystick* joystick = NULL;
-
- //event loop
- SDL_Event e;
- bool cont = true;
- while (cont) {
-
- while( SDL_WaitEventTimeout(&e, 500)) {
- switch( e.type ) {
-
- case SDL_JOYDEVICEADDED:
- if (e.jdevice.which == joystick_id) {
- fprintf(stderr, "Joystick connected\n");
- joystick_open(joystick_id, joystick);
- }
- break;
-
- case SDL_JOYDEVICEREMOVED:
- if (e.jdevice.which == joystick_id) {
- fprintf(stderr, "Joystick disconnected\n");
- joystick_close(joystick);
- }
- break;
-
- case SDL_JOYAXISMOTION:
- fprintf(stderr, "axis event\n");
- fprintf(stderr, "%d\n", e.jaxis.value);
- break;
- case SDL_JOYHATMOTION:
- fprintf(stderr, "hat event\n");
- break;
-
- case SDL_JOYBUTTONDOWN:
- switch (e.jbutton.button) {
- case 0:
- throttle = 12;
- break;
- case 4:
- throttle -= 1;
- break;
- case 5:
- throttle += 1;
- break;
- case 6:
- throttle -= 25;
- break;
- case 7:
- throttle += 25;
- break;
- default:
- break;
- }
-
- fprintf(stderr, "button down\n");
- break;
-
- case SDL_JOYBUTTONUP:
- fprintf(stderr, "button up\n");
- break;
-
- case SDL_QUIT:
- cont = false;
- break;
-
- default:
- fprintf(stderr,"Unsupported event type: %d\n", e.type);
- break;
- }
-
- if (throttle < 0) {
- throttle = 0;
- }
- if (throttle > 255) {
- throttle = 255;
- }
- unsigned char tc = (unsigned char) throttle;
- fprintf(stderr, "%u\n", tc);
- printf("%u\n", tc);
- fflush(stdout);
-
- }
-
- unsigned char tc = (unsigned char) throttle;
- //fwrite(&tc, 1, 1, stdout);
- //fflush(stdout);
- printf("%u\n", tc);
- fflush(stdout);
-
-
-
- //print_control_data(&c);
- //printf("--\n");
- }
-
- return 0;
-} \ No newline at end of file