123456789101112131415161718192021222324252627282930313233 |
- #include "FR_Joystick.h"
-
-
- FR_Joystick::FR_Joystick(byte pinS2,byte pinS1,byte pinS0,byte pinData)
- {
- _S2=pinS2; //MSB
- _S1=pinS1;
- _S0=pinS0; //LSB
- _data=pinData;
- init();
- }
-
- void FR_Joystick::init()
- {
- pinMode(_S2,OUTPUT);
- pinMode(_S1,OUTPUT);
- pinMode(_S0,OUTPUT);
- pinMode(_data,INPUT);
- }
-
- int FR_Joystick::readJoystick(byte num)
- {
- if(num>6)
- return -1;
- byte DMUXtrans[3]={_S0,_S1,_S2};
- for(int j=0;j<3;j++)
- digitalWrite(DMUXtrans[j],(num>>j)%2);
- if(num==LBtn || num==RBtn)
- return !digitalRead(_data);
- return (analogRead(_data));
- }
-
|