void setup() {
// Joystick buttons 1-12
pinMode(0, INPUT_PULLUP);
pinMode(1, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
// Hat switch buttons
pinMode(14, INPUT_PULLUP);
pinMode(15, INPUT_PULLUP);
pinMode(16, INPUT_PULLUP);
pinMode(17, INPUT_PULLUP);
}
void loop() {
if (digitalRead(0) == LOW)
{
Joystick.button(1, 1);
}
else {
Joystick.button(1,0);
}
if (digitalRead(1) == LOW)
{
Joystick.button(2, 1);
}
else {
Joystick.button(2,0);
}
if (digitalRead(2) == LOW)
{
Joystick.button(3, 1);
}
else {
Joystick.button(3,0);
}
if (digitalRead(3) == LOW)
{
Joystick.button(4, 1);
}
else {
Joystick.button(4,0);
}
if (digitalRead(4) == LOW)
{
Joystick.button(5, 1);
}
else {
Joystick.button(5,0);
}
if (digitalRead(5) == LOW)
{
Joystick.button(6, 1);
}
else {
Joystick.button(6,0);
}
if (digitalRead(6) == LOW)
{
Joystick.button(7, 1);
}
else {
Joystick.button(7,0);
}
if (digitalRead(7) == LOW)
{
Joystick.button(8, 1);
}
else {
Joystick.button(8,0);
}
if (digitalRead(8) == LOW)
{
Joystick.button(9, 1);
}
else {
Joystick.button(9,0);
}
if (digitalRead(9) == LOW)
{
Joystick.button(10, 1);
}
else {
Joystick.button(10,0);
}
if (digitalRead(10) == LOW)
{
Joystick.button(11, 1);
}
else {
Joystick.button(11,0);
}
if (digitalRead(11) == LOW)
{
Joystick.button(12, 1);
}
else {
Joystick.button(12,0);
}
// Hat switch
int angle =-1;//no angle input
if (digitalRead(14)==LOW) angle =0;
if (digitalRead(15)==LOW) angle =90;
if (digitalRead(16)==LOW) angle =180;
if (digitalRead(17)==LOW) angle =270;
if ((digitalRead(14)==LOW) && (digitalRead(15)==LOW)) angle =45;
if ((digitalRead(15)==LOW) && (digitalRead(16)==LOW)) angle =135;
if ((digitalRead(16)==LOW) && (digitalRead(17)==LOW)) angle =225;
if ((digitalRead(17)==LOW) && (digitalRead(14)==LOW)) angle =315;
Joystick.hat(angle);
// Pitch and throttle axis
Joystick.sliderLeft(analogRead(4));
Joystick.sliderRight(analogRead(5));
}