#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)); }