1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-21 10:26:06 +03:00

Accept both named constant and ADC channel number in analogRead (#1766)

This commit is contained in:
Ivan Grokhotkov 2016-03-16 12:34:51 +03:00
parent 652703ef41
commit 5227b32531

View File

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