|
42 | 42 | // the minimum interval for sampling analog input
|
43 | 43 | #define MINIMUM_SAMPLING_INTERVAL 1
|
44 | 44 |
|
| 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 | + |
45 | 63 |
|
46 | 64 | /*==============================================================================
|
47 | 65 | * GLOBAL VARIABLES
|
@@ -451,7 +469,7 @@ void reportAnalogCallback(byte analogPin, int value)
|
451 | 469 | // Send pin value immediately. This is helpful when connected via
|
452 | 470 | // ethernet, wi-fi or bluetooth so pin states can be known upon
|
453 | 471 | // reconnecting.
|
454 |
| - Firmata.sendAnalog(analogPin, analogRead(analogPin)); |
| 472 | + Firmata.sendAnalog(analogPin, analogRead( ANALOG_TO_PIN(analogPin) ) ); |
455 | 473 | }
|
456 | 474 | }
|
457 | 475 | }
|
@@ -863,7 +881,7 @@ void loop()
|
863 | 881 | if (IS_PIN_ANALOG(pin) && Firmata.getPinMode(pin) == PIN_MODE_ANALOG) {
|
864 | 882 | analogPin = PIN_TO_ANALOG(pin);
|
865 | 883 | if (analogInputsToReport & (1 << analogPin)) {
|
866 |
| - Firmata.sendAnalog(analogPin, analogRead(analogPin)); |
| 884 | + Firmata.sendAnalog(analogPin, analogRead( ANALOG_TO_PIN(analogPin) )); |
867 | 885 | }
|
868 | 886 | }
|
869 | 887 | }
|
|
0 commit comments