Add non-calibrated ADC
This commit is contained in:
parent
dd86cb00ad
commit
128b4a013b
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-09-21 16:45-0500\n"
|
||||
"POT-Creation-Date: 2020-09-25 18:14-0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -1167,14 +1167,10 @@ msgstr ""
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
|
||||
msgid "Must provide MISO or MOSI pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/SPI.c
|
||||
msgid "Must provide SCK pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid "Must use a multiple of 6 rgb pins, not %d"
|
||||
@ -1415,6 +1411,10 @@ msgstr ""
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/ref/pulseout-pre-timeralloc.c
|
||||
msgid "PulseOut not supported on this chip"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr ""
|
||||
|
@ -73,30 +73,31 @@ INC += -I./peripherals
|
||||
INC += -I../../lib/mp-readline
|
||||
INC += -I../../lib/tinyusb/src
|
||||
INC += -I../../supervisor/shared/usb
|
||||
INC += -Iesp-idf/components/freertos/include/freertos
|
||||
INC += -Iesp-idf/components/freertos/xtensa/include
|
||||
INC += -Iesp-idf/components/esp32s2/include
|
||||
INC += -Iesp-idf/components/xtensa/esp32s2/include
|
||||
INC += -Iesp-idf/components/esp_common/include
|
||||
INC += -Iesp-idf/components/esp_event/include
|
||||
INC += -Iesp-idf/components/esp_netif/include
|
||||
INC += -Iesp-idf/components/esp_ringbuf/include
|
||||
INC += -Iesp-idf/components/esp_rom/include
|
||||
INC += -Iesp-idf/components/esp_wifi/include
|
||||
INC += -Iesp-idf/components/xtensa/include
|
||||
INC += -Iesp-idf/components/esp_timer/include
|
||||
INC += -Iesp-idf/components/mbedtls/mbedtls/include
|
||||
INC += -Iesp-idf/components/mbedtls/port/include/
|
||||
INC += -Iesp-idf/components/newlib/platform_include
|
||||
INC += -Iesp-idf/components/lwip/lwip/src/include
|
||||
INC += -Iesp-idf/components/lwip/port/esp32/include
|
||||
INC += -Iesp-idf/components/lwip/include/apps/sntp
|
||||
INC += -Iesp-idf/components/soc/include
|
||||
INC += -Iesp-idf/components/soc/src/esp32s2/include
|
||||
INC += -Iesp-idf/components/soc/soc/include
|
||||
INC += -Iesp-idf/components/soc/soc/esp32s2/include
|
||||
INC += -Iesp-idf/components/heap/include
|
||||
INC += -Iesp-idf/components/esp_system/include
|
||||
INC += -isystem esp-idf/components/freertos/include/freertos
|
||||
INC += -isystem esp-idf/components/freertos/xtensa/include
|
||||
INC += -isystem esp-idf/components/esp32s2/include
|
||||
INC += -isystem esp-idf/components/driver/esp32s2/include
|
||||
INC += -isystem esp-idf/components/xtensa/esp32s2/include
|
||||
INC += -isystem esp-idf/components/esp_common/include
|
||||
INC += -isystem esp-idf/components/esp_event/include
|
||||
INC += -isystem esp-idf/components/esp_netif/include
|
||||
INC += -isystem esp-idf/components/esp_ringbuf/include
|
||||
INC += -isystem esp-idf/components/esp_rom/include
|
||||
INC += -isystem esp-idf/components/esp_wifi/include
|
||||
INC += -isystem esp-idf/components/xtensa/include
|
||||
INC += -isystem esp-idf/components/esp_timer/include
|
||||
INC += -isystem esp-idf/components/mbedtls/mbedtls/include
|
||||
INC += -isystem esp-idf/components/mbedtls/port/include/
|
||||
INC += -isystem esp-idf/components/newlib/platform_include
|
||||
INC += -isystem esp-idf/components/lwip/lwip/src/include
|
||||
INC += -isystem esp-idf/components/lwip/port/esp32/include
|
||||
INC += -isystem esp-idf/components/lwip/include/apps/sntp
|
||||
INC += -isystem esp-idf/components/soc/include
|
||||
INC += -isystem esp-idf/components/soc/src/esp32s2/include
|
||||
INC += -isystem esp-idf/components/soc/soc/include
|
||||
INC += -isystem esp-idf/components/soc/soc/esp32s2/include
|
||||
INC += -isystem esp-idf/components/heap/include
|
||||
INC += -isystem esp-idf/components/esp_system/include
|
||||
INC += -I$(BUILD)/esp-idf/config
|
||||
|
||||
CFLAGS += -DHAVE_CONFIG_H \
|
||||
@ -260,7 +261,7 @@ ESP_IDF_COMPONENTS_LINK = freertos log esp_system esp32s2 bootloader_support pth
|
||||
|
||||
ESP_IDF_COMPONENTS_INCLUDE = driver freertos log soc
|
||||
|
||||
INC += $(foreach component, $(ESP_IDF_COMPONENTS_INCLUDE), -Iesp-idf/components/$(component)/include)
|
||||
INC += $(foreach component, $(ESP_IDF_COMPONENTS_INCLUDE), -isystem esp-idf/components/$(component)/include)
|
||||
|
||||
ESP_IDF_COMPONENTS_EXPANDED = $(foreach component, $(ESP_IDF_COMPONENTS_LINK), $(BUILD)/esp-idf/esp-idf/$(component)/lib$(component).a)
|
||||
ESP_IDF_WIFI_COMPONENTS_EXPANDED = $(foreach component, $(ESP_IDF_WIFI_COMPONENTS_LINK), $(BUILD)/esp-idf/esp-idf/$(component)/lib$(component).a)
|
||||
|
103
ports/esp32s2/common-hal/analogio/AnalogIn.c
Normal file
103
ports/esp32s2/common-hal/analogio/AnalogIn.c
Normal file
@ -0,0 +1,103 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "common-hal/analogio/AnalogIn.h"
|
||||
#include "py/mperrno.h"
|
||||
#include "py/runtime.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
#include "driver/adc.h"
|
||||
// TODO: Add when ESP-IDF is updated latest version
|
||||
// #include "esp-idf/components/esp_adc_cal/include/esp_adc_cal.h"
|
||||
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
#define DEFAULT_VREF 1100
|
||||
#define NO_OF_SAMPLES 64
|
||||
#define ATTENUATION ADC_ATTEN_DB_11
|
||||
#define DATA_WIDTH ADC_WIDTH_BIT_13
|
||||
|
||||
void common_hal_analogio_analogin_construct(analogio_analogin_obj_t* self,
|
||||
const mcu_pin_obj_t *pin) {
|
||||
if (pin->adc_index == 0 || pin->adc_channel == ADC_CHANNEL_MAX) {
|
||||
mp_raise_ValueError(translate("Pin does not have ADC capabilities"));
|
||||
}
|
||||
common_hal_mcu_pin_claim(pin);
|
||||
self->pin = pin;
|
||||
}
|
||||
|
||||
bool common_hal_analogio_analogin_deinited(analogio_analogin_obj_t *self) {
|
||||
return self->pin == NULL;
|
||||
}
|
||||
|
||||
void common_hal_analogio_analogin_deinit(analogio_analogin_obj_t *self) {
|
||||
if (common_hal_analogio_analogin_deinited(self)) {
|
||||
return;
|
||||
}
|
||||
reset_pin_number(self->pin->number);
|
||||
self->pin = NULL;
|
||||
}
|
||||
|
||||
uint16_t common_hal_analogio_analogin_get_value(analogio_analogin_obj_t *self) {
|
||||
if (self->pin->adc_index == ADC_UNIT_1) {
|
||||
adc1_config_width(DATA_WIDTH);
|
||||
adc1_config_channel_atten((adc1_channel_t)self->pin->adc_channel, ATTENUATION);
|
||||
} else if (self->pin->adc_index == ADC_UNIT_2) {
|
||||
adc2_config_channel_atten((adc2_channel_t)self->pin->adc_channel, ATTENUATION);
|
||||
}
|
||||
|
||||
// TODO: esp_adc_cal is only available in the latest version of the esp-idf. Enable when we update.
|
||||
// Automatically select calibration process depending on status of efuse
|
||||
// esp_adc_cal_characteristics_t *adc_chars = calloc(1, sizeof(esp_adc_cal_characteristics_t));
|
||||
// esp_adc_cal_characterize(self->pin->adc_index, ATTENUATION, DATA_WIDTH, DEFAULT_VREF, adc_chars);
|
||||
|
||||
uint32_t adc_reading = 0;
|
||||
//Multisampling
|
||||
for (int i = 0; i < NO_OF_SAMPLES; i++) {
|
||||
if (self->pin->adc_index == ADC_UNIT_1) {
|
||||
adc_reading += adc1_get_raw((adc1_channel_t)self->pin->adc_channel);
|
||||
} else {
|
||||
int raw;
|
||||
esp_err_t r = adc2_get_raw((adc2_channel_t)self->pin->adc_channel, DATA_WIDTH, &raw);
|
||||
if ( r != ESP_OK ) {
|
||||
mp_raise_ValueError(translate("ADC2 is being used by WiFi"));
|
||||
}
|
||||
adc_reading += raw;
|
||||
}
|
||||
}
|
||||
adc_reading /= NO_OF_SAMPLES;
|
||||
|
||||
// This corrects non-linear regions of the ADC range with a LUT, so it's a better reading than raw
|
||||
// Enable when ESP-IDF is updated
|
||||
//uint32_t voltage = esp_adc_cal_raw_to_voltage(adc_reading, adc_chars);
|
||||
//return voltage * ((1 << 16) - 1)/3300;
|
||||
|
||||
return adc_reading;
|
||||
}
|
||||
|
||||
float common_hal_analogio_analogin_get_reference_voltage(analogio_analogin_obj_t *self) {
|
||||
return 3.3f;
|
||||
}
|
50
ports/esp32s2/common-hal/analogio/AnalogIn.h
Normal file
50
ports/esp32s2/common-hal/analogio/AnalogIn.h
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_ESP32S2_COMMON_HAL_ANALOGIO_ANALOGIN_H
|
||||
#define MICROPY_INCLUDED_ESP32S2_COMMON_HAL_ANALOGIO_ANALOGIN_H
|
||||
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
#include "esp-idf/components/soc/include/hal/adc_types.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "py/obj.h"
|
||||
|
||||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
const mcu_pin_obj_t * pin;
|
||||
} analogio_analogin_obj_t;
|
||||
|
||||
static inline uint8_t stm32_adc_units(uint8_t adc_packed) {
|
||||
return adc_packed >> 5;
|
||||
}
|
||||
|
||||
static inline uint8_t stm32_adc_channel(uint8_t adc_packed) {
|
||||
return adc_packed & 0x1f;
|
||||
}
|
||||
|
||||
#endif // MICROPY_INCLUDED_ESP32S2_COMMON_HAL_ANALOGIO_ANALOGIN_H
|
60
ports/esp32s2/common-hal/analogio/AnalogOut.c
Normal file
60
ports/esp32s2/common-hal/analogio/AnalogOut.c
Normal file
@ -0,0 +1,60 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2013, 2014 Damien P. George
|
||||
* Copyright (c) 2019, Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "py/mperrno.h"
|
||||
#include "py/runtime.h"
|
||||
|
||||
#include "shared-bindings/analogio/AnalogOut.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
void common_hal_analogio_analogout_construct(analogio_analogout_obj_t* self,
|
||||
const mcu_pin_obj_t *pin) {
|
||||
//mp_raise_ValueError(translate("No DAC on chip"));
|
||||
}
|
||||
|
||||
bool common_hal_analogio_analogout_deinited(analogio_analogout_obj_t *self) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void common_hal_analogio_analogout_deinit(analogio_analogout_obj_t *self) {
|
||||
|
||||
}
|
||||
|
||||
void common_hal_analogio_analogout_set_value(analogio_analogout_obj_t *self,
|
||||
uint16_t value) {
|
||||
|
||||
}
|
||||
|
||||
void analogout_reset(void) {
|
||||
|
||||
}
|
44
ports/esp32s2/common-hal/analogio/AnalogOut.h
Normal file
44
ports/esp32s2/common-hal/analogio/AnalogOut.h
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Scott Shawcroft
|
||||
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_STM32F4_COMMON_HAL_ANALOGIO_ANALOGOUT_H
|
||||
#define MICROPY_INCLUDED_STM32F4_COMMON_HAL_ANALOGIO_ANALOGOUT_H
|
||||
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
#include "py/obj.h"
|
||||
|
||||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
const mcu_pin_obj_t * pin;
|
||||
uint8_t channel;
|
||||
uint8_t dac_index:1;
|
||||
} analogio_analogout_obj_t;
|
||||
|
||||
void analogout_reset(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_STM32F4_COMMON_HAL_ANALOGIO_ANALOGOUT_H
|
1
ports/esp32s2/common-hal/analogio/__init__.c
Normal file
1
ports/esp32s2/common-hal/analogio/__init__.c
Normal file
@ -0,0 +1 @@
|
||||
// No analogio module functions.
|
@ -13,8 +13,8 @@ USB_SERIAL_NUMBER_LENGTH = 12
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# These modules are implemented in ports/<port>/common-hal:
|
||||
# CIRCUITPY_ANALOGIO = 0
|
||||
CIRCUITPY_FULL_BUILD = 1
|
||||
CIRCUITPY_ANALOGIO = 0
|
||||
CIRCUITPY_AUDIOBUSIO = 0
|
||||
CIRCUITPY_AUDIOIO = 0
|
||||
CIRCUITPY_COUNTIO = 0
|
||||
|
@ -26,56 +26,58 @@
|
||||
|
||||
#include "peripherals/pins.h"
|
||||
|
||||
#define NO_ADC 0xff
|
||||
#define NO_ADC 0
|
||||
#define NO_ADC_CHANNEL ADC_CHANNEL_MAX
|
||||
|
||||
// This macro is used to simplify pin definition in boards/<board>/pins.c
|
||||
#define PIN(p_name, p_number) \
|
||||
#define PIN(p_name, p_number, p_adc_index, p_adc_channel) \
|
||||
const mcu_pin_obj_t pin_## p_name = { \
|
||||
PIN_PREFIX_VALUES \
|
||||
.number = p_number, \
|
||||
.adc_index = p_adc_index, \
|
||||
.adc_channel = p_adc_channel, \
|
||||
}
|
||||
|
||||
PIN(GPIO0, 0);
|
||||
PIN(GPIO1, 1);
|
||||
PIN(GPIO2, 2);
|
||||
PIN(GPIO3, 3);
|
||||
PIN(GPIO4, 4);
|
||||
PIN(GPIO5, 5);
|
||||
PIN(GPIO6, 6);
|
||||
PIN(GPIO7, 7);
|
||||
PIN(GPIO8, 8);
|
||||
PIN(GPIO9, 9);
|
||||
PIN(GPIO10, 10);
|
||||
PIN(GPIO11, 11);
|
||||
PIN(GPIO12, 12);
|
||||
PIN(GPIO13, 13);
|
||||
PIN(GPIO14, 14);
|
||||
PIN(GPIO15, 15);
|
||||
PIN(GPIO16, 16);
|
||||
PIN(GPIO17, 17);
|
||||
PIN(GPIO18, 18);
|
||||
|
||||
PIN(GPIO19, 19);
|
||||
PIN(GPIO20, 20);
|
||||
PIN(GPIO21, 21);
|
||||
PIN(GPIO26, 26);
|
||||
PIN(GPIO27, 27);
|
||||
PIN(GPIO28, 28);
|
||||
PIN(GPIO29, 29);
|
||||
PIN(GPIO30, 30);
|
||||
PIN(GPIO31, 31);
|
||||
PIN(GPIO32, 32);
|
||||
PIN(GPIO33, 33);
|
||||
PIN(GPIO34, 34);
|
||||
PIN(GPIO35, 35);
|
||||
PIN(GPIO36, 36);
|
||||
PIN(GPIO37, 37);
|
||||
PIN(GPIO38, 38);
|
||||
PIN(GPIO39, 39);
|
||||
PIN(GPIO40, 40);
|
||||
PIN(GPIO41, 41);
|
||||
PIN(GPIO42, 42);
|
||||
PIN(GPIO43, 43);
|
||||
PIN(GPIO44, 44);
|
||||
PIN(GPIO45, 45);
|
||||
PIN(GPIO46, 46);
|
||||
PIN(GPIO0, 0, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO1, 1, ADC_UNIT_1, ADC_CHANNEL_0);
|
||||
PIN(GPIO2, 2, ADC_UNIT_1, ADC_CHANNEL_1);
|
||||
PIN(GPIO3, 3, ADC_UNIT_1, ADC_CHANNEL_2);
|
||||
PIN(GPIO4, 4, ADC_UNIT_1, ADC_CHANNEL_3);
|
||||
PIN(GPIO5, 5, ADC_UNIT_1, ADC_CHANNEL_4);
|
||||
PIN(GPIO6, 6, ADC_UNIT_1, ADC_CHANNEL_5);
|
||||
PIN(GPIO7, 7, ADC_UNIT_1, ADC_CHANNEL_6);
|
||||
PIN(GPIO8, 8, ADC_UNIT_1, ADC_CHANNEL_7);
|
||||
PIN(GPIO9, 9, ADC_UNIT_1, ADC_CHANNEL_8);
|
||||
PIN(GPIO10, 10, ADC_UNIT_1, ADC_CHANNEL_9);
|
||||
PIN(GPIO11, 11, ADC_UNIT_2, ADC_CHANNEL_0);
|
||||
PIN(GPIO12, 12, ADC_UNIT_2, ADC_CHANNEL_1);
|
||||
PIN(GPIO13, 13, ADC_UNIT_2, ADC_CHANNEL_2);
|
||||
PIN(GPIO14, 14, ADC_UNIT_2, ADC_CHANNEL_3);
|
||||
PIN(GPIO15, 15, ADC_UNIT_2, ADC_CHANNEL_4);
|
||||
PIN(GPIO16, 16, ADC_UNIT_2, ADC_CHANNEL_5);
|
||||
PIN(GPIO17, 17, ADC_UNIT_2, ADC_CHANNEL_6);
|
||||
PIN(GPIO18, 18, ADC_UNIT_2, ADC_CHANNEL_7);
|
||||
PIN(GPIO19, 19, ADC_UNIT_2, ADC_CHANNEL_8);
|
||||
PIN(GPIO20, 20, ADC_UNIT_2, ADC_CHANNEL_9);
|
||||
PIN(GPIO21, 21, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO26, 26, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO27, 27, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO28, 28, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO29, 29, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO30, 30, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO31, 31, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO32, 32, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO33, 33, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO34, 34, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO35, 35, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO36, 36, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO37, 37, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO38, 38, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO39, 39, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO40, 40, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO41, 41, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO42, 42, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO43, 43, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO44, 44, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO45, 45, NO_ADC, NO_ADC_CHANNEL);
|
||||
PIN(GPIO46, 46, NO_ADC, NO_ADC_CHANNEL);
|
||||
|
@ -35,10 +35,13 @@
|
||||
#include "esp32s2_peripherals_config.h"
|
||||
#include "esp-idf/config/sdkconfig.h"
|
||||
#include "esp-idf/components/soc/include/hal/gpio_types.h"
|
||||
#include "esp-idf/components/soc/include/hal/adc_types.h"
|
||||
|
||||
typedef struct {
|
||||
PIN_PREFIX_FIELDS
|
||||
gpio_num_t number;
|
||||
uint8_t adc_index:2;
|
||||
uint8_t adc_channel:6;
|
||||
} mcu_pin_obj_t;
|
||||
|
||||
extern const mcu_pin_obj_t pin_GPIO0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user