Skip to content

Commit b182c9d

Browse files
committed
fix analogRead
1 parent af55589 commit b182c9d

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

libraries/Bluefruit52Lib/examples/Peripheral/StandardFirmata/StandardFirmata.ino

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,24 @@
4242
// the minimum interval for sampling analog input
4343
#define MINIMUM_SAMPLING_INTERVAL 1
4444

45+
// Adafruit
46+
uint8_t ANALOG_TO_PIN(uint8_t n)
47+
{
48+
switch (n)
49+
{
50+
case 0 : return PIN_A0;
51+
case 1 : return PIN_A1;
52+
case 2 : return PIN_A2;
53+
case 3 : return PIN_A3;
54+
case 4 : return PIN_A4;
55+
case 5 : return PIN_A5;
56+
case 6 : return PIN_A6;
57+
case 7 : return PIN_A7;
58+
}
59+
60+
return 127;
61+
}
62+
4563

4664
/*==============================================================================
4765
* GLOBAL VARIABLES
@@ -451,7 +469,7 @@ void reportAnalogCallback(byte analogPin, int value)
451469
// Send pin value immediately. This is helpful when connected via
452470
// ethernet, wi-fi or bluetooth so pin states can be known upon
453471
// reconnecting.
454-
Firmata.sendAnalog(analogPin, analogRead(analogPin));
472+
Firmata.sendAnalog(analogPin, analogRead( ANALOG_TO_PIN(analogPin) ) );
455473
}
456474
}
457475
}
@@ -863,7 +881,7 @@ void loop()
863881
if (IS_PIN_ANALOG(pin) && Firmata.getPinMode(pin) == PIN_MODE_ANALOG) {
864882
analogPin = PIN_TO_ANALOG(pin);
865883
if (analogInputsToReport & (1 << analogPin)) {
866-
Firmata.sendAnalog(analogPin, analogRead(analogPin));
884+
Firmata.sendAnalog(analogPin, analogRead( ANALOG_TO_PIN(analogPin) ));
867885
}
868886
}
869887
}

0 commit comments

Comments
 (0)