/joystickAppBoard class //Written by Napoleon Leoni; February 2014 //Simple class object to handle joystick state for the mbed application board //5 way Joystick ALPS SKRHADE010 //Down:p12; Left:p13 Centre:p14 Up:p15 Right:p16 #include "joystickAppBoard.h" // Joystick state definitions //#define JOYSTICKDOWN 0x01 //0b00001 d1 //#define JOYSTICKLEFT 0x02 //0b00010 d2 //#define JOYSTICKCENTER 0x04 //0b00100 d4 //#define JOYSTICKUP 0x08 //0b01000 d8 //#define JOYSTICKRIGHT 0x10 //0b10000 d16

Files at this revision

API Documentation at this revision

Comitter:
nleoni
Date:
Thu Feb 13 08:03:28 2014 +0000
Commit message:
/joystickAppBoard class; //Written by Napoleon Leoni; February 2014; //Simple class object to handle joystick state for the mbed application board; //5 way Joystick ALPS SKRHADE010; //Down:p12; Left:p13 Centre:p14 Up:p15 Right:p16;

Changed in this revision

joystickAppBoard.cpp Show annotated file Show diff for this revision Revisions of this file
joystickAppBoard.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 180cf3834ece joystickAppBoard.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/joystickAppBoard.cpp	Thu Feb 13 08:03:28 2014 +0000
@@ -0,0 +1,86 @@
+//joystickAppBoard class
+//Written by Napoleon Leoni; February 2014
+//Simple class object to handle joystick state for the mbed application board
+//5 way Joystick    ALPS SKRHADE010
+//Down:p12; Left:p13 Centre:p14 Up:p15 Right:p16
+
+#include "joystickAppBoard.h"
+
+// Joystick state definitions
+//#define JOYSTICKDOWN    0x01            //0b00001  d1
+//#define JOYSTICKLEFT    0x02            //0b00010  d2 
+//#define JOYSTICKCENTER  0x04            //0b00100  d4
+//#define JOYSTICKUP      0x08            //0b01000  d8
+//#define JOYSTICKRIGHT   0x10            //0b10000  d16
+
+//***************************** TESTING ********************************************************//
+//  TEST        TEST DESCRIPTION                                                STATUS          //
+//  1           getJoystickState yields the right hex value as shown above      PASS            //
+//  2           Joystick posistion (up, down center, leff, right) are all       PASS            //
+//              properly identified when the Joystick is actuated                               //
+//**********************************************************************************************//
+
+//**********************************************************************************************//
+// void joystickAppBoard::joystickAppBoard(void){                                                 //
+// Constructor, uses the predefined pins for the mbed app board to generater a BusIn object     //
+// to read the joystick state
+// Inputs: void                                                                                 //
+//**********************************************************************************************//
+  joystickAppBoard::joystickAppBoard(){
+    this->joystickPins = new BusIn(p12,p13,p14,p15,p16);
+    return;
+  }
+  
+//**********************************************************************************************//
+// void joystickAppBoard::readJoystick(void){                                                   //
+// reads and stores the current Joystick state as defined by an integer where each bit          //
+// represents one of the joystick directions                                                    //
+// Inputs: void                                                                                 //
+//**********************************************************************************************//
+  void joystickAppBoard::readJoystick(void){
+      this->joystickState=this->joystickPins->read();
+  }
+  
+//**********************************************************************************************//
+// int joystickAppBoard::getJoystickState(void){                                                //
+// returns the current Joystick states as defined above                                         //
+// Inputs: void                                                                                 //
+//**********************************************************************************************//
+  int joystickAppBoard::getJoystickState(void){
+        return this->joystickState;
+  }
+  
+//**********************************************************************************************//
+// int joystickAppBoard::isJoystickUp(void){                                                    //
+// returns true if Joystick is up                                                               //
+// Inputs: void                                                                                 //
+//**********************************************************************************************//
+  bool joystickAppBoard::isJoystickUp(void){ return ( (this->joystickState) & JOYSTICKUP); }
+  
+//**********************************************************************************************//
+// int joystickAppBoard::isJoystickDown(void){                                                  //
+// returns true if Joystick is down                                                             //
+// Inputs: void                                                                                 //
+//**********************************************************************************************//
+  bool joystickAppBoard::isJoystickDown(void){ return ( (this->joystickState) & JOYSTICKDOWN); }
+
+//**********************************************************************************************//
+// int joystickAppBoard::isJoystickLeft(void){                                                  //
+// returns true if Joystick is left                                                             //
+// Inputs: void                                                                                 //
+//**********************************************************************************************//
+  bool joystickAppBoard::isJoystickLeft(void){ return ( (this->joystickState) & JOYSTICKLEFT); }
+
+//**********************************************************************************************//
+// int joystickAppBoard::isJoystickRight(void){                                                 //
+// returns true if Joystick is left                                                             //
+// Inputs: void                                                                                 //
+//**********************************************************************************************//
+  bool joystickAppBoard::isJoystickRight(void){ return ( (this->joystickState) & JOYSTICKRIGHT); }
+
+//**********************************************************************************************//
+// int joystickAppBoard::isJoystickCenter(void){                                                //
+// returns true if Joystick is center                                                           //
+// Inputs: void                                                                                 //
+//**********************************************************************************************//
+  bool joystickAppBoard::isJoystickCenter(void){ return ( (this->joystickState) & JOYSTICKCENTER); }
diff -r 000000000000 -r 180cf3834ece joystickAppBoard.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/joystickAppBoard.h	Thu Feb 13 08:03:28 2014 +0000
@@ -0,0 +1,45 @@
+//joystickAppBoard class
+//Written by Napoleon Leoni; February 2014
+//Simple class object to handle joystick state for the mbed application board
+//5 way Joystick    ALPS SKRHADE010
+//Down:p12; Left:p13 Centre:p14 Up:p15 Right:p16
+
+#include "mbed.h"
+#include <BusIn.h>
+
+#ifndef JOYAPPPCB
+#define JOYAPPPCB
+// Joystick state definitions
+#define JOYSTICKDOWN    0x01            //0b00001  d1
+#define JOYSTICKLEFT    0x02            //0b00010  d2 
+#define JOYSTICKCENTER  0x04            //0b00100  d4
+#define JOYSTICKUP      0x08            //0b01000  d8
+#define JOYSTICKRIGHT   0x10            //0b10000  d16
+
+//***************************** TESTING ********************************************************//
+//  TEST        TEST DESCRIPTION                                                STATUS          //
+//  1           getJoystickState yields the right hex value as shown above      PASS            //
+//  2           Joystick posistion (up, down center, leff, right) are all       PASS            //
+//              properly identified when the Joystick is actuated                               //
+//**********************************************************************************************//
+
+class joystickAppBoard{
+  //members    
+  private:
+  BusIn *joystickPins;//this will be defined using all 5 pins fo joystick Busin(12,13,14,15,16)
+  int joystickState;
+  //methods
+  
+  public:
+  joystickAppBoard();
+  void readJoystick();
+  int getJoystickState(void);
+  bool isJoystickUp();
+  bool isJoystickDown();
+  bool isJoystickLeft();
+  bool isJoystickRight();
+  bool isJoystickCenter();
+      
+};
+
+#endif
\ No newline at end of file