diff --git a/cores/esp8266/core_esp8266_wiring_analog.c b/cores/esp8266/core_esp8266_wiring_analog.c index 74d5dd5d3..1ff1d264d 100644 --- a/cores/esp8266/core_esp8266_wiring_analog.c +++ b/cores/esp8266/core_esp8266_wiring_analog.c @@ -1,9 +1,9 @@ -/* +/* analog.c - analogRead implementation for esp8266 Copyright (c) 2015 Hristo Gochkov. All rights reserved. This file is part of the esp8266 core for Arduino environment. - + This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either @@ -17,8 +17,8 @@ You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - + + 18/06/2015 analogRead bugfix by Testato */ @@ -26,11 +26,13 @@ #include "pins_arduino.h" -extern int __analogRead(uint8_t pin) { - if(pin == 17){ - return system_adc_read(); - } - return digitalRead(pin) * 1023; +extern int __analogRead(uint8_t pin) +{ + // accept both A0 constant and ADC channel number + if(pin == 17 || pin == 0) { + return system_adc_read(); + } + return digitalRead(pin) * 1023; } extern int analogRead(uint8_t pin) __attribute__ ((weak, alias("__analogRead")));