ESPixelStick Firmware
Firmware for the ESPixelStick
Loading...
Searching...
No Matches
GPIO_Defs.hpp
Go to the documentation of this file.
1#pragma once
2/*
3* GPIO_Defs.hpp - Output Management class
4*
5* Project: ESPixelStick - An ESP8266 / ESP32 and E1.31 based pixel driver
6* Copyright (c) 2021, 2022 Shelby Merrick
7* http://www.forkineye.com
8*
9* This program is provided free for you to use in any way that you wish,
10* subject to the laws and regulations where you are using it. Due diligence
11* is strongly suggested before using this code. Please give credit where due.
12*
13* The Author makes no warranty of any kind, express or implied, with regard
14* to this program or the documentation contained in this document. The
15* Author shall not be liable in any event for incidental or consequential
16* damages in connection with, or arising out of, the furnishing, performance
17* or use of these programs.
18*
19*/
20
21#include "ESPixelStick.h"
22
23#ifdef ARDUINO_ARCH_ESP32
24# include <driver/gpio.h>
25# include <hal/uart_types.h>
26#endif
27
28#ifdef ARDUINO_ARCH_ESP8266
29typedef enum
30{
31 GPIO_NUM_0 = 0,
32 GPIO_NUM_1,
33 GPIO_NUM_2,
34 GPIO_NUM_3,
35 GPIO_NUM_4,
36 GPIO_NUM_5,
37 GPIO_NUM_6,
38 GPIO_NUM_7,
39 GPIO_NUM_8,
40 GPIO_NUM_9,
41 GPIO_NUM_10,
42 GPIO_NUM_11,
43 GPIO_NUM_12,
44 GPIO_NUM_13,
45 GPIO_NUM_14,
46 GPIO_NUM_15,
47 GPIO_NUM_16,
48 GPIO_NUM_17,
49 GPIO_NUM_18,
50 GPIO_NUM_19,
51 GPIO_NUM_20,
52 GPIO_NUM_21,
53 GPIO_NUM_22,
54 GPIO_NUM_23,
55 GPIO_NUM_24,
56 GPIO_NUM_25,
57 GPIO_NUM_26,
58 GPIO_NUM_27,
59 GPIO_NUM_28,
60 GPIO_NUM_29,
61 GPIO_NUM_30,
62 GPIO_NUM_31,
63 GPIO_NUM_32,
64 GPIO_NUM_33,
65 GPIO_NUM_34,
66} gpio_num_t;
67
68typedef enum
69{
70 UART_NUM_0 = 0,
71 UART_NUM_1,
72 UART_NUM_2
73} uart_port_t;
74#endif // def ARDUINO_ARCH_ESP8266
75
76// Platform specific GPIO definitions
77#if defined (BOARD_ESP32_CAM)
79#elif defined (BOARD_ESP32_D1_MINI_ETH)
81#elif defined (BOARD_ESP32_D1_MINI)
83#elif defined (BOARD_ESP32_KA)
85#elif defined (BOARD_ESP32_LOLIN_D32_PRO_ETH)
87#elif defined (BOARD_ESP32_LOLIN_D32_PRO)
89#elif defined (BOARD_ESP32_M5STACK_ATOM)
91#elif defined (BOARD_ESP32_MH_ET_LIVE_MiniKit)
93#elif defined (BOARD_ESP32_QUINLED_DIG_OCTA)
95#elif defined (BOARD_ESP32_OLIMEX_GATEWAY)
97#elif defined (BOARD_ESP32_QUINLED_QUAD_ETH)
99#elif defined (BOARD_ESP32_QUINLED_QUAD_AE_PLUS)
101#elif defined (BOARD_ESP32_QUINLED_QUAD_AE_PLUS_8)
103#elif defined (BOARD_ESP32_QUINLED_QUAD)
105#elif defined (BOARD_ESP32_QUINLED_UNO_ETH)
107#elif defined (BOARD_ESP32_QUINLED_UNO)
109#elif defined (BOARD_ESP32_QUINLED_UNO_AE_PLUS)
111#elif defined (BOARD_ESP32_QUINLED_UNO_ESPSV3)
113#elif defined (BOARD_ESP32_QUINLED_UNO_ETH_ESPSV3)
115#elif defined (BOARD_ESP32_TTGO_T8)
117#elif defined (BOARD_ESP32_BONG69)
119#elif defined (BOARD_ESP32_WT32ETH01)
121#elif defined (BOARD_ESP32_WT32ETH01_WASATCH)
123#elif defined (BOARD_ESP32_TWILIGHTLORD)
125#elif defined (BOARD_ESP32_TWILIGHTLORD_ETH)
127#elif defined (BOARD_ESP32_DEVKITC)
129#elif defined (BOARD_ESP01S)
131#elif defined (BOARD_ESPS_V3)
133#elif defined (BOARD_ESPS_ESP3DEUXQUATRO_DMX)
135#elif defined (BOARD_ESP32_OCTA2GO)
137#elif defined (BOARD_ESP32_TETRA2GO)
139#elif defined (BOARD_ESP32_KR_LIGHTS_MSM)
141#elif defined (BOARD_ESP32_BREAKDANCEV2)
143#elif defined (BOARD_ESP8266_D1MINI_LOLIN_SD)
145#elif defined (ARDUINO_ARCH_ESP32)
147#elif defined (ARDUINO_ARCH_ESP8266)
149#else
150# error "No valid platform definition"
151#endif // ndef platform specific GPIO definitions
152
153#if defined(SUPPORT_SD) || defined(SUPPORT_SD_MMC)
154# define SUPPORT_FPP
155#endif // defined(SUPPORT_SD) || defined(SUPPORT_SD_MMC)