Example program for LPC General Purpose Shield using the 5-way JoyStick

Dependencies:   PCAL955x mbed

Committer:
MACRUM
Date:
Mon Jul 27 08:32:19 2015 +0000
Revision:
0:ae58e0a9d79e
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 0:ae58e0a9d79e 1 #include "mbed.h"
MACRUM 0:ae58e0a9d79e 2 #include "PCAL9555.h"
MACRUM 0:ae58e0a9d79e 3
MACRUM 0:ae58e0a9d79e 4 PCAL9555 gpio_exp(SDA, SCL);
MACRUM 0:ae58e0a9d79e 5 GpioBusIn joystick(gpio_exp, X0_0, X0_1, X0_2, X0_3, X0_4);
MACRUM 0:ae58e0a9d79e 6 Serial pc(USBTX, USBRX);
MACRUM 0:ae58e0a9d79e 7
MACRUM 0:ae58e0a9d79e 8 enum key_num {
MACRUM 0:ae58e0a9d79e 9 Key_Up = (1 << X0_4),
MACRUM 0:ae58e0a9d79e 10 Key_Down = (1 << X0_0),
MACRUM 0:ae58e0a9d79e 11 Key_Right = (1 << X0_3),
MACRUM 0:ae58e0a9d79e 12 Key_Left = (1 << X0_2),
MACRUM 0:ae58e0a9d79e 13 Key_Center = (1 << X0_1),
MACRUM 0:ae58e0a9d79e 14 };
MACRUM 0:ae58e0a9d79e 15
MACRUM 0:ae58e0a9d79e 16 int main()
MACRUM 0:ae58e0a9d79e 17 {
MACRUM 0:ae58e0a9d79e 18 while(1) {
MACRUM 0:ae58e0a9d79e 19 int keys = joystick.read();
MACRUM 0:ae58e0a9d79e 20 if ((keys & Key_Up) == 0)
MACRUM 0:ae58e0a9d79e 21 pc.printf("Up\n");
MACRUM 0:ae58e0a9d79e 22 if ((keys & Key_Down) == 0)
MACRUM 0:ae58e0a9d79e 23 pc.printf("Down\n");
MACRUM 0:ae58e0a9d79e 24 if ((keys & Key_Right) == 0)
MACRUM 0:ae58e0a9d79e 25 pc.printf("Right\n");
MACRUM 0:ae58e0a9d79e 26 if ((keys & Key_Left) == 0)
MACRUM 0:ae58e0a9d79e 27 pc.printf("Left\n");
MACRUM 0:ae58e0a9d79e 28 if ((keys & Key_Center) == 0)
MACRUM 0:ae58e0a9d79e 29 pc.printf("Center\n");
MACRUM 0:ae58e0a9d79e 30 wait(0.3);
MACRUM 0:ae58e0a9d79e 31 }
MACRUM 0:ae58e0a9d79e 32 }