From cac6080e1ad3b8d6da39ef33c56ca49fed44eacc Mon Sep 17 00:00:00 2001
From: XiongYu <xiongyu@espressif.com>
Date: Thu, 18 Apr 2019 11:37:49 +0800
Subject: [PATCH] bugfix(adc): fix adc warning

---
 components/esp8266/driver/adc.c         | 4 +++-
 components/esp8266/include/driver/adc.h | 5 +++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/components/esp8266/driver/adc.c b/components/esp8266/driver/adc.c
index df23e84b..5a5da6ae 100644
--- a/components/esp8266/driver/adc.c
+++ b/components/esp8266/driver/adc.c
@@ -130,8 +130,10 @@ esp_err_t adc_init(adc_config_t *config)
 
     phy_init_data = (esp_phy_init_data_t *)esp_phy_get_init_data();
     vdd33_const = phy_init_data->params[107];
-    ADC_CHECK((config->mode == ADC_READ_TOUT_MODE) ? (vdd33_const <= 255) : true, "To read the external voltage on TOUT(ADC) pin, vdd33_const need less than 255", ESP_FAIL);
+    
+    ADC_CHECK((config->mode == ADC_READ_TOUT_MODE) ? (vdd33_const < 255) : true, "To read the external voltage on TOUT(ADC) pin, vdd33_const need less than 255", ESP_FAIL);
     ADC_CHECK((config->mode == ADC_READ_VDD_MODE) ? (vdd33_const == 255) : true, "When adc measuring system voltage, vdd33_const must be set to 255,", ESP_FAIL);
+    ADC_CHECK(config->mode <= ADC_READ_MAX_MODE, "adc mode err", ESP_FAIL);
 
     adc_handle = heap_caps_malloc(sizeof(adc_handle_t), MALLOC_CAP_8BIT);
     ADC_CHECK(adc_handle, "adc handle malloc error", ESP_ERR_NO_MEM);
diff --git a/components/esp8266/include/driver/adc.h b/components/esp8266/include/driver/adc.h
index c7afbdfe..7b6b035c 100644
--- a/components/esp8266/include/driver/adc.h
+++ b/components/esp8266/include/driver/adc.h
@@ -25,8 +25,9 @@ extern "C" {
  * @brief ADC working mode enumeration
  */
 typedef enum {
-    ADC_READ_TOUT_MODE,
-    ADC_READ_VDD_MODE
+    ADC_READ_TOUT_MODE = 0,
+    ADC_READ_VDD_MODE,
+    ADC_READ_MAX_MODE
 } adc_mode_t;
 
 /**