0920

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers DualShock.h Source File

DualShock.h

00001 #ifndef DUALSHOCK_H_
00002 #define DUALSHOCK_H_
00003 
00004 #include "mbed.h"
00005 
00006 #define BACKLASH 28
00007 
00008 typedef struct st_ds {
00009     union {
00010         uint16_t ButtonData;
00011         struct {
00012             union {
00013                 uint8_t ButtonLowData   :8;
00014                 struct {
00015                     uint8_t L2          :1;
00016                     uint8_t R2          :1;
00017                     uint8_t L1          :1;
00018                     uint8_t R1          :1;
00019                     uint8_t TRIANGLE    :1;
00020                     uint8_t CIRCLE      :1;
00021                     uint8_t CROSS       :1;
00022                     uint8_t SQUARE      :1;
00023                 };
00024             };
00025             union {
00026                 uint8_t ButtonHighData  :8;
00027                 struct {
00028                     uint8_t SELECT      :1;
00029                     uint8_t L3          :1;
00030                     uint8_t R3          :1;
00031                     uint8_t START       :1;
00032                     uint8_t UP          :1;
00033                     uint8_t RIGHT       :1;
00034                     uint8_t DOWN        :1;
00035                     uint8_t LEFT        :1;
00036                 };
00037             };
00038         };
00039     }BUTTON;
00040     struct {
00041         float LY;
00042         float LX;
00043         float RY;
00044         float RX;
00045     }ANALOG;
00046 } tDSParm;
00047 
00048 extern tDSParm hDS;
00049 /*
00050 if(hDS.BUTTON.L1)
00051 if(-1<=hDS.ANALOG.LY<=1)*/
00052 
00053 /**
00054  * @brief Function to initialize the encoder
00055  * @param mode      see definition above
00056  */
00057 extern uint8_t InitDS(Serial* f_serial);
00058 extern void ReStartDS(void);
00059 /**
00060  * @brief Function to initialize the encoder
00061  * @retval *pParm   see definition above
00062  */
00063 extern void getDSdata(void);
00064 #endif /* DUALSHOCK_H_ */