Tasmota/tasmota/berry/include/be_gpio_defines.h

366 lines
16 KiB
C
Raw Permalink Normal View History

2021-11-05 18:25:50 +00:00
/********************************************************************
* Generated code, don't edit
2024-04-24 18:53:01 +01:00
*
* The keys in the array belox must be in lexicographic order
*
* Generated by: `python3 gpio_convert.py`
2021-11-05 18:25:50 +00:00
*******************************************************************/
const be_const_member_t lv_gpio_constants[] = {
2021-11-05 18:25:50 +00:00
{ "A4988_DIR", (int32_t) GPIO_A4988_DIR },
{ "A4988_ENA", (int32_t) GPIO_A4988_ENA },
{ "A4988_MS1", (int32_t) GPIO_A4988_MS1 },
{ "A4988_STP", (int32_t) GPIO_A4988_STP },
{ "ADC_BUTTON", (int32_t) GPIO_ADC_BUTTON },
{ "ADC_BUTTON_INV", (int32_t) GPIO_ADC_BUTTON_INV },
{ "ADC_CT_POWER", (int32_t) GPIO_ADC_CT_POWER },
{ "ADC_INPUT", (int32_t) GPIO_ADC_INPUT },
{ "ADC_JOY", (int32_t) GPIO_ADC_JOY },
{ "ADC_LIGHT", (int32_t) GPIO_ADC_LIGHT },
2022-03-17 21:58:42 +00:00
{ "ADC_MQ", (int32_t) GPIO_ADC_MQ },
2021-11-05 18:25:50 +00:00
{ "ADC_PH", (int32_t) GPIO_ADC_PH },
{ "ADC_RANGE", (int32_t) GPIO_ADC_RANGE },
{ "ADC_TEMP", (int32_t) GPIO_ADC_TEMP },
2022-03-17 21:58:42 +00:00
{ "ADE7880_IRQ", (int32_t) GPIO_ADE7880_IRQ },
2022-10-25 10:49:39 +01:00
{ "ADE7953_CS", (int32_t) GPIO_ADE7953_CS },
2021-11-05 18:25:50 +00:00
{ "ADE7953_IRQ", (int32_t) GPIO_ADE7953_IRQ },
2022-10-25 10:49:39 +01:00
{ "ADE7953_RST", (int32_t) GPIO_ADE7953_RST },
2021-11-05 18:25:50 +00:00
{ "ARIRFRCV", (int32_t) GPIO_ARIRFRCV },
{ "ARIRFSEL", (int32_t) GPIO_ARIRFSEL },
{ "AS3935", (int32_t) GPIO_AS3935 },
{ "AS608_RX", (int32_t) GPIO_AS608_RX },
{ "AS608_TX", (int32_t) GPIO_AS608_TX },
{ "AZ_RXD", (int32_t) GPIO_AZ_RXD },
{ "AZ_TXD", (int32_t) GPIO_AZ_TXD },
{ "BACKLIGHT", (int32_t) GPIO_BACKLIGHT },
{ "BIOPDU_BIT", (int32_t) GPIO_BIOPDU_BIT },
{ "BIOPDU_PZEM016_RX", (int32_t) GPIO_BIOPDU_PZEM016_RX },
{ "BIOPDU_PZEM0XX_TX", (int32_t) GPIO_BIOPDU_PZEM0XX_TX },
2021-11-05 18:25:50 +00:00
{ "BL0939_RX", (int32_t) GPIO_BL0939_RX },
{ "BL0940_RX", (int32_t) GPIO_BL0940_RX },
{ "BL0942_RX", (int32_t) GPIO_BL0942_RX },
2022-03-17 21:58:42 +00:00
{ "BL6523_RX", (int32_t) GPIO_BL6523_RX },
{ "BL6523_TX", (int32_t) GPIO_BL6523_TX },
2021-11-05 18:25:50 +00:00
{ "BOILER_OT_RX", (int32_t) GPIO_BOILER_OT_RX },
{ "BOILER_OT_TX", (int32_t) GPIO_BOILER_OT_TX },
2022-10-25 10:49:39 +01:00
{ "BP5758D_CLK", (int32_t) GPIO_BP5758D_CLK },
{ "BP5758D_DAT", (int32_t) GPIO_BP5758D_DAT },
2021-11-05 18:25:50 +00:00
{ "BS814_CLK", (int32_t) GPIO_BS814_CLK },
{ "BS814_DAT", (int32_t) GPIO_BS814_DAT },
{ "BUZZER", (int32_t) GPIO_BUZZER },
{ "BUZZER_INV", (int32_t) GPIO_BUZZER_INV },
{ "CC1101_GDO0", (int32_t) GPIO_CC1101_GDO0 },
{ "CC1101_GDO2", (int32_t) GPIO_CC1101_GDO2 },
{ "CHANGE", CHANGE },
2022-03-06 14:50:24 +00:00
{ "CM11_RXD", (int32_t) GPIO_CM11_RXD },
{ "CM11_TXD", (int32_t) GPIO_CM11_TXD },
2021-11-05 18:25:50 +00:00
{ "CNTR1", (int32_t) GPIO_CNTR1 },
{ "CNTR1_NP", (int32_t) GPIO_CNTR1_NP },
{ "CSE7761_RX", (int32_t) GPIO_CSE7761_RX },
{ "CSE7761_TX", (int32_t) GPIO_CSE7761_TX },
{ "CSE7766_RX", (int32_t) GPIO_CSE7766_RX },
{ "CSE7766_TX", (int32_t) GPIO_CSE7766_TX },
{ "DAC", (int32_t) -1 },
{ "DCKI", (int32_t) GPIO_DCKI },
{ "DDS2382_RX", (int32_t) GPIO_DDS2382_RX },
{ "DDS2382_TX", (int32_t) GPIO_DDS2382_TX },
{ "DDSU666_RX", (int32_t) GPIO_DDSU666_RX },
{ "DDSU666_TX", (int32_t) GPIO_DDSU666_TX },
{ "DEEPSLEEP", (int32_t) GPIO_DEEPSLEEP },
{ "DHT11", (int32_t) GPIO_DHT11 },
{ "DHT11_OUT", (int32_t) GPIO_DHT11_OUT },
{ "DHT22", (int32_t) GPIO_DHT22 },
{ "DI", (int32_t) GPIO_DI },
{ "DINGTIAN_OE", (int32_t) GPIO_DINGTIAN_OE },
2021-11-05 18:25:50 +00:00
{ "DSB", (int32_t) GPIO_DSB },
{ "DSB_OUT", (int32_t) GPIO_DSB_OUT },
{ "DYP_RX", (int32_t) GPIO_DYP_RX },
{ "ELECTRIQ_MOODL_TX", (int32_t) GPIO_ELECTRIQ_MOODL_TX },
{ "EPAPER29_CS", (int32_t) GPIO_EPAPER29_CS },
{ "EPAPER42_CS", (int32_t) GPIO_EPAPER42_CS },
{ "EPD_DATA", (int32_t) GPIO_EPD_DATA },
{ "ETH_PHY_MDC", (int32_t) GPIO_ETH_PHY_MDC },
{ "ETH_PHY_MDIO", (int32_t) GPIO_ETH_PHY_MDIO },
{ "ETH_PHY_POWER", (int32_t) GPIO_ETH_PHY_POWER },
{ "EXS_ENABLE", (int32_t) GPIO_EXS_ENABLE },
{ "FALLING", FALLING },
2022-04-27 15:49:16 +01:00
{ "FLOWRATEMETER_SIGNAL", (int32_t) GPIO_FLOWRATEMETER_IN },
2021-11-05 18:25:50 +00:00
{ "FTC532", (int32_t) GPIO_FTC532 },
{ "GM861_TX", (int32_t) GPIO_GM861_RX },
2022-10-25 10:49:39 +01:00
{ "GPIO_INPUT", (int32_t) GPIO_INPUT },
2021-11-05 18:25:50 +00:00
{ "GPS_RX", (int32_t) GPIO_GPS_RX },
{ "GPS_TX", (int32_t) GPIO_GPS_TX },
{ "HALLEFFECT", (int32_t) GPIO_HALLEFFECT },
{ "HC8_RXD", (int32_t) GPIO_HC8_RXD },
{ "HDMI_CEC", (int32_t) GPIO_HDMI_CEC },
2021-11-05 18:25:50 +00:00
{ "HEARTBEAT", (int32_t) GPIO_HEARTBEAT },
{ "HEARTBEAT_INV", (int32_t) GPIO_HEARTBEAT_INV },
{ "HIGH", HIGH },
{ "HJL_CF", (int32_t) GPIO_HJL_CF },
{ "HLW_CF", (int32_t) GPIO_HLW_CF },
{ "HM10_RX", (int32_t) GPIO_HM10_RX },
{ "HM10_TX", (int32_t) GPIO_HM10_TX },
{ "HM330X_SET", (int32_t) GPIO_HM330X_SET },
{ "HPMA_RX", (int32_t) GPIO_HPMA_RX },
{ "HPMA_TX", (int32_t) GPIO_HPMA_TX },
{ "HRE_CLOCK", (int32_t) GPIO_HRE_CLOCK },
{ "HRE_DATA", (int32_t) GPIO_HRE_DATA },
{ "HRG15_TX", (int32_t) GPIO_HRG15_TX },
{ "HRXL_RX", (int32_t) GPIO_HRXL_RX },
{ "HX711_DAT", (int32_t) GPIO_HX711_DAT },
{ "HX711_SCK", (int32_t) GPIO_HX711_SCK },
{ "I2C_SCL", (int32_t) GPIO_I2C_SCL },
{ "I2C_SDA", (int32_t) GPIO_I2C_SDA },
{ "I2S_DAC", (int32_t) GPIO_I2S_DAC },
2022-07-11 14:49:57 +01:00
{ "I2S_IN_CLK", (int32_t) GPIO_I2S_BCLK_IN },
{ "I2S_IN_DATA", (int32_t) GPIO_I2S_DIN },
{ "I2S_IN_SLCT", (int32_t) GPIO_I2S_WS_IN },
2022-10-25 10:49:39 +01:00
{ "I2S_MCLK", (int32_t) GPIO_I2S_MCLK },
2022-07-11 14:49:57 +01:00
{ "I2S_OUT_CLK", (int32_t) GPIO_I2S_BCLK },
{ "I2S_OUT_DATA", (int32_t) GPIO_I2S_DOUT },
{ "I2S_OUT_SLCT", (int32_t) GPIO_I2S_WS },
2021-11-05 18:25:50 +00:00
{ "IBEACON_RX", (int32_t) GPIO_IBEACON_RX },
{ "IBEACON_TX", (int32_t) GPIO_IBEACON_TX },
{ "IEM3000_RX", (int32_t) GPIO_IEM3000_RX },
{ "IEM3000_TX", (int32_t) GPIO_IEM3000_TX },
{ "ILI9341_CS", (int32_t) GPIO_ILI9341_CS },
{ "ILI9341_DC", (int32_t) GPIO_ILI9341_DC },
{ "ILI9488_CS", (int32_t) GPIO_ILI9488_CS },
2022-10-25 10:49:39 +01:00
{ "INPUT", INPUT },
2021-11-05 18:25:50 +00:00
{ "INPUT_PULLDOWN", INPUT_PULLDOWN },
{ "INPUT_PULLUP", INPUT_PULLUP },
{ "INTERRUPT", (int32_t) GPIO_INTERRUPT },
{ "IRRECV", (int32_t) GPIO_IRRECV },
{ "IRSEND", (int32_t) GPIO_IRSEND },
{ "KEY1", (int32_t) GPIO_KEY1 },
{ "KEY1_INV", (int32_t) GPIO_KEY1_INV },
{ "KEY1_INV_NP", (int32_t) GPIO_KEY1_INV_NP },
{ "KEY1_INV_PD", (int32_t) GPIO_KEY1_INV_PD },
{ "KEY1_NP", (int32_t) GPIO_KEY1_NP },
{ "KEY1_PD", (int32_t) GPIO_KEY1_PD },
{ "KEY1_TC", (int32_t) GPIO_KEY1_TC },
{ "LE01MR_RX", (int32_t) GPIO_LE01MR_RX },
{ "LE01MR_TX", (int32_t) GPIO_LE01MR_TX },
{ "LED1", (int32_t) GPIO_LED1 },
{ "LED1_INV", (int32_t) GPIO_LED1_INV },
{ "LEDLNK", (int32_t) GPIO_LEDLNK },
{ "LEDLNK_INV", (int32_t) GPIO_LEDLNK_INV },
{ "LMT01", (int32_t) GPIO_LMT01 },
2024-04-24 18:53:01 +01:00
{ "LORA_BUSY", (int32_t) GPIO_LORA_BUSY },
{ "LORA_CS", (int32_t) GPIO_LORA_CS },
{ "LORA_DI0", (int32_t) GPIO_LORA_DI0 },
{ "LORA_DI1", (int32_t) GPIO_LORA_DI1 },
{ "LORA_DI2", (int32_t) GPIO_LORA_DI2 },
{ "LORA_DI3", (int32_t) GPIO_LORA_DI3 },
{ "LORA_DI4", (int32_t) GPIO_LORA_DI4 },
{ "LORA_DI5", (int32_t) GPIO_LORA_DI5 },
{ "LORA_RST", (int32_t) GPIO_LORA_RST },
2021-11-05 18:25:50 +00:00
{ "LOW", LOW },
{ "LOX_O2_RX", (int32_t) GPIO_LOX_O2_RX },
{ "MAGIC_SWITCH", (int32_t) GPIO_MAGIC_SWITCH },
2021-11-05 18:25:50 +00:00
{ "MAX31855CLK", (int32_t) GPIO_MAX31855CLK },
{ "MAX31855CS", (int32_t) GPIO_MAX31855CS },
{ "MAX31855DO", (int32_t) GPIO_MAX31855DO },
{ "MAX7219CLK", (int32_t) GPIO_MAX7219CLK },
{ "MAX7219CS", (int32_t) GPIO_MAX7219CS },
{ "MAX7219DIN", (int32_t) GPIO_MAX7219DIN },
{ "MAX_GPIO", (int32_t) MAX_GPIO_PIN },
2022-03-06 14:50:24 +00:00
{ "MAX_RMT", MAX_RMT },
2022-10-25 10:49:39 +01:00
{ "MBR_RX", (int32_t) GPIO_MBR_RX },
{ "MBR_TX", (int32_t) GPIO_MBR_TX },
2021-11-05 18:25:50 +00:00
{ "MCP2515_CS", (int32_t) GPIO_MCP2515_CS },
{ "MCP39F5_RST", (int32_t) GPIO_MCP39F5_RST },
{ "MCP39F5_RX", (int32_t) GPIO_MCP39F5_RX },
{ "MCP39F5_TX", (int32_t) GPIO_MCP39F5_TX },
Adding support for ME007-ULS narrow FoV ultrasonic distance sensor (#17376) * Squashed commit of the following: commit 1441459a47cff0a43aa61ce47510585ee03649f3 Merge: a9fcbd342 7e27945e5 Author: Mathias Buder <mathias_buder@bose.com> Date: Tue Dec 13 09:00:06 2022 +0100 Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor commit a9fcbd3428445eb914816f608e064568d16b41e9 Merge: 7bb1049f5 d83119897 Author: Mathias Buder <mathias.buder@gmail.com> Date: Mon Dec 12 10:33:06 2022 +0100 Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor commit 7bb1049f51da8d064462b9499ed479a7675b368e Merge: 83a5afa7a eee86f01a Author: Mathias Buder <mathias.buder@gmail.com> Date: Fri Dec 9 09:30:29 2022 +0100 Merge remote-tracking branch 'github/development' into me007-narrow-fov-ultrasonic-sensor commit 83a5afa7ad27fcde1e67008e41a9bfd9c680cccd Author: Mathias Buder <mathias.buder@gmail.com> Date: Thu Dec 8 14:47:13 2022 +0100 [ME007] Added driver version number to MQTT message, small delay between consecutive measurement commit 9b8667843154f02a23020e655d806ed76ae2e530 Merge: 39180f345 de408921e Author: Mathias Buder <mathias.buder@gmail.com> Date: Thu Dec 8 10:12:45 2022 +0100 Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor commit 39180f3451fce5f06504195faea0124d73dac1ee Author: Mathias Buder <mathias.buder@gmail.com> Date: Wed Dec 7 16:41:26 2022 +0100 [ME007] Added median filter commit 01b68e0e6ca147ac03b63b8c71d035563e3bf13b Author: Mathias Buder <mathias.buder@gmail.com> Date: Mon Dec 5 23:08:57 2022 +0100 [ME007] Simplified state maschine within me007_measure() commit 1c74c6ed3e4097f09792a48420b2016c92e10353 Author: Mathias Buder <mathias.buder@gmail.com> Date: Mon Dec 5 22:21:16 2022 +0100 [ME007] Fixed issues from previous pull-request commit 25b667120fd8d70fcfed36de44f1b7a17d0686be Merge: 01e0b1809 e7d40b8d1 Author: Mathias Buder <mathias.buder@gmail.com> Date: Mon Dec 5 10:46:25 2022 +0100 Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor # Conflicts: # tasmota/include/tasmota_template.h commit 01e0b18096bfffc67673e25152114694caaf110a Author: Mathias Buder <mathias.buder@gmail.com> Date: Sun Dec 4 20:53:39 2022 +0100 [ME007] Minor changes commit ec00c9b85d223b78586c464bb92d1c7894357a40 Author: Mathias Buder <mathias.buder@gmail.com> Date: Fri Dec 2 13:08:06 2022 +0100 [ME007] Added some measurement error statistics commit c5cf65f82c42195752a88fd1553c74ab68c39cb2 Author: Mathias Buder <mathias.buder@gmail.com> Date: Thu Dec 1 22:38:07 2022 +0100 [ME007] Fixed MQTT message commit ae07d8dd77db47e20578f655ec057a63b30e65ce Author: Mathias Buder <mathias.buder@gmail.com> Date: Thu Dec 1 21:56:20 2022 +0100 [ME007] Minor code refactoring commit d2b43ca70c716e1b637b9efd3b536506233e5365 Merge: 292f5f6c8 816fd78fb Author: Mathias Buder <mathias.buder@gmail.com> Date: Thu Dec 1 16:48:38 2022 +0100 Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor commit 292f5f6c81f1659eb225271cdd025eb77da02c6f Author: Mathias Buder <mathias.buder@gmail.com> Date: Thu Dec 1 16:47:03 2022 +0100 [ME007] Added logic to detect sensor at boot and during runtime commit f17af404fee76bf63b30ed3c9d2175c4e01c03ca Author: Mathias Buder <mathias.buder@gmail.com> Date: Thu Dec 1 12:32:19 2022 +0100 [ME007] Added missing define into language files commit 7a271abeca36139a43ef96bd461d46ba0c662901 Author: Mathias Buder <mathias.buder@gmail.com> Date: Thu Dec 1 12:19:23 2022 +0100 [ME007] Improved snesor measuremnt function commit fe42ebd1124e2246e4d7afd63c905c251e084b27 Author: Mathias Buder <mathias.buder@gmail.com> Date: Thu Dec 1 00:43:13 2022 +0100 [ME007] Updated state maschine to trigger and receive sensor measurements commit d137e6dec5104b4716428849d99c68bbf407ab42 Author: Mathias Buder <mathias.buder@gmail.com> Date: Wed Nov 30 20:35:31 2022 +0100 [ME007] Added initial state maschine to trigger and receive sensor measurements commit fc3da7b36849df162d9d5496a763ab2beb096aff Author: Mathias Buder <mathias.buder@gmail.com> Date: Tue Nov 29 21:28:28 2022 +0100 [ME007] Updated pin name commit e9fa9fb771cf15dcd9ed8b63b9194154543ef10e Author: Mathias Buder <mathias.buder@gmail.com> Date: Mon Nov 28 22:02:34 2022 +0100 [ME007] Fixed issue that sensor GPIOs not shown in drop-down list commit a13e42660183eb4ab91007ca0ea6bf1544687556 Author: Mathias Buder <mathias.buder@gmail.com> Date: Mon Nov 28 15:06:34 2022 +0100 [ME007] Added sensor into supported feature list commit dec17b59ce2905124386f8c90d81656bf104c844 Author: Mathias Buder <mathias.buder@gmail.com> Date: Mon Nov 28 15:01:58 2022 +0100 [ME007] Removed log message in Xsns23() commit 11f479d2ec9d3f4e7552c2f78cdc83914c5b8b94 Author: Mathias Buder <mathias.buder@gmail.com> Date: Mon Nov 28 10:47:55 2022 +0100 [ME007] Added GPIOs to tasmota_template_legacy.h and berry commit 23aec8e5ff4e9fb8ef7d3b01a707641accc1e01e Author: Mathias Buder <mathias.buder@gmail.com> Date: Sun Nov 27 20:10:53 2022 +0100 [ME007] Initial ME007 driver API setup * [ME007] Reverted change in .gitignore and platform.ini * [ME007] Removed dependency to stdlib.h * [ME007] Adjusted unit to cm * [ME007] Reverted change in tasmota_template_legacy.h * [ME007] Changed sensor message tag to three characters * [ME007] Disabled sensor in my_user_config.h * [ME007] Added driver code size into commente Co-authored-by: Mathias Buder <mathias_buder@bose.com>
2022-12-14 10:52:26 +00:00
{ "ME007_RX", (int32_t) GPIO_ME007_RX },
{ "ME007_TRIG", (int32_t) GPIO_ME007_TRIG },
2021-11-05 18:25:50 +00:00
{ "MGC3130_RESET", (int32_t) GPIO_MGC3130_RESET },
{ "MGC3130_XFER", (int32_t) GPIO_MGC3130_XFER },
{ "MHZ_RXD", (int32_t) GPIO_MHZ_RXD },
{ "MHZ_TXD", (int32_t) GPIO_MHZ_TXD },
{ "MIEL_HVAC_RX", (int32_t) GPIO_MIEL_HVAC_RX },
{ "MIEL_HVAC_TX", (int32_t) GPIO_MIEL_HVAC_TX },
{ "MP3_DFR562", (int32_t) GPIO_MP3_DFR562 },
2022-10-25 10:49:39 +01:00
{ "MP3_DFR562_BUSY", (int32_t) GPIO_MP3_DFR562_BUSY },
{ "MS01", (int32_t) GPIO_MS01 },
2021-11-05 18:25:50 +00:00
{ "NEOPOOL_RX", (int32_t) GPIO_NEOPOOL_RX },
{ "NEOPOOL_TX", (int32_t) GPIO_NEOPOOL_TX },
{ "NONE", (int32_t) GPIO_NONE },
{ "NRF24_CS", (int32_t) GPIO_NRF24_CS },
{ "NRF24_DC", (int32_t) GPIO_NRF24_DC },
{ "NRG_CF1", (int32_t) GPIO_NRG_CF1 },
2022-10-25 10:49:39 +01:00
{ "NRG_MBS_RX", (int32_t) GPIO_NRG_MBS_RX },
{ "NRG_MBS_TX", (int32_t) GPIO_NRG_MBS_TX },
2021-11-05 18:25:50 +00:00
{ "NRG_SEL", (int32_t) GPIO_NRG_SEL },
{ "NRG_SEL_INV", (int32_t) GPIO_NRG_SEL_INV },
{ "OLED_RESET", (int32_t) GPIO_OLED_RESET },
{ "OPEN_DRAIN", OPEN_DRAIN },
{ "OPTION_A", (int32_t) GPIO_OPTION_A },
2022-03-17 21:58:42 +00:00
{ "OPTION_E", (int32_t) GPIO_OPTION_E },
2021-11-05 18:25:50 +00:00
{ "OUTPUT", OUTPUT },
{ "OUTPUT_HI", (int32_t) GPIO_OUTPUT_HI },
{ "OUTPUT_LO", (int32_t) GPIO_OUTPUT_LO },
{ "OUTPUT_OPEN_DRAIN", OUTPUT_OPEN_DRAIN },
{ "P9813_CLK", (int32_t) GPIO_P9813_CLK },
{ "P9813_DAT", (int32_t) GPIO_P9813_DAT },
2024-04-24 18:53:01 +01:00
{ "PIPSOLAR_RX", (int32_t) GPIO_PIPSOLAR_RX },
{ "PIPSOLAR_TX", (int32_t) GPIO_PIPSOLAR_TX },
2021-11-05 18:25:50 +00:00
{ "PMS5003_RX", (int32_t) GPIO_PMS5003_RX },
{ "PMS5003_TX", (int32_t) GPIO_PMS5003_TX },
{ "PN532_RXD", (int32_t) GPIO_PN532_RXD },
{ "PN532_TXD", (int32_t) GPIO_PN532_TXD },
{ "PROJECTOR_CTRL_RX", (int32_t) GPIO_PROJECTOR_CTRL_RX },
{ "PROJECTOR_CTRL_TX", (int32_t) GPIO_PROJECTOR_CTRL_TX },
{ "PULLDOWN", PULLDOWN },
{ "PULLUP", PULLUP },
{ "PWM1", (int32_t) GPIO_PWM1 },
{ "PWM1_INV", (int32_t) GPIO_PWM1_INV },
{ "PZEM004_RX", (int32_t) GPIO_PZEM004_RX },
{ "PZEM016_RX", (int32_t) GPIO_PZEM016_RX },
{ "PZEM017_RX", (int32_t) GPIO_PZEM017_RX },
{ "PZEM0XX_TX", (int32_t) GPIO_PZEM0XX_TX },
{ "RA8876_CS", (int32_t) GPIO_RA8876_CS },
{ "RC522_CS", (int32_t) GPIO_RC522_CS },
{ "RC522_RST", (int32_t) GPIO_RC522_RST },
{ "RDM6300_RX", (int32_t) GPIO_RDM6300_RX },
{ "REL1", (int32_t) GPIO_REL1 },
2022-10-25 10:49:39 +01:00
{ "REL1_BI", (int32_t) GPIO_REL1_BI },
{ "REL1_BI_INV", (int32_t) GPIO_REL1_BI_INV },
2021-11-05 18:25:50 +00:00
{ "REL1_INV", (int32_t) GPIO_REL1_INV },
2022-03-17 21:58:42 +00:00
{ "RESET", (int32_t) GPIO_RESET },
2021-11-05 18:25:50 +00:00
{ "RFRECV", (int32_t) GPIO_RFRECV },
{ "RFSEND", (int32_t) GPIO_RFSEND },
{ "RF_SENSOR", (int32_t) GPIO_RF_SENSOR },
{ "RISING", RISING },
2024-04-24 18:53:01 +01:00
{ "RN2XX3_RST", (int32_t) GPIO_RN2XX3_RST },
{ "RN2XX3_RX", (int32_t) GPIO_RN2XX3_RX },
{ "RN2XX3_TX", (int32_t) GPIO_RN2XX3_TX },
2021-11-05 18:25:50 +00:00
{ "ROT1A", (int32_t) GPIO_ROT1A },
{ "ROT1A_NP", (int32_t) GPIO_ROT1A_NP },
{ "ROT1B", (int32_t) GPIO_ROT1B },
{ "ROT1B_NP", (int32_t) GPIO_ROT1B_NP },
{ "RXD", (int32_t) GPIO_RXD },
{ "SAIR_RX", (int32_t) GPIO_SAIR_RX },
{ "SAIR_TX", (int32_t) GPIO_SAIR_TX },
{ "SBR_RX", (int32_t) GPIO_SBR_RX },
{ "SBR_TX", (int32_t) GPIO_SBR_TX },
{ "SDCARD_CS", (int32_t) GPIO_SDCARD_CS },
{ "SDIO_CLK", (int32_t) GPIO_SDIO_CLK },
{ "SDIO_CMD", (int32_t) GPIO_SDIO_CMD },
{ "SDIO_D0", (int32_t) GPIO_SDIO_D0 },
{ "SDIO_D1", (int32_t) GPIO_SDIO_D1 },
{ "SDIO_D2", (int32_t) GPIO_SDIO_D2 },
{ "SDIO_D3", (int32_t) GPIO_SDIO_D3 },
2021-11-05 18:25:50 +00:00
{ "SDM120_RX", (int32_t) GPIO_SDM120_RX },
{ "SDM120_TX", (int32_t) GPIO_SDM120_TX },
2022-03-17 21:58:42 +00:00
{ "SDM230_RX", (int32_t) GPIO_SDM230_RX },
{ "SDM230_TX", (int32_t) GPIO_SDM230_TX },
2021-11-05 18:25:50 +00:00
{ "SDM630_RX", (int32_t) GPIO_SDM630_RX },
{ "SDM630_TX", (int32_t) GPIO_SDM630_TX },
{ "SDM72_RX", (int32_t) GPIO_SDM72_RX },
{ "SDM72_TX", (int32_t) GPIO_SDM72_TX },
{ "SDS0X1_RX", (int32_t) GPIO_SDS0X1_RX },
{ "SDS0X1_TX", (int32_t) GPIO_SDS0X1_TX },
{ "SENSOR_END", (int32_t) GPIO_SENSOR_END },
{ "SHELLY_DIMMER_BOOT0", (int32_t) GPIO_SHELLY_DIMMER_BOOT0 },
{ "SHELLY_DIMMER_RST_INV", (int32_t) GPIO_SHELLY_DIMMER_RST_INV },
2022-03-17 21:58:42 +00:00
{ "SHIFT595_OE", (int32_t) GPIO_SHIFT595_OE },
{ "SHIFT595_RCLK", (int32_t) GPIO_SHIFT595_RCLK },
{ "SHIFT595_SER", (int32_t) GPIO_SHIFT595_SER },
{ "SHIFT595_SRCLK", (int32_t) GPIO_SHIFT595_SRCLK },
2021-11-05 18:25:50 +00:00
{ "SI7021", (int32_t) GPIO_SI7021 },
{ "SM16716_CLK", (int32_t) GPIO_SM16716_CLK },
{ "SM16716_DAT", (int32_t) GPIO_SM16716_DAT },
{ "SM16716_SEL", (int32_t) GPIO_SM16716_SEL },
{ "SM2135_CLK", (int32_t) GPIO_SM2135_CLK },
{ "SM2135_DAT", (int32_t) GPIO_SM2135_DAT },
2022-10-25 10:49:39 +01:00
{ "SM2335_CLK", (int32_t) GPIO_SM2335_CLK },
{ "SM2335_DAT", (int32_t) GPIO_SM2335_DAT },
2022-03-17 21:58:42 +00:00
{ "SOLAXX1_RTS", (int32_t) GPIO_SOLAXX1_RTS },
2021-11-05 18:25:50 +00:00
{ "SOLAXX1_RX", (int32_t) GPIO_SOLAXX1_RX },
{ "SOLAXX1_TX", (int32_t) GPIO_SOLAXX1_TX },
{ "SPI_CLK", (int32_t) GPIO_SPI_CLK },
{ "SPI_CS", (int32_t) GPIO_SPI_CS },
{ "SPI_DC", (int32_t) GPIO_SPI_DC },
{ "SPI_MISO", (int32_t) GPIO_SPI_MISO },
{ "SPI_MOSI", (int32_t) GPIO_SPI_MOSI },
{ "SR04_ECHO", (int32_t) GPIO_SR04_ECHO },
{ "SR04_TRIG", (int32_t) GPIO_SR04_TRIG },
{ "SSD1331_CS", (int32_t) GPIO_SSD1331_CS },
{ "SSD1331_DC", (int32_t) GPIO_SSD1331_DC },
{ "SSD1351_CS", (int32_t) GPIO_SSD1351_CS },
{ "SSD1351_DC", (int32_t) GPIO_SSD1351_DC },
{ "SSPI_CS", (int32_t) GPIO_SSPI_CS },
{ "SSPI_DC", (int32_t) GPIO_SSPI_DC },
{ "SSPI_MAX31865_CS1", (int32_t) GPIO_SSPI_MAX31865_CS1 },
{ "SSPI_MISO", (int32_t) GPIO_SSPI_MISO },
{ "SSPI_MOSI", (int32_t) GPIO_SSPI_MOSI },
{ "SSPI_SCLK", (int32_t) GPIO_SSPI_SCLK },
{ "ST7789_CS", (int32_t) GPIO_ST7789_CS },
{ "ST7789_DC", (int32_t) GPIO_ST7789_DC },
{ "SWT1", (int32_t) GPIO_SWT1 },
{ "SWT1_NP", (int32_t) GPIO_SWT1_NP },
{ "SWT1_PD", (int32_t) GPIO_SWT1_PD },
{ "TASMOTACLIENT_RST", (int32_t) GPIO_TASMOTACLIENT_RST },
{ "TASMOTACLIENT_RST_INV", (int32_t) GPIO_TASMOTACLIENT_RST_INV },
{ "TASMOTACLIENT_RXD", (int32_t) GPIO_TASMOTACLIENT_RXD },
{ "TASMOTACLIENT_TXD", (int32_t) GPIO_TASMOTACLIENT_TXD },
{ "TCP_RX", (int32_t) GPIO_TCP_RX },
{ "TCP_TX", (int32_t) GPIO_TCP_TX },
2024-04-24 18:53:01 +01:00
{ "TCP_TX_EN", (int32_t) GPIO_TCP_TX_EN },
2021-11-05 18:25:50 +00:00
{ "TELEINFO_ENABLE", (int32_t) GPIO_TELEINFO_ENABLE },
{ "TELEINFO_RX", (int32_t) GPIO_TELEINFO_RX },
{ "TFMINIPLUS_RX", (int32_t) GPIO_TFMINIPLUS_RX },
{ "TFMINIPLUS_TX", (int32_t) GPIO_TFMINIPLUS_TX },
2022-10-25 10:49:39 +01:00
{ "TM1621_CS", (int32_t) GPIO_TM1621_CS },
{ "TM1621_DAT", (int32_t) GPIO_TM1621_DAT },
{ "TM1621_RD", (int32_t) GPIO_TM1621_RD },
{ "TM1621_WR", (int32_t) GPIO_TM1621_WR },
2021-11-05 18:25:50 +00:00
{ "TM1637CLK", (int32_t) GPIO_TM1637CLK },
{ "TM1637DIO", (int32_t) GPIO_TM1637DIO },
{ "TM1638CLK", (int32_t) GPIO_TM1638CLK },
{ "TM1638DIO", (int32_t) GPIO_TM1638DIO },
{ "TM1638STB", (int32_t) GPIO_TM1638STB },
2024-04-24 18:53:01 +01:00
{ "TS_IRQ", (int32_t) GPIO_TS_IRQ },
{ "TS_RST", (int32_t) GPIO_TS_RST },
{ "TS_SPI_CS", (int32_t) GPIO_TS_SPI_CS },
WIP Tuya MCU Bridge driver alternative to the TuyaMCU driver (#17626) * WIP Tuya MCU Bridge driver alternative to the TuyaMCU driver The main difference is this driver does not try and wire MCU data points (Dps) into the tasmota power/light/etc controls. Instead each Dp ends up being relayed directly to MQTT and the rules subsystem. If you want to change the state of something wired up to the MCU, you send tuyamcu specific commands to manipulate the Dp. Each Dp gets a type and id specific topic that is sent to MQTT. eg, Dp id 1 type bool looks like tele/%topic%/TUYAMCUBOOL1. To change state you send a TuyaMCUBool1 command (ie, the command index value is used as the DpId, which is nice and symmetrical) with the new value. Currently Rules operate on TuyaMCU#TypeDpid things, eg, "rule1 on TuyaMCU#Bool1 do power %value% endon" toggle the power on the tasmota device when the state of the thing on the MCU changes too. The most obviously missing stuff at the moment is: - better relaying of the wifi/mqtt status to the MCU - handling wifi reset requests from the MCU - low power stuff? - support for sending status updates and device info queries. - restarting the tuya mcu state machine? - restarting the rx state machine when no bytes are rxed for a period of time - time sync * shorten the log prefix to TYB (3 chars). requested by arendst * use the local definition for the SET_DP command. reaching back to the existing tuyamcu code isnt reliable. pointed out by arendst * put the todo list in the code so it can be tracked * check the wifi/mqtt state every second and update the mcu if it changes. * fix rule processing when Dp state is changed from a cmnd. rule processing was done as part of publishing the state, but publishing the state when it was updated by a command only happened if So59 was set. split rule processing out of publish and call them separately as needed. publish is now called from teleperiod, status updates from the MCU, and from cmnds if so59 is set. rules are called from status updates from the MCU and from cmnds. Co-authored-by: David Gwynne <dlg@defeat.lan.animata.net>
2023-01-08 16:35:45 +00:00
{ "TUYAMCUBR_RX", (int32_t) GPIO_TUYAMCUBR_RX },
{ "TUYAMCUBR_TX", (int32_t) GPIO_TUYAMCUBR_TX },
{ "TUYA_RX", (int32_t) GPIO_TUYA_RX },
{ "TUYA_TX", (int32_t) GPIO_TUYA_TX },
2021-11-05 18:25:50 +00:00
{ "TX2X_TXD_BLACK", (int32_t) GPIO_TX2X_TXD_BLACK },
{ "TXD", (int32_t) GPIO_TXD },
{ "VINDRIKTNING_RX", (int32_t) GPIO_VINDRIKTNING_RX },
{ "VL53LXX_XSHUT1", (int32_t) GPIO_VL53LXX_XSHUT1 },
2021-11-05 18:25:50 +00:00
{ "WE517_RX", (int32_t) GPIO_WE517_RX },
{ "WE517_TX", (int32_t) GPIO_WE517_TX },
{ "WEBCAM_DATA", (int32_t) GPIO_WEBCAM_DATA },
{ "WEBCAM_HREF", (int32_t) GPIO_WEBCAM_HREF },
{ "WEBCAM_HSD", (int32_t) GPIO_WEBCAM_HSD },
{ "WEBCAM_PCLK", (int32_t) GPIO_WEBCAM_PCLK },
{ "WEBCAM_PSCLK", (int32_t) GPIO_WEBCAM_PSCLK },
{ "WEBCAM_PSRCS", (int32_t) GPIO_WEBCAM_PSRCS },
{ "WEBCAM_PWDN", (int32_t) GPIO_WEBCAM_PWDN },
{ "WEBCAM_RESET", (int32_t) GPIO_WEBCAM_RESET },
{ "WEBCAM_SIOC", (int32_t) GPIO_WEBCAM_SIOC },
{ "WEBCAM_SIOD", (int32_t) GPIO_WEBCAM_SIOD },
{ "WEBCAM_VSYNC", (int32_t) GPIO_WEBCAM_VSYNC },
{ "WEBCAM_XCLK", (int32_t) GPIO_WEBCAM_XCLK },
{ "WIEGAND_D0", (int32_t) GPIO_WIEGAND_D0 },
{ "WIEGAND_D1", (int32_t) GPIO_WIEGAND_D1 },
{ "WINDMETER_SPEED", (int32_t) GPIO_WINDMETER_SPEED },
{ "WOOLIIS_RX", (int32_t) GPIO_WOOLIIS_RX },
2021-11-05 18:25:50 +00:00
{ "WS2812", (int32_t) GPIO_WS2812 },
{ "XPT2046_CS", (int32_t) GPIO_XPT2046_CS },
{ "ZEROCROSS", (int32_t) GPIO_ZEROCROSS },
{ "ZIGBEE_RST", (int32_t) GPIO_ZIGBEE_RST },
{ "ZIGBEE_RX", (int32_t) GPIO_ZIGBEE_RX },
{ "ZIGBEE_TX", (int32_t) GPIO_ZIGBEE_TX },
};
const size_t lv_gpio_constants_size = sizeof(lv_gpio_constants)/sizeof(lv_gpio_constants[0]);
/********************************************************************/