BrickUp API Service for Docker version.

FR_Joystick.cpp 603B

123456789101112131415161718192021222324252627282930313233
  1. #include "FR_Joystick.h"
  2. FR_Joystick::FR_Joystick(byte pinS2,byte pinS1,byte pinS0,byte pinData)
  3. {
  4. _S2=pinS2; //MSB
  5. _S1=pinS1;
  6. _S0=pinS0; //LSB
  7. _data=pinData;
  8. init();
  9. }
  10. void FR_Joystick::init()
  11. {
  12. pinMode(_S2,OUTPUT);
  13. pinMode(_S1,OUTPUT);
  14. pinMode(_S0,OUTPUT);
  15. pinMode(_data,INPUT);
  16. }
  17. int FR_Joystick::readJoystick(byte num)
  18. {
  19. if(num>6)
  20. return -1;
  21. byte DMUXtrans[3]={_S0,_S1,_S2};
  22. for(int j=0;j<3;j++)
  23. digitalWrite(DMUXtrans[j],(num>>j)%2);
  24. if(num==LBtn || num==RBtn)
  25. return !digitalRead(_data);
  26. return (analogRead(_data));
  27. }