Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: joystick.h
- Revision:
- 2:20a89dc286d5
- Parent:
- 1:f44175dd69fd
- Child:
- 4:e82f4a87df9e
diff -r f44175dd69fd -r 20a89dc286d5 joystick.h
--- a/joystick.h Sat Sep 29 13:01:42 2012 +0000
+++ b/joystick.h Thu Dec 20 21:33:52 2012 +0000
@@ -1,73 +1,73 @@
-#ifndef JOYSTICK_INCLUDED
-#define JOYSTICK_INCLUDED
-/*------------------------------------------------------------
- Universal joystick driver for Gameduino
-
- http://www.artlum.com/gameduino/gameduino.html#joystick
-
- Important: Read the file "read_me_first.txt" *before*
- writing any code. Do it NOW!
-
- Thanks go to 'Guy" for his contributions to this
-------------------------------------------------------------*/
-
-//#include "WProgram.h"
-#include "arduino.h"
-class Joystick {
- byte buttons; // State of buttons, packed into a byte
- byte prev; // State of the buttons on previous read
- byte dpad; // State of Up/Down/Left/Right buttons plus some control flags
- signed char stickX,stickY;// Analogue x/y position
- char xCal,yCal; // Calibration
-public:
- // The constructor sets up the Arduino pins for input
- // and calibrates the joystick using the current position
- Joystick();
-
- // Read the current state
- void read();
-
- // Return "true" if analog X/Y position is available
- bool hasAnalogStick();
-
-// Digital joystick functions
- enum button_name {
- buttonA = 0x01,
- buttonB = 0x02,
- buttonC = 0x04,
- buttonX = 0x08,
- buttonY = 0x10,
- buttonZ = 0x20,
- buttonStart = 0x40,
- buttonSelect = 0x80
- };
- // Test a named button
- // nb. You can combine button names to test multiple buttons at the same time
- bool isPressed(byte n) { return (buttons&n)!=0; }
-
- // This tells you if a button changed between the last two calls to "read()"
- bool changed(byte n) { return bool((buttons^prev)&n); }
-
- // Joystick up/down/left/right (or analog stick)
- bool left() { return (dpad&0x01)!=0; }
- bool right() { return (dpad&0x02)!=0; }
- bool up() { return (dpad&0x04)!=0; }
- bool down() { return (dpad&0x08)!=0; }
-
-
-// Analog joystick functions
-
- // Force the analog joystick to recalibrate itself
- void recalibrate();
-
- // Current joystick position in range [-128..127]
- char analogX() { return stickX; }
- char analogY() { return stickY; }
-
-// For debugging - show all state onscreen at (x,y)
- void dump(int x, int y);
-};
-
-
-// JOYSTICK_INCLUDED
-#endif
+#ifndef JOYSTICK_INCLUDED
+#define JOYSTICK_INCLUDED
+/*------------------------------------------------------------
+ Universal joystick driver for Gameduino
+
+ http://www.artlum.com/gameduino/gameduino.html#joystick
+
+ Important: Read the file "read_me_first.txt" *before*
+ writing any code. Do it NOW!
+
+ Thanks go to 'Guy" for his contributions to this
+------------------------------------------------------------*/
+
+//#include "WProgram.h"
+#include "arduino.h"
+class Joystick {
+ byte buttons; // State of buttons, packed into a byte
+ byte prev; // State of the buttons on previous read
+ byte dpad; // State of Up/Down/Left/Right buttons plus some control flags
+ signed char stickX,stickY;// Analogue x/y position
+ char xCal,yCal; // Calibration
+public:
+ // The constructor sets up the Arduino pins for input
+ // and calibrates the joystick using the current position
+ Joystick();
+
+ // Read the current state
+ void read();
+
+ // Return "true" if analog X/Y position is available
+ bool hasAnalogStick();
+
+// Digital joystick functions
+ enum button_name {
+ buttonA = 0x01,
+ buttonB = 0x02,
+ buttonC = 0x04,
+ buttonX = 0x08,
+ buttonY = 0x10,
+ buttonZ = 0x20,
+ buttonStart = 0x40,
+ buttonSelect = 0x80
+ };
+ // Test a named button
+ // nb. You can combine button names to test multiple buttons at the same time
+ bool isPressed(byte n) { return (buttons&n)!=0; }
+
+ // This tells you if a button changed between the last two calls to "read()"
+ bool changed(byte n) { return bool((buttons^prev)&n); }
+
+ // Joystick up/down/left/right (or analog stick)
+ bool left() { return (dpad&0x01)!=0; }
+ bool right() { return (dpad&0x02)!=0; }
+ bool up() { return (dpad&0x04)!=0; }
+ bool down() { return (dpad&0x08)!=0; }
+
+
+// Analog joystick functions
+
+ // Force the analog joystick to recalibrate itself
+ void recalibrate();
+
+ // Current joystick position in range [-128..127]
+ char analogX() { return stickX; }
+ char analogY() { return stickY; }
+
+// For debugging - show all state onscreen at (x,y)
+ void dump(int x, int y);
+};
+
+
+// JOYSTICK_INCLUDED
+#endif