From 3b9821994d02daaaafebfb84675ea4e43fc34792 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Sat, 3 Apr 2021 18:06:40 +0200 Subject: [PATCH] Berry add ``gpio`` module --- CHANGELOG.md | 1 + .../Berry-0.1.10/generate/be_const_strtab.h | 479 +++++++++--- .../generate/be_const_strtab_def.h | 700 ++++++++++++++---- .../Berry-0.1.10/generate/be_fixed_gpio.h | 273 +++++++ .../Berry-0.1.10/src/port/be_gpio_lib.c | 557 ++++++++++++++ .../Berry-0.1.10/src/port/be_modtab.c | 4 +- .../Berry-0.1.10/src/port/berry_conf.h | 2 + lib/libesp32/Berry-0.1.10/src/port/gpio.txt | 239 ++++++ tasmota/berry/gpio.be | 256 +++++++ tasmota/xdrv_52_3_berry_gpio.ino | 109 +++ tasmota/xdrv_52_7_berry_embedded.ino | 2 + 11 files changed, 2352 insertions(+), 270 deletions(-) create mode 100644 lib/libesp32/Berry-0.1.10/generate/be_fixed_gpio.h create mode 100644 lib/libesp32/Berry-0.1.10/src/port/be_gpio_lib.c create mode 100644 lib/libesp32/Berry-0.1.10/src/port/gpio.txt create mode 100644 tasmota/berry/gpio.be create mode 100644 tasmota/xdrv_52_3_berry_gpio.ino diff --git a/CHANGELOG.md b/CHANGELOG.md index 534ec5657..686e3cc70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file. - Support for Frequency monitoring and zero-cross detection on CSE7761 (Sonoff Dual R3) - ESP32 support for internal Hall Effect sensor connected to both GPIO36 and GPIO39 only - Support for multiple CCS811 sensors with baseline control (USE_CCS811_V2) by clanganke (#10858) +- Berry add ``gpio`` module ### Changed - PubSubClient library from EspEasy v2.7.12 to Tasmota v2.8.12 diff --git a/lib/libesp32/Berry-0.1.10/generate/be_const_strtab.h b/lib/libesp32/Berry-0.1.10/generate/be_const_strtab.h index 2d1b7e9e0..fe6db3850 100644 --- a/lib/libesp32/Berry-0.1.10/generate/be_const_strtab.h +++ b/lib/libesp32/Berry-0.1.10/generate/be_const_strtab.h @@ -1,116 +1,373 @@ -extern const bcstring be_const_str_remove; -extern const bcstring be_const_str_false; -extern const bcstring be_const_str_raise; -extern const bcstring be_const_str_opt_connect; -extern const bcstring be_const_str_dot_p; -extern const bcstring be_const_str_calldepth; -extern const bcstring be_const_str_toupper; -extern const bcstring be_const_str_break; -extern const bcstring be_const_str_map; -extern const bcstring be_const_str_bytes; -extern const bcstring be_const_str_tanh; -extern const bcstring be_const_str_real; -extern const bcstring be_const_str_count; -extern const bcstring be_const_str_setitem; -extern const bcstring be_const_str_split; -extern const bcstring be_const_str_if; -extern const bcstring be_const_str_format; -extern const bcstring be_const_str_pow; -extern const bcstring be_const_str_tostring; -extern const bcstring be_const_str_load; -extern const bcstring be_const_str_setrange; -extern const bcstring be_const_str_char; -extern const bcstring be_const_str_acos; -extern const bcstring be_const_str_deinit; -extern const bcstring be_const_str_dump; -extern const bcstring be_const_str_sqrt; -extern const bcstring be_const_str_fromstring; -extern const bcstring be_const_str_opt_eq; -extern const bcstring be_const_str_asin; -extern const bcstring be_const_str_byte; -extern const bcstring be_const_str_copy; -extern const bcstring be_const_str_floor; -extern const bcstring be_const_str_find; -extern const bcstring be_const_str_var; -extern const bcstring be_const_str_opt_add; -extern const bcstring be_const_str___lower__; -extern const bcstring be_const_str_rand; -extern const bcstring be_const_str_sin; -extern const bcstring be_const_str_deg; -extern const bcstring be_const_str_imin; -extern const bcstring be_const_str_class; -extern const bcstring be_const_str_try; -extern const bcstring be_const_str_allocated; -extern const bcstring be_const_str_asstring; -extern const bcstring be_const_str_classname; -extern const bcstring be_const_str_reverse; -extern const bcstring be_const_str_assert; -extern const bcstring be_const_str_str; -extern const bcstring be_const_str_imax; -extern const bcstring be_const_str_init; -extern const bcstring be_const_str_except; -extern const bcstring be_const_str_return; -extern const bcstring be_const_str_opt_neq; -extern const bcstring be_const_str_hex; -extern const bcstring be_const_str_resize; -extern const bcstring be_const_str_as; +extern const bcstring be_const_str_ADC_TEMP; +extern const bcstring be_const_str_CSE7761_RX; +extern const bcstring be_const_str_HPMA_TX; +extern const bcstring be_const_str_SWT1; +extern const bcstring be_const_str_AS3935; +extern const bcstring be_const_str_PMS5003_RX; +extern const bcstring be_const_str_WS2812; +extern const bcstring be_const_str_RC522_RST; extern const bcstring be_const_str___upper__; -extern const bcstring be_const_str_codedump; -extern const bcstring be_const_str_cosh; -extern const bcstring be_const_str_abs; -extern const bcstring be_const_str_collect; -extern const bcstring be_const_str_atan; -extern const bcstring be_const_str_attrdump; -extern const bcstring be_const_str_input; -extern const bcstring be_const_str_; -extern const bcstring be_const_str_compile; -extern const bcstring be_const_str_iter; -extern const bcstring be_const_str_lower; -extern const bcstring be_const_str_number; -extern const bcstring be_const_str_print; -extern const bcstring be_const_str_exp; -extern const bcstring be_const_str_pi; -extern const bcstring be_const_str___iterator__; -extern const bcstring be_const_str_log; -extern const bcstring be_const_str_log10; -extern const bcstring be_const_str_ceil; -extern const bcstring be_const_str_get; -extern const bcstring be_const_str_tolower; -extern const bcstring be_const_str_while; -extern const bcstring be_const_str_import; -extern const bcstring be_const_str_size; -extern const bcstring be_const_str_list; -extern const bcstring be_const_str_rad; -extern const bcstring be_const_str_tan; -extern const bcstring be_const_str_type; -extern const bcstring be_const_str_insert; -extern const bcstring be_const_str_module; -extern const bcstring be_const_str_range; -extern const bcstring be_const_str_super; -extern const bcstring be_const_str_issubclass; -extern const bcstring be_const_str_def; -extern const bcstring be_const_str_classof; -extern const bcstring be_const_str_sinh; -extern const bcstring be_const_str_srand; -extern const bcstring be_const_str_end; -extern const bcstring be_const_str_clear; -extern const bcstring be_const_str_top; -extern const bcstring be_const_str_nil; -extern const bcstring be_const_str_open; -extern const bcstring be_const_str_do; -extern const bcstring be_const_str_add; -extern const bcstring be_const_str_isinstance; -extern const bcstring be_const_str_pop; +extern const bcstring be_const_str_raise; +extern const bcstring be_const_str_MCP39F5_RST; +extern const bcstring be_const_str_PMS5003_TX; +extern const bcstring be_const_str_TELEINFO_ENABLE; +extern const bcstring be_const_str_INPUT_PULLUP; +extern const bcstring be_const_str_PULLDOWN; +extern const bcstring be_const_str_ADC_RANGE; +extern const bcstring be_const_str_ZIGBEE_TX; +extern const bcstring be_const_str_imin; +extern const bcstring be_const_str_SDM120_RX; +extern const bcstring be_const_str_TFMINIPLUS_TX; +extern const bcstring be_const_str_ARIRFSEL; +extern const bcstring be_const_str_REL1_INV; +extern const bcstring be_const_str_SSD1331_DC; +extern const bcstring be_const_str_RDM6300_RX; +extern const bcstring be_const_str_real; extern const bcstring be_const_str_int; -extern const bcstring be_const_str_keys; -extern const bcstring be_const_str_elif; -extern const bcstring be_const_str_item; -extern const bcstring be_const_str_push; -extern const bcstring be_const_str_concat; -extern const bcstring be_const_str_traceback; -extern const bcstring be_const_str_upper; -extern const bcstring be_const_str_true; +extern const bcstring be_const_str_var; +extern const bcstring be_const_str_HALLEFFECT; +extern const bcstring be_const_str_atan; +extern const bcstring be_const_str_AS608_RX; +extern const bcstring be_const_str_number; +extern const bcstring be_const_str_DHT11; +extern const bcstring be_const_str_RFRECV; +extern const bcstring be_const_str_WEBCAM_XCLK; +extern const bcstring be_const_str_list; +extern const bcstring be_const_str_resize; +extern const bcstring be_const_str_isinstance; +extern const bcstring be_const_str_opt_neq; +extern const bcstring be_const_str_dot_p; +extern const bcstring be_const_str_SDM630_TX; +extern const bcstring be_const_str_bytes; +extern const bcstring be_const_str_CNTR1; +extern const bcstring be_const_str_KEY1_TC; +extern const bcstring be_const_str_TASMOTACLIENT_RST; +extern const bcstring be_const_str_AS608_TX; +extern const bcstring be_const_str_KEY1_NP; +extern const bcstring be_const_str_ADC_CT_POWER; +extern const bcstring be_const_str_BOILER_OT_TX; +extern const bcstring be_const_str_SI7021; +extern const bcstring be_const_str_deinit; +extern const bcstring be_const_str_ILI9488_CS; +extern const bcstring be_const_str_SSPI_MOSI; +extern const bcstring be_const_str_NRF24_CS; +extern const bcstring be_const_str_SSD1351_CS; +extern const bcstring be_const_str_EPAPER42_CS; +extern const bcstring be_const_str_RFSEND; +extern const bcstring be_const_str_RISING; +extern const bcstring be_const_str_WIEGAND_D1; +extern const bcstring be_const_str_DYP_RX; +extern const bcstring be_const_str_ADC_LIGHT; +extern const bcstring be_const_str_DDS2382_RX; +extern const bcstring be_const_str_DI; +extern const bcstring be_const_str_WEBCAM_PWDN; +extern const bcstring be_const_str_BUZZER_INV; +extern const bcstring be_const_str_sinh; +extern const bcstring be_const_str_ETH_PHY_MDIO; +extern const bcstring be_const_str_tanh; +extern const bcstring be_const_str_WE517_TX; +extern const bcstring be_const_str_ZEROCROSS; +extern const bcstring be_const_str_classof; +extern const bcstring be_const_str_codedump; +extern const bcstring be_const_str_AZ_RXD; +extern const bcstring be_const_str_copy; extern const bcstring be_const_str_continue; +extern const bcstring be_const_str_AZ_TXD; +extern const bcstring be_const_str_reverse; +extern const bcstring be_const_str_CSE7761_TX; +extern const bcstring be_const_str_HPMA_RX; +extern const bcstring be_const_str_WEBCAM_VSYNC; +extern const bcstring be_const_str_BS814_CLK; +extern const bcstring be_const_str_DDS2382_TX; +extern const bcstring be_const_str_WEBCAM_HREF; +extern const bcstring be_const_str_false; +extern const bcstring be_const_str_EXS_ENABLE; +extern const bcstring be_const_str_LED1_INV; +extern const bcstring be_const_str_MHZ_TXD; +extern const bcstring be_const_str_P9813_CLK; +extern const bcstring be_const_str_load; +extern const bcstring be_const_str_srand; +extern const bcstring be_const_str_HX711_DAT; +extern const bcstring be_const_str_KEY1_INV_NP; +extern const bcstring be_const_str_NEOPOOL_RX; +extern const bcstring be_const_str_PZEM004_RX; +extern const bcstring be_const_str_BUZZER; +extern const bcstring be_const_str_SWT1_NP; +extern const bcstring be_const_str_abs; +extern const bcstring be_const_str_assert; +extern const bcstring be_const_str_ARIRFRCV; +extern const bcstring be_const_str_P9813_DAT; +extern const bcstring be_const_str_calldepth; +extern const bcstring be_const_str_try; +extern const bcstring be_const_str_MAX31855CLK; +extern const bcstring be_const_str_SDS0X1_TX; +extern const bcstring be_const_str_log10; +extern const bcstring be_const_str_pop; +extern const bcstring be_const_str_LED1; +extern const bcstring be_const_str_TM1638STB; +extern const bcstring be_const_str_A4988_DIR; +extern const bcstring be_const_str_SDM72_RX; +extern const bcstring be_const_str_PN532_TXD; +extern const bcstring be_const_str_pin; +extern const bcstring be_const_str_TM1637DIO; +extern const bcstring be_const_str_PWM1_INV; +extern const bcstring be_const_str_item; +extern const bcstring be_const_str_ROT1A_NP; +extern const bcstring be_const_str_SSD1331_CS; +extern const bcstring be_const_str_exp; +extern const bcstring be_const_str_rad; +extern const bcstring be_const_str_setrange; +extern const bcstring be_const_str_LE01MR_RX; +extern const bcstring be_const_str_SDS0X1_RX; +extern const bcstring be_const_str_TCP_TX; +extern const bcstring be_const_str_A4988_ENA; +extern const bcstring be_const_str_hex; +extern const bcstring be_const_str_BL0940_RX; +extern const bcstring be_const_str_SM2135_CLK; +extern const bcstring be_const_str_input; +extern const bcstring be_const_str_top; +extern const bcstring be_const_str_def; +extern const bcstring be_const_str_BS814_DAT; +extern const bcstring be_const_str_CHANGE; +extern const bcstring be_const_str_floor; +extern const bcstring be_const_str_keys; +extern const bcstring be_const_str_sin; +extern const bcstring be_const_str_traceback; +extern const bcstring be_const_str_as; +extern const bcstring be_const_str_SM2135_DAT; +extern const bcstring be_const_str_ZIGBEE_RX; +extern const bcstring be_const_str_acos; +extern const bcstring be_const_str_OPTION_A; extern const bcstring be_const_str_else; -extern const bcstring be_const_str_cos; extern const bcstring be_const_str_for; +extern const bcstring be_const_str_tolower; +extern const bcstring be_const_str_pi; +extern const bcstring be_const_str_range; +extern const bcstring be_const_str_SDCARD_CS; +extern const bcstring be_const_str_SM16716_SEL; +extern const bcstring be_const_str_count; +extern const bcstring be_const_str_do; +extern const bcstring be_const_str_; +extern const bcstring be_const_str_TASMOTACLIENT_RST_INV; +extern const bcstring be_const_str_tostring; +extern const bcstring be_const_str_DSB; +extern const bcstring be_const_str___iterator__; +extern const bcstring be_const_str_get; +extern const bcstring be_const_str_upper; +extern const bcstring be_const_str_GPS_TX; +extern const bcstring be_const_str_IEM3000_RX; +extern const bcstring be_const_str_toupper; +extern const bcstring be_const_str_WEBCAM_PCLK; +extern const bcstring be_const_str_PROJECTOR_CTRL_TX; +extern const bcstring be_const_str_PWM1; +extern const bcstring be_const_str_ST7789_CS; +extern const bcstring be_const_str_find; +extern const bcstring be_const_str_end; +extern const bcstring be_const_str_MGC3130_XFER; +extern const bcstring be_const_str_SSPI_CS; +extern const bcstring be_const_str_RA8876_CS; +extern const bcstring be_const_str_char; +extern const bcstring be_const_str_ADC_BUTTON_INV; +extern const bcstring be_const_str_INPUT_PULLDOWN; +extern const bcstring be_const_str_REL1; +extern const bcstring be_const_str_SPI_DC; +extern const bcstring be_const_str_MAX31855DO; +extern const bcstring be_const_str_SSD1351_DC; +extern const bcstring be_const_str_log; +extern const bcstring be_const_str_elif; +extern const bcstring be_const_str_ROT1A; +extern const bcstring be_const_str_pin_used; +extern const bcstring be_const_str_setitem; +extern const bcstring be_const_str_import; +extern const bcstring be_const_str_WEBCAM_DATA; +extern const bcstring be_const_str_IRRECV; +extern const bcstring be_const_str_OUTPUT_HI; +extern const bcstring be_const_str_OUTPUT_LO; +extern const bcstring be_const_str_ROT1B_NP; +extern const bcstring be_const_str_attrdump; +extern const bcstring be_const_str_print; +extern const bcstring be_const_str_tan; +extern const bcstring be_const_str_SPI_MISO; +extern const bcstring be_const_str_ADC_JOY; +extern const bcstring be_const_str_size; +extern const bcstring be_const_str_nil; +extern const bcstring be_const_str_ETH_PHY_MDC; +extern const bcstring be_const_str_type; +extern const bcstring be_const_str_TASMOTACLIENT_RXD; +extern const bcstring be_const_str_compile; +extern const bcstring be_const_str_while; +extern const bcstring be_const_str_MHZ_RXD; +extern const bcstring be_const_str_SDM120_TX; +extern const bcstring be_const_str_TXD; +extern const bcstring be_const_str_WIEGAND_D0; +extern const bcstring be_const_str_class; +extern const bcstring be_const_str_DDSU666_RX; +extern const bcstring be_const_str_MIEL_HVAC_RX; +extern const bcstring be_const_str_collect; +extern const bcstring be_const_str_ADC_BUTTON; +extern const bcstring be_const_str_ADC_PH; +extern const bcstring be_const_str_DEEPSLEEP; +extern const bcstring be_const_str_HM10_RX; +extern const bcstring be_const_str_XPT2046_CS; +extern const bcstring be_const_str_A4988_MS1; +extern const bcstring be_const_str_RF_SENSOR; +extern const bcstring be_const_str_CSE7766_TX; +extern const bcstring be_const_str_LMT01; +extern const bcstring be_const_str_SDM630_RX; +extern const bcstring be_const_str_ZIGBEE_RST; +extern const bcstring be_const_str_SPI_CLK; +extern const bcstring be_const_str_asin; +extern const bcstring be_const_str_if; +extern const bcstring be_const_str_HJL_CF; +extern const bcstring be_const_str_IBEACON_RX; +extern const bcstring be_const_str_iter; +extern const bcstring be_const_str_SOLAXX1_TX; +extern const bcstring be_const_str_SR04_ECHO; +extern const bcstring be_const_str_ceil; +extern const bcstring be_const_str_CC1101_GDO2; +extern const bcstring be_const_str_MAX7219DIN; +extern const bcstring be_const_str_SBR_RX; +extern const bcstring be_const_str_open; +extern const bcstring be_const_str_SM16716_CLK; +extern const bcstring be_const_str_HX711_SCK; +extern const bcstring be_const_str_NEOPOOL_TX; +extern const bcstring be_const_str_TELEINFO_RX; +extern const bcstring be_const_str_WINDMETER_SPEED; +extern const bcstring be_const_str_cosh; +extern const bcstring be_const_str_ROT1B; +extern const bcstring be_const_str_DHT11_OUT; +extern const bcstring be_const_str_SM16716_DAT; +extern const bcstring be_const_str_LE01MR_TX; +extern const bcstring be_const_str_MCP39F5_TX; +extern const bcstring be_const_str_SAIR_TX; +extern const bcstring be_const_str_SR04_TRIG; +extern const bcstring be_const_str_IRSEND; +extern const bcstring be_const_str_WEBCAM_PSCLK; +extern const bcstring be_const_str_digital_read; +extern const bcstring be_const_str_except; +extern const bcstring be_const_str_A4988_STP; +extern const bcstring be_const_str_IBEACON_TX; +extern const bcstring be_const_str_NRF24_DC; +extern const bcstring be_const_str_SPI_MOSI; +extern const bcstring be_const_str_OLED_RESET; +extern const bcstring be_const_str_WE517_RX; +extern const bcstring be_const_str_SSPI_DC; +extern const bcstring be_const_str_WEBCAM_HSD; +extern const bcstring be_const_str_insert; +extern const bcstring be_const_str_SAIR_RX; +extern const bcstring be_const_str_TUYA_TX; +extern const bcstring be_const_str_EPAPER29_CS; +extern const bcstring be_const_str_I2C_SCL; +extern const bcstring be_const_str_NONE; +extern const bcstring be_const_str_classname; +extern const bcstring be_const_str_cos; +extern const bcstring be_const_str_LEDLNK_INV; +extern const bcstring be_const_str_NRG_SEL_INV; +extern const bcstring be_const_str_SHELLY_DIMMER_RST_INV; +extern const bcstring be_const_str_module; +extern const bcstring be_const_str_ETH_PHY_POWER; +extern const bcstring be_const_str_IEM3000_TX; +extern const bcstring be_const_str_MAX31855CS; +extern const bcstring be_const_str_deg; +extern const bcstring be_const_str_return; +extern const bcstring be_const_str_str; +extern const bcstring be_const_str_SENSOR_END; +extern const bcstring be_const_str_ST7789_DC; +extern const bcstring be_const_str_clear; +extern const bcstring be_const_str_imax; +extern const bcstring be_const_str_OUTPUT; +extern const bcstring be_const_str_SPI_CS; +extern const bcstring be_const_str_SDM72_TX; +extern const bcstring be_const_str_SSPI_MISO; +extern const bcstring be_const_str_true; +extern const bcstring be_const_str_MIEL_HVAC_TX; +extern const bcstring be_const_str_VL53L0X_XSHUT1; +extern const bcstring be_const_str_PZEM0XX_TX; +extern const bcstring be_const_str_SSPI_SCLK; +extern const bcstring be_const_str_WEBCAM_SIOD; +extern const bcstring be_const_str_HRE_DATA; +extern const bcstring be_const_str_PROJECTOR_CTRL_RX; +extern const bcstring be_const_str_DSB_OUT; +extern const bcstring be_const_str_NRG_SEL; +extern const bcstring be_const_str_push; +extern const bcstring be_const_str_ADC_INPUT; +extern const bcstring be_const_str_FTC532; +extern const bcstring be_const_str_GPS_RX; +extern const bcstring be_const_str_HLW_CF; +extern const bcstring be_const_str_TCP_RX; +extern const bcstring be_const_str_issubclass; +extern const bcstring be_const_str_CNTR1_NP; +extern const bcstring be_const_str_ILI9341_DC; +extern const bcstring be_const_str_TX2X_TXD_BLACK; +extern const bcstring be_const_str_WEBCAM_PSRCS; +extern const bcstring be_const_str_BOILER_OT_RX; +extern const bcstring be_const_str_LOW; +extern const bcstring be_const_str_MP3_DFR562; +extern const bcstring be_const_str_map; +extern const bcstring be_const_str_allocated; +extern const bcstring be_const_str_format; +extern const bcstring be_const_str_CC1101_GDO0; +extern const bcstring be_const_str_CSE7766_RX; +extern const bcstring be_const_str_ILI9341_CS; +extern const bcstring be_const_str_SHELLY_DIMMER_BOOT0; +extern const bcstring be_const_str_SSPI_MAX31865_CS1; +extern const bcstring be_const_str_NRG_CF1; +extern const bcstring be_const_str_DDSU666_TX; +extern const bcstring be_const_str_I2C_SDA; +extern const bcstring be_const_str_PZEM017_RX; +extern const bcstring be_const_str_rand; +extern const bcstring be_const_str_RXD; +extern const bcstring be_const_str_TM1637CLK; +extern const bcstring be_const_str_opt_add; +extern const bcstring be_const_str_lower; +extern const bcstring be_const_str_WEBCAM_SIOC; +extern const bcstring be_const_str_OUTPUT_OPEN_DRAIN; +extern const bcstring be_const_str_RC522_CS; +extern const bcstring be_const_str_opt_connect; +extern const bcstring be_const_str_HIGH; +extern const bcstring be_const_str_LEDLNK; +extern const bcstring be_const_str_concat; +extern const bcstring be_const_str_PN532_RXD; +extern const bcstring be_const_str_SOLAXX1_RX; +extern const bcstring be_const_str_TM1638DIO; +extern const bcstring be_const_str_pin_mode; +extern const bcstring be_const_str_DHT22; +extern const bcstring be_const_str_ELECTRIQ_MOODL_TX; +extern const bcstring be_const_str_SBR_TX; +extern const bcstring be_const_str_byte; +extern const bcstring be_const_str_sqrt; +extern const bcstring be_const_str_OPEN_DRAIN; +extern const bcstring be_const_str_WEBCAM_RESET; +extern const bcstring be_const_str_asstring; +extern const bcstring be_const_str_MGC3130_RESET; +extern const bcstring be_const_str_ADE7953_IRQ; +extern const bcstring be_const_str_KEY1_INV; +extern const bcstring be_const_str_PULLUP; +extern const bcstring be_const_str_init; +extern const bcstring be_const_str_split; +extern const bcstring be_const_str_HM10_TX; +extern const bcstring be_const_str_MAX7219CS; +extern const bcstring be_const_str_TASMOTACLIENT_TXD; +extern const bcstring be_const_str_add; +extern const bcstring be_const_str_super; +extern const bcstring be_const_str_pow; +extern const bcstring be_const_str_BACKLIGHT; +extern const bcstring be_const_str_HRXL_RX; +extern const bcstring be_const_str_MAX7219CLK; +extern const bcstring be_const_str___lower__; +extern const bcstring be_const_str_HRE_CLOCK; +extern const bcstring be_const_str_KEY1; +extern const bcstring be_const_str_PZEM016_RX; +extern const bcstring be_const_str_dump; +extern const bcstring be_const_str_DCKI; +extern const bcstring be_const_str_FALLING; +extern const bcstring be_const_str_fromstring; +extern const bcstring be_const_str_break; +extern const bcstring be_const_str_MCP39F5_RX; +extern const bcstring be_const_str_INPUT; +extern const bcstring be_const_str_digital_write; +extern const bcstring be_const_str_remove; +extern const bcstring be_const_str_TM1638CLK; +extern const bcstring be_const_str_opt_eq; +extern const bcstring be_const_str_TFMINIPLUS_RX; +extern const bcstring be_const_str_TUYA_RX; diff --git a/lib/libesp32/Berry-0.1.10/generate/be_const_strtab_def.h b/lib/libesp32/Berry-0.1.10/generate/be_const_strtab_def.h index bce08392c..8ba10259d 100644 --- a/lib/libesp32/Berry-0.1.10/generate/be_const_strtab_def.h +++ b/lib/libesp32/Berry-0.1.10/generate/be_const_strtab_def.h @@ -1,172 +1,558 @@ -be_define_const_str(remove, "remove", 3683784189u, 0, 6, &be_const_str_false); -be_define_const_str(false, "false", 184981848u, 62, 5, &be_const_str_raise); +be_define_const_str(ADC_TEMP, "ADC_TEMP", 3771053440u, 0, 8, &be_const_str_CSE7761_RX); +be_define_const_str(CSE7761_RX, "CSE7761_RX", 65423248u, 0, 10, &be_const_str_HPMA_TX); +be_define_const_str(HPMA_TX, "HPMA_TX", 173233104u, 0, 7, &be_const_str_SWT1); +be_define_const_str(SWT1, "SWT1", 805224112u, 0, 4, NULL); +be_define_const_str(AS3935, "AS3935", 603621745u, 0, 6, NULL); +be_define_const_str(PMS5003_RX, "PMS5003_RX", 3934985650u, 0, 10, &be_const_str_WS2812); +be_define_const_str(WS2812, "WS2812", 3539741218u, 0, 6, NULL); +be_define_const_str(RC522_RST, "RC522_RST", 720511443u, 0, 9, &be_const_str___upper__); +be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, &be_const_str_raise); be_define_const_str(raise, "raise", 1593437475u, 70, 5, NULL); -be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, &be_const_str_dot_p); -be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_calldepth); -be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, NULL); -be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, &be_const_str_break); -be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); -be_define_const_str(map, "map", 3751997361u, 0, 3, NULL); -be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, &be_const_str_tanh); -be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); +be_define_const_str(MCP39F5_RST, "MCP39F5_RST", 3657125652u, 0, 11, &be_const_str_PMS5003_TX); +be_define_const_str(PMS5003_TX, "PMS5003_TX", 3868169364u, 0, 10, NULL); +be_define_const_str(TELEINFO_ENABLE, "TELEINFO_ENABLE", 1600974501u, 0, 15, NULL); +be_define_const_str(INPUT_PULLUP, "INPUT_PULLUP", 2912931654u, 0, 12, &be_const_str_PULLDOWN); +be_define_const_str(PULLDOWN, "PULLDOWN", 1853074086u, 0, 8, NULL); +be_define_const_str(ADC_RANGE, "ADC_RANGE", 3467329543u, 0, 9, NULL); +be_define_const_str(ZIGBEE_TX, "ZIGBEE_TX", 25119256u, 0, 9, &be_const_str_imin); +be_define_const_str(imin, "imin", 2714127864u, 0, 4, NULL); +be_define_const_str(SDM120_RX, "SDM120_RX", 1367571753u, 0, 9, &be_const_str_TFMINIPLUS_TX); +be_define_const_str(TFMINIPLUS_TX, "TFMINIPLUS_TX", 2527875337u, 0, 13, NULL); +be_define_const_str(ARIRFSEL, "ARIRFSEL", 233874443u, 0, 8, &be_const_str_REL1_INV); +be_define_const_str(REL1_INV, "REL1_INV", 3733155371u, 0, 8, &be_const_str_SSD1331_DC); +be_define_const_str(SSD1331_DC, "SSD1331_DC", 3386560859u, 0, 10, NULL); +be_define_const_str(RDM6300_RX, "RDM6300_RX", 1522345628u, 0, 10, NULL); be_define_const_str(real, "real", 3604983901u, 0, 4, NULL); -be_define_const_str(count, "count", 967958004u, 0, 5, &be_const_str_setitem); -be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, &be_const_str_split); -be_define_const_str(split, "split", 2276994531u, 0, 5, &be_const_str_if); -be_define_const_str(if, "if", 959999494u, 50, 2, NULL); -be_define_const_str(format, "format", 3114108242u, 0, 6, &be_const_str_pow); -be_define_const_str(pow, "pow", 1479764693u, 0, 3, &be_const_str_tostring); -be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); -be_define_const_str(load, "load", 3859241449u, 0, 4, &be_const_str_setrange); -be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); -be_define_const_str(char, "char", 2823553821u, 0, 4, NULL); -be_define_const_str(acos, "acos", 1006755615u, 0, 4, &be_const_str_deinit); -be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, &be_const_str_dump); -be_define_const_str(dump, "dump", 3663001223u, 0, 4, &be_const_str_sqrt); -be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL); -be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, NULL); -be_define_const_str(opt_eq, "==", 2431966415u, 0, 2, &be_const_str_asin); -be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_byte); -be_define_const_str(byte, "byte", 1683620383u, 0, 4, &be_const_str_copy); -be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_floor); -be_define_const_str(floor, "floor", 3102149661u, 0, 5, NULL); -be_define_const_str(find, "find", 3186656602u, 0, 4, &be_const_str_var); +be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_var); be_define_const_str(var, "var", 2317739966u, 64, 3, NULL); -be_define_const_str(opt_add, "+", 772578730u, 0, 1, &be_const_str___lower__); -be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, &be_const_str_rand); -be_define_const_str(rand, "rand", 2711325910u, 0, 4, &be_const_str_sin); -be_define_const_str(sin, "sin", 3761252941u, 0, 3, NULL); -be_define_const_str(deg, "deg", 3327754271u, 0, 3, &be_const_str_imin); -be_define_const_str(imin, "imin", 2714127864u, 0, 4, &be_const_str_class); -be_define_const_str(class, "class", 2872970239u, 57, 5, &be_const_str_try); -be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); -be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_asstring); -be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, &be_const_str_classname); -be_define_const_str(classname, "classname", 1998589948u, 0, 9, NULL); -be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); -be_define_const_str(assert, "assert", 2774883451u, 0, 6, &be_const_str_str); -be_define_const_str(str, "str", 3259748752u, 0, 3, NULL); -be_define_const_str(imax, "imax", 3084515410u, 0, 4, &be_const_str_init); -be_define_const_str(init, "init", 380752755u, 0, 4, &be_const_str_except); -be_define_const_str(except, "except", 950914032u, 69, 6, &be_const_str_return); -be_define_const_str(return, "return", 2246981567u, 60, 6, NULL); -be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, &be_const_str_hex); -be_define_const_str(hex, "hex", 4273249610u, 0, 3, &be_const_str_resize); -be_define_const_str(resize, "resize", 3514612129u, 0, 6, &be_const_str_as); -be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); -be_define_const_str(__upper__, "__upper__", 3612202883u, 0, 9, &be_const_str_codedump); -be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, &be_const_str_cosh); -be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, NULL); -be_define_const_str(abs, "abs", 709362235u, 0, 3, &be_const_str_collect); -be_define_const_str(collect, "collect", 2399039025u, 0, 7, NULL); -be_define_const_str(atan, "atan", 108579519u, 0, 4, &be_const_str_attrdump); -be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_input); -be_define_const_str(input, "input", 4191711099u, 0, 5, NULL); -be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_compile); -be_define_const_str(compile, "compile", 1000265118u, 0, 7, &be_const_str_iter); -be_define_const_str(iter, "iter", 3124256359u, 0, 4, &be_const_str_lower); -be_define_const_str(lower, "lower", 3038577850u, 0, 5, &be_const_str_number); -be_define_const_str(number, "number", 467038368u, 0, 6, &be_const_str_print); -be_define_const_str(print, "print", 372738696u, 0, 5, NULL); -be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_pi); -be_define_const_str(pi, "pi", 1213090802u, 0, 2, NULL); -be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_log); -be_define_const_str(log, "log", 1062293841u, 0, 3, &be_const_str_log10); -be_define_const_str(log10, "log10", 2346846000u, 0, 5, NULL); -be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, &be_const_str_get); -be_define_const_str(get, "get", 1410115415u, 0, 3, &be_const_str_tolower); -be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, &be_const_str_while); -be_define_const_str(while, "while", 231090382u, 53, 5, NULL); -be_define_const_str(import, "import", 288002260u, 66, 6, NULL); -be_define_const_str(size, "size", 597743964u, 0, 4, NULL); -be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_rad); -be_define_const_str(rad, "rad", 1358899048u, 0, 3, &be_const_str_tan); -be_define_const_str(tan, "tan", 2633446552u, 0, 3, &be_const_str_type); -be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); -be_define_const_str(insert, "insert", 3332609576u, 0, 6, &be_const_str_module); -be_define_const_str(module, "module", 3617558685u, 0, 6, &be_const_str_range); -be_define_const_str(range, "range", 4208725202u, 0, 5, &be_const_str_super); -be_define_const_str(super, "super", 4152230356u, 0, 5, NULL); -be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, &be_const_str_def); -be_define_const_str(def, "def", 3310976652u, 55, 3, NULL); -be_define_const_str(classof, "classof", 1796577762u, 0, 7, &be_const_str_sinh); -be_define_const_str(sinh, "sinh", 282220607u, 0, 4, &be_const_str_srand); -be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL); -be_define_const_str(end, "end", 1787721130u, 56, 3, NULL); -be_define_const_str(clear, "clear", 1550717474u, 0, 5, &be_const_str_top); -be_define_const_str(top, "top", 2802900028u, 0, 3, &be_const_str_nil); -be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); -be_define_const_str(open, "open", 3546203337u, 0, 4, &be_const_str_do); -be_define_const_str(do, "do", 1646057492u, 65, 2, NULL); -be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_isinstance); -be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, &be_const_str_pop); -be_define_const_str(pop, "pop", 1362321360u, 0, 3, NULL); -be_define_const_str(int, "int", 2515107422u, 0, 3, &be_const_str_keys); -be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_elif); -be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); -be_define_const_str(item, "item", 2671260646u, 0, 4, &be_const_str_push); -be_define_const_str(push, "push", 2272264157u, 0, 4, NULL); -be_define_const_str(concat, "concat", 4124019837u, 0, 6, &be_const_str_traceback); -be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, &be_const_str_upper); -be_define_const_str(upper, "upper", 176974407u, 0, 5, &be_const_str_true); -be_define_const_str(true, "true", 1303515621u, 61, 4, NULL); +be_define_const_str(HALLEFFECT, "HALLEFFECT", 3334305407u, 0, 10, &be_const_str_atan); +be_define_const_str(atan, "atan", 108579519u, 0, 4, NULL); +be_define_const_str(AS608_RX, "AS608_RX", 4275502016u, 0, 8, &be_const_str_number); +be_define_const_str(number, "number", 467038368u, 0, 6, NULL); +be_define_const_str(DHT11, "DHT11", 367083569u, 0, 5, &be_const_str_RFRECV); +be_define_const_str(RFRECV, "RFRECV", 354742801u, 0, 6, &be_const_str_WEBCAM_XCLK); +be_define_const_str(WEBCAM_XCLK, "WEBCAM_XCLK", 536207425u, 0, 11, &be_const_str_list); +be_define_const_str(list, "list", 217798785u, 0, 4, &be_const_str_resize); +be_define_const_str(resize, "resize", 3514612129u, 0, 6, NULL); +be_define_const_str(isinstance, "isinstance", 3669352738u, 0, 10, NULL); +be_define_const_str(opt_neq, "!=", 2428715011u, 0, 2, &be_const_str_dot_p); +be_define_const_str(dot_p, ".p", 1171526419u, 0, 2, &be_const_str_SDM630_TX); +be_define_const_str(SDM630_TX, "SDM630_TX", 696213075u, 0, 9, NULL); +be_define_const_str(bytes, "bytes", 1706151940u, 0, 5, NULL); +be_define_const_str(CNTR1, "CNTR1", 510376965u, 0, 5, &be_const_str_KEY1_TC); +be_define_const_str(KEY1_TC, "KEY1_TC", 25685109u, 0, 7, &be_const_str_TASMOTACLIENT_RST); +be_define_const_str(TASMOTACLIENT_RST, "TASMOTACLIENT_RST", 3326196213u, 0, 17, NULL); +be_define_const_str(AS608_TX, "AS608_TX", 48630934u, 0, 8, &be_const_str_KEY1_NP); +be_define_const_str(KEY1_NP, "KEY1_NP", 709918726u, 0, 7, NULL); +be_define_const_str(ADC_CT_POWER, "ADC_CT_POWER", 3382284599u, 0, 12, &be_const_str_BOILER_OT_TX); +be_define_const_str(BOILER_OT_TX, "BOILER_OT_TX", 671743623u, 0, 12, &be_const_str_SI7021); +be_define_const_str(SI7021, "SI7021", 864377911u, 0, 6, NULL); +be_define_const_str(deinit, "deinit", 2345559592u, 0, 6, NULL); +be_define_const_str(ILI9488_CS, "ILI9488_CS", 2363112073u, 0, 10, &be_const_str_SSPI_MOSI); +be_define_const_str(SSPI_MOSI, "SSPI_MOSI", 3745917497u, 0, 9, NULL); +be_define_const_str(NRF24_CS, "NRF24_CS", 555833194u, 0, 8, &be_const_str_SSD1351_CS); +be_define_const_str(SSD1351_CS, "SSD1351_CS", 488746042u, 0, 10, NULL); +be_define_const_str(EPAPER42_CS, "EPAPER42_CS", 3274717451u, 0, 11, &be_const_str_RFSEND); +be_define_const_str(RFSEND, "RFSEND", 1862630731u, 0, 6, &be_const_str_RISING); +be_define_const_str(RISING, "RISING", 1256404539u, 0, 6, NULL); +be_define_const_str(WIEGAND_D1, "WIEGAND_D1", 4175558140u, 0, 10, NULL); +be_define_const_str(DYP_RX, "DYP_RX", 2122310285u, 0, 6, NULL); +be_define_const_str(ADC_LIGHT, "ADC_LIGHT", 3982461502u, 0, 9, &be_const_str_DDS2382_RX); +be_define_const_str(DDS2382_RX, "DDS2382_RX", 432446462u, 0, 10, &be_const_str_DI); +be_define_const_str(DI, "DI", 1070498734u, 0, 2, &be_const_str_WEBCAM_PWDN); +be_define_const_str(WEBCAM_PWDN, "WEBCAM_PWDN", 2219597454u, 0, 11, NULL); +be_define_const_str(BUZZER_INV, "BUZZER_INV", 3274564335u, 0, 10, &be_const_str_sinh); +be_define_const_str(sinh, "sinh", 282220607u, 0, 4, NULL); +be_define_const_str(ETH_PHY_MDIO, "ETH_PHY_MDIO", 3261871568u, 0, 12, &be_const_str_tanh); +be_define_const_str(tanh, "tanh", 153638352u, 0, 4, NULL); +be_define_const_str(WE517_TX, "WE517_TX", 2954817217u, 0, 8, &be_const_str_ZEROCROSS); +be_define_const_str(ZEROCROSS, "ZEROCROSS", 1747596785u, 0, 9, NULL); +be_define_const_str(classof, "classof", 1796577762u, 0, 7, &be_const_str_codedump); +be_define_const_str(codedump, "codedump", 1786337906u, 0, 8, NULL); +be_define_const_str(AZ_RXD, "AZ_RXD", 699914019u, 0, 6, NULL); +be_define_const_str(copy, "copy", 3848464964u, 0, 4, &be_const_str_continue); be_define_const_str(continue, "continue", 2977070660u, 59, 8, NULL); -be_define_const_str(else, "else", 3183434736u, 52, 4, NULL); -be_define_const_str(cos, "cos", 4220379804u, 0, 3, &be_const_str_for); +be_define_const_str(AZ_TXD, "AZ_TXD", 850268709u, 0, 6, &be_const_str_reverse); +be_define_const_str(reverse, "reverse", 558918661u, 0, 7, NULL); +be_define_const_str(CSE7761_TX, "CSE7761_TX", 3354719142u, 0, 10, &be_const_str_HPMA_RX); +be_define_const_str(HPMA_RX, "HPMA_RX", 3462528998u, 0, 7, &be_const_str_WEBCAM_VSYNC); +be_define_const_str(WEBCAM_VSYNC, "WEBCAM_VSYNC", 4032882166u, 0, 12, NULL); +be_define_const_str(BS814_CLK, "BS814_CLK", 3002713336u, 0, 9, &be_const_str_DDS2382_TX); +be_define_const_str(DDS2382_TX, "DDS2382_TX", 1438117864u, 0, 10, &be_const_str_WEBCAM_HREF); +be_define_const_str(WEBCAM_HREF, "WEBCAM_HREF", 3161890024u, 0, 11, &be_const_str_false); +be_define_const_str(false, "false", 184981848u, 62, 5, NULL); +be_define_const_str(EXS_ENABLE, "EXS_ENABLE", 1896914313u, 0, 10, &be_const_str_LED1_INV); +be_define_const_str(LED1_INV, "LED1_INV", 2112045097u, 0, 8, &be_const_str_MHZ_TXD); +be_define_const_str(MHZ_TXD, "MHZ_TXD", 3310158233u, 0, 7, &be_const_str_P9813_CLK); +be_define_const_str(P9813_CLK, "P9813_CLK", 2455391001u, 0, 9, &be_const_str_load); +be_define_const_str(load, "load", 3859241449u, 0, 4, &be_const_str_srand); +be_define_const_str(srand, "srand", 465518633u, 0, 5, NULL); +be_define_const_str(HX711_DAT, "HX711_DAT", 2935118250u, 0, 9, &be_const_str_KEY1_INV_NP); +be_define_const_str(KEY1_INV_NP, "KEY1_INV_NP", 3160558586u, 0, 11, &be_const_str_NEOPOOL_RX); +be_define_const_str(NEOPOOL_RX, "NEOPOOL_RX", 1917974474u, 0, 10, &be_const_str_PZEM004_RX); +be_define_const_str(PZEM004_RX, "PZEM004_RX", 3411153194u, 0, 10, NULL); +be_define_const_str(BUZZER, "BUZZER", 1550039611u, 0, 6, &be_const_str_SWT1_NP); +be_define_const_str(SWT1_NP, "SWT1_NP", 4033043739u, 0, 7, &be_const_str_abs); +be_define_const_str(abs, "abs", 709362235u, 0, 3, &be_const_str_assert); +be_define_const_str(assert, "assert", 2774883451u, 0, 6, NULL); +be_define_const_str(ARIRFRCV, "ARIRFRCV", 1120816444u, 0, 8, &be_const_str_P9813_DAT); +be_define_const_str(P9813_DAT, "P9813_DAT", 778577052u, 0, 9, NULL); +be_define_const_str(calldepth, "calldepth", 3122364302u, 0, 9, &be_const_str_try); +be_define_const_str(try, "try", 2887626766u, 68, 3, NULL); +be_define_const_str(MAX31855CLK, "MAX31855CLK", 715977727u, 0, 11, &be_const_str_SDS0X1_TX); +be_define_const_str(SDS0X1_TX, "SDS0X1_TX", 165045983u, 0, 9, NULL); +be_define_const_str(log10, "log10", 2346846000u, 0, 5, &be_const_str_pop); +be_define_const_str(pop, "pop", 1362321360u, 0, 3, NULL); +be_define_const_str(LED1, "LED1", 21005825u, 0, 4, &be_const_str_TM1638STB); +be_define_const_str(TM1638STB, "TM1638STB", 823674593u, 0, 9, NULL); +be_define_const_str(A4988_DIR, "A4988_DIR", 2223595843u, 0, 9, &be_const_str_SDM72_RX); +be_define_const_str(SDM72_RX, "SDM72_RX", 766750035u, 0, 8, NULL); +be_define_const_str(PN532_TXD, "PN532_TXD", 3093418644u, 0, 9, &be_const_str_pin); +be_define_const_str(pin, "pin", 1866532500u, 0, 3, NULL); +be_define_const_str(TM1637DIO, "TM1637DIO", 1574659381u, 0, 9, NULL); +be_define_const_str(PWM1_INV, "PWM1_INV", 3939021030u, 0, 8, &be_const_str_item); +be_define_const_str(item, "item", 2671260646u, 0, 4, NULL); +be_define_const_str(ROT1A_NP, "ROT1A_NP", 2322706903u, 0, 8, NULL); +be_define_const_str(SSD1331_CS, "SSD1331_CS", 4191047928u, 0, 10, &be_const_str_exp); +be_define_const_str(exp, "exp", 1923516200u, 0, 3, &be_const_str_rad); +be_define_const_str(rad, "rad", 1358899048u, 0, 3, &be_const_str_setrange); +be_define_const_str(setrange, "setrange", 3794019032u, 0, 8, NULL); +be_define_const_str(LE01MR_RX, "LE01MR_RX", 1521590809u, 0, 9, &be_const_str_SDS0X1_RX); +be_define_const_str(SDS0X1_RX, "SDS0X1_RX", 1170717385u, 0, 9, &be_const_str_TCP_TX); +be_define_const_str(TCP_TX, "TCP_TX", 2762594089u, 0, 6, NULL); +be_define_const_str(A4988_ENA, "A4988_ENA", 1517502682u, 0, 9, &be_const_str_hex); +be_define_const_str(hex, "hex", 4273249610u, 0, 3, NULL); +be_define_const_str(BL0940_RX, "BL0940_RX", 2908993179u, 0, 9, &be_const_str_SM2135_CLK); +be_define_const_str(SM2135_CLK, "SM2135_CLK", 2383410011u, 0, 10, &be_const_str_input); +be_define_const_str(input, "input", 4191711099u, 0, 5, NULL); +be_define_const_str(top, "top", 2802900028u, 0, 3, &be_const_str_def); +be_define_const_str(def, "def", 3310976652u, 55, 3, NULL); +be_define_const_str(BS814_DAT, "BS814_DAT", 3620403837u, 0, 9, &be_const_str_CHANGE); +be_define_const_str(CHANGE, "CHANGE", 4280911421u, 0, 6, &be_const_str_floor); +be_define_const_str(floor, "floor", 3102149661u, 0, 5, &be_const_str_keys); +be_define_const_str(keys, "keys", 4182378701u, 0, 4, &be_const_str_sin); +be_define_const_str(sin, "sin", 3761252941u, 0, 3, &be_const_str_traceback); +be_define_const_str(traceback, "traceback", 3385188109u, 0, 9, &be_const_str_as); +be_define_const_str(as, "as", 1579491469u, 67, 2, NULL); +be_define_const_str(SM2135_DAT, "SM2135_DAT", 2882726942u, 0, 10, &be_const_str_ZIGBEE_RX); +be_define_const_str(ZIGBEE_RX, "ZIGBEE_RX", 93215470u, 0, 9, NULL); +be_define_const_str(acos, "acos", 1006755615u, 0, 4, NULL); +be_define_const_str(OPTION_A, "OPTION_A", 1133299440u, 0, 8, &be_const_str_else); +be_define_const_str(else, "else", 3183434736u, 52, 4, &be_const_str_for); be_define_const_str(for, "for", 2901640080u, 54, 3, NULL); +be_define_const_str(tolower, "tolower", 1042520049u, 0, 7, NULL); +be_define_const_str(pi, "pi", 1213090802u, 0, 2, &be_const_str_range); +be_define_const_str(range, "range", 4208725202u, 0, 5, NULL); +be_define_const_str(SDCARD_CS, "SDCARD_CS", 3348952003u, 0, 9, &be_const_str_SM16716_SEL); +be_define_const_str(SM16716_SEL, "SM16716_SEL", 142377379u, 0, 11, NULL); +be_define_const_str(count, "count", 967958004u, 0, 5, &be_const_str_do); +be_define_const_str(do, "do", 1646057492u, 65, 2, NULL); +be_define_const_str(, "", 2166136261u, 0, 0, &be_const_str_TASMOTACLIENT_RST_INV); +be_define_const_str(TASMOTACLIENT_RST_INV, "TASMOTACLIENT_RST_INV", 2601785365u, 0, 21, &be_const_str_tostring); +be_define_const_str(tostring, "tostring", 2299708645u, 0, 8, NULL); +be_define_const_str(DSB, "DSB", 98073254u, 0, 3, NULL); +be_define_const_str(__iterator__, "__iterator__", 3884039703u, 0, 12, &be_const_str_get); +be_define_const_str(get, "get", 1410115415u, 0, 3, &be_const_str_upper); +be_define_const_str(upper, "upper", 176974407u, 0, 5, NULL); +be_define_const_str(GPS_TX, "GPS_TX", 4228740808u, 0, 6, &be_const_str_IEM3000_RX); +be_define_const_str(IEM3000_RX, "IEM3000_RX", 1117811096u, 0, 10, &be_const_str_toupper); +be_define_const_str(toupper, "toupper", 3691983576u, 0, 7, NULL); +be_define_const_str(WEBCAM_PCLK, "WEBCAM_PCLK", 3813770649u, 0, 11, NULL); +be_define_const_str(PROJECTOR_CTRL_TX, "PROJECTOR_CTRL_TX", 535811130u, 0, 17, &be_const_str_PWM1); +be_define_const_str(PWM1, "PWM1", 1353352426u, 0, 4, &be_const_str_ST7789_CS); +be_define_const_str(ST7789_CS, "ST7789_CS", 2937305434u, 0, 9, &be_const_str_find); +be_define_const_str(find, "find", 3186656602u, 0, 4, &be_const_str_end); +be_define_const_str(end, "end", 1787721130u, 56, 3, NULL); +be_define_const_str(MGC3130_XFER, "MGC3130_XFER", 4178219131u, 0, 12, &be_const_str_SSPI_CS); +be_define_const_str(SSPI_CS, "SSPI_CS", 977784795u, 0, 7, NULL); +be_define_const_str(RA8876_CS, "RA8876_CS", 2529944108u, 0, 9, NULL); +be_define_const_str(char, "char", 2823553821u, 0, 4, NULL); +be_define_const_str(ADC_BUTTON_INV, "ADC_BUTTON_INV", 2027625326u, 0, 14, NULL); +be_define_const_str(INPUT_PULLDOWN, "INPUT_PULLDOWN", 1172232591u, 0, 14, &be_const_str_REL1); +be_define_const_str(REL1, "REL1", 3142397887u, 0, 4, &be_const_str_SPI_DC); +be_define_const_str(SPI_DC, "SPI_DC", 553259951u, 0, 6, NULL); +be_define_const_str(MAX31855DO, "MAX31855DO", 552730368u, 0, 10, NULL); +be_define_const_str(SSD1351_DC, "SSD1351_DC", 84950353u, 0, 10, &be_const_str_log); +be_define_const_str(log, "log", 1062293841u, 0, 3, NULL); +be_define_const_str(elif, "elif", 3232090307u, 51, 4, NULL); +be_define_const_str(ROT1A, "ROT1A", 759599716u, 0, 5, &be_const_str_pin_used); +be_define_const_str(pin_used, "pin_used", 4033854612u, 0, 8, &be_const_str_setitem); +be_define_const_str(setitem, "setitem", 1554834596u, 0, 7, &be_const_str_import); +be_define_const_str(import, "import", 288002260u, 66, 6, NULL); +be_define_const_str(WEBCAM_DATA, "WEBCAM_DATA", 1476954421u, 0, 11, NULL); +be_define_const_str(IRRECV, "IRRECV", 1743648982u, 0, 6, &be_const_str_OUTPUT_HI); +be_define_const_str(OUTPUT_HI, "OUTPUT_HI", 3153592902u, 0, 9, NULL); +be_define_const_str(OUTPUT_LO, "OUTPUT_LO", 3724620328u, 0, 9, &be_const_str_ROT1B_NP); +be_define_const_str(ROT1B_NP, "ROT1B_NP", 3710079736u, 0, 8, &be_const_str_attrdump); +be_define_const_str(attrdump, "attrdump", 1521571304u, 0, 8, &be_const_str_print); +be_define_const_str(print, "print", 372738696u, 0, 5, &be_const_str_tan); +be_define_const_str(tan, "tan", 2633446552u, 0, 3, NULL); +be_define_const_str(SPI_MISO, "SPI_MISO", 150818010u, 0, 8, NULL); +be_define_const_str(ADC_JOY, "ADC_JOY", 1116943612u, 0, 7, &be_const_str_size); +be_define_const_str(size, "size", 597743964u, 0, 4, &be_const_str_nil); +be_define_const_str(nil, "nil", 228849900u, 63, 3, NULL); +be_define_const_str(ETH_PHY_MDC, "ETH_PHY_MDC", 1519379581u, 0, 11, &be_const_str_type); +be_define_const_str(type, "type", 1361572173u, 0, 4, NULL); +be_define_const_str(TASMOTACLIENT_RXD, "TASMOTACLIENT_RXD", 72868318u, 0, 17, &be_const_str_compile); +be_define_const_str(compile, "compile", 1000265118u, 0, 7, &be_const_str_while); +be_define_const_str(while, "while", 231090382u, 53, 5, NULL); +be_define_const_str(MHZ_RXD, "MHZ_RXD", 328619727u, 0, 7, &be_const_str_SDM120_TX); +be_define_const_str(SDM120_TX, "SDM120_TX", 2509332415u, 0, 9, &be_const_str_TXD); +be_define_const_str(TXD, "TXD", 3614562079u, 0, 3, &be_const_str_WIEGAND_D0); +be_define_const_str(WIEGAND_D0, "WIEGAND_D0", 4192335759u, 0, 10, &be_const_str_class); +be_define_const_str(class, "class", 2872970239u, 57, 5, NULL); +be_define_const_str(DDSU666_RX, "DDSU666_RX", 1812507936u, 0, 10, &be_const_str_MIEL_HVAC_RX); +be_define_const_str(MIEL_HVAC_RX, "MIEL_HVAC_RX", 3720609648u, 0, 12, NULL); +be_define_const_str(collect, "collect", 2399039025u, 0, 7, NULL); +be_define_const_str(ADC_BUTTON, "ADC_BUTTON", 3393454690u, 0, 10, &be_const_str_ADC_PH); +be_define_const_str(ADC_PH, "ADC_PH", 3820290594u, 0, 6, &be_const_str_DEEPSLEEP); +be_define_const_str(DEEPSLEEP, "DEEPSLEEP", 189922226u, 0, 9, &be_const_str_HM10_RX); +be_define_const_str(HM10_RX, "HM10_RX", 515085922u, 0, 7, &be_const_str_XPT2046_CS); +be_define_const_str(XPT2046_CS, "XPT2046_CS", 4049231042u, 0, 10, NULL); +be_define_const_str(A4988_MS1, "A4988_MS1", 1729976611u, 0, 9, NULL); +be_define_const_str(RF_SENSOR, "RF_SENSOR", 2289628100u, 0, 9, NULL); +be_define_const_str(CSE7766_TX, "CSE7766_TX", 674624821u, 0, 10, &be_const_str_LMT01); +be_define_const_str(LMT01, "LMT01", 2490623797u, 0, 5, &be_const_str_SDM630_RX); +be_define_const_str(SDM630_RX, "SDM630_RX", 1971606309u, 0, 9, &be_const_str_ZIGBEE_RST); +be_define_const_str(ZIGBEE_RST, "ZIGBEE_RST", 721588661u, 0, 10, NULL); +be_define_const_str(SPI_CLK, "SPI_CLK", 3943233814u, 0, 7, &be_const_str_asin); +be_define_const_str(asin, "asin", 4272848550u, 0, 4, &be_const_str_if); +be_define_const_str(if, "if", 959999494u, 50, 2, NULL); +be_define_const_str(HJL_CF, "HJL_CF", 786158487u, 0, 6, &be_const_str_IBEACON_RX); +be_define_const_str(IBEACON_RX, "IBEACON_RX", 2466155575u, 0, 10, &be_const_str_iter); +be_define_const_str(iter, "iter", 3124256359u, 0, 4, NULL); +be_define_const_str(SOLAXX1_TX, "SOLAXX1_TX", 903770840u, 0, 10, &be_const_str_SR04_ECHO); +be_define_const_str(SR04_ECHO, "SR04_ECHO", 1906909592u, 0, 9, &be_const_str_ceil); +be_define_const_str(ceil, "ceil", 1659167240u, 0, 4, NULL); +be_define_const_str(CC1101_GDO2, "CC1101_GDO2", 974166265u, 0, 11, &be_const_str_MAX7219DIN); +be_define_const_str(MAX7219DIN, "MAX7219DIN", 380687049u, 0, 10, &be_const_str_SBR_RX); +be_define_const_str(SBR_RX, "SBR_RX", 3350999801u, 0, 6, &be_const_str_open); +be_define_const_str(open, "open", 3546203337u, 0, 4, NULL); +be_define_const_str(SM16716_CLK, "SM16716_CLK", 3037641483u, 0, 11, NULL); +be_define_const_str(HX711_SCK, "HX711_SCK", 3785979404u, 0, 9, &be_const_str_NEOPOOL_TX); +be_define_const_str(NEOPOOL_TX, "NEOPOOL_TX", 2924925804u, 0, 10, &be_const_str_TELEINFO_RX); +be_define_const_str(TELEINFO_RX, "TELEINFO_RX", 1195717356u, 0, 11, &be_const_str_WINDMETER_SPEED); +be_define_const_str(WINDMETER_SPEED, "WINDMETER_SPEED", 1980822204u, 0, 15, &be_const_str_cosh); +be_define_const_str(cosh, "cosh", 4099687964u, 0, 4, NULL); +be_define_const_str(ROT1B, "ROT1B", 809932573u, 0, 5, NULL); +be_define_const_str(DHT11_OUT, "DHT11_OUT", 1645300734u, 0, 9, &be_const_str_SM16716_DAT); +be_define_const_str(SM16716_DAT, "SM16716_DAT", 1905621806u, 0, 11, NULL); +be_define_const_str(LE01MR_TX, "LE01MR_TX", 1589687023u, 0, 9, &be_const_str_MCP39F5_TX); +be_define_const_str(MCP39F5_TX, "MCP39F5_TX", 1332322047u, 0, 10, &be_const_str_SAIR_TX); +be_define_const_str(SAIR_TX, "SAIR_TX", 268017311u, 0, 7, &be_const_str_SR04_TRIG); +be_define_const_str(SR04_TRIG, "SR04_TRIG", 68671263u, 0, 9, NULL); +be_define_const_str(IRSEND, "IRSEND", 184848336u, 0, 6, &be_const_str_WEBCAM_PSCLK); +be_define_const_str(WEBCAM_PSCLK, "WEBCAM_PSCLK", 3150007456u, 0, 12, &be_const_str_digital_read); +be_define_const_str(digital_read, "digital_read", 3585496928u, 0, 12, &be_const_str_except); +be_define_const_str(except, "except", 950914032u, 69, 6, NULL); +be_define_const_str(A4988_STP, "A4988_STP", 1622172049u, 0, 9, &be_const_str_IBEACON_TX); +be_define_const_str(IBEACON_TX, "IBEACON_TX", 3471826977u, 0, 10, &be_const_str_NRF24_DC); +be_define_const_str(NRF24_DC, "NRF24_DC", 688921313u, 0, 8, NULL); +be_define_const_str(SPI_MOSI, "SPI_MOSI", 2494218614u, 0, 8, NULL); +be_define_const_str(OLED_RESET, "OLED_RESET", 4048987655u, 0, 10, &be_const_str_WE517_RX); +be_define_const_str(WE517_RX, "WE517_RX", 4096577879u, 0, 8, NULL); +be_define_const_str(SSPI_DC, "SSPI_DC", 1782271864u, 0, 7, &be_const_str_WEBCAM_HSD); +be_define_const_str(WEBCAM_HSD, "WEBCAM_HSD", 2648502504u, 0, 10, &be_const_str_insert); +be_define_const_str(insert, "insert", 3332609576u, 0, 6, NULL); +be_define_const_str(SAIR_RX, "SAIR_RX", 1273688713u, 0, 7, &be_const_str_TUYA_TX); +be_define_const_str(TUYA_TX, "TUYA_TX", 1541301465u, 0, 7, NULL); +be_define_const_str(EPAPER29_CS, "EPAPER29_CS", 3916373594u, 0, 11, &be_const_str_I2C_SCL); +be_define_const_str(I2C_SCL, "I2C_SCL", 164217098u, 0, 7, NULL); +be_define_const_str(NONE, "NONE", 1932136219u, 0, 4, NULL); +be_define_const_str(classname, "classname", 1998589948u, 0, 9, &be_const_str_cos); +be_define_const_str(cos, "cos", 4220379804u, 0, 3, NULL); +be_define_const_str(LEDLNK_INV, "LEDLNK_INV", 3559015101u, 0, 10, &be_const_str_NRG_SEL_INV); +be_define_const_str(NRG_SEL_INV, "NRG_SEL_INV", 3567431069u, 0, 11, &be_const_str_SHELLY_DIMMER_RST_INV); +be_define_const_str(SHELLY_DIMMER_RST_INV, "SHELLY_DIMMER_RST_INV", 2366759773u, 0, 21, &be_const_str_module); +be_define_const_str(module, "module", 3617558685u, 0, 6, NULL); +be_define_const_str(ETH_PHY_POWER, "ETH_PHY_POWER", 487529454u, 0, 13, &be_const_str_IEM3000_TX); +be_define_const_str(IEM3000_TX, "IEM3000_TX", 1185907310u, 0, 10, NULL); +be_define_const_str(MAX31855CS, "MAX31855CS", 753620511u, 0, 10, &be_const_str_deg); +be_define_const_str(deg, "deg", 3327754271u, 0, 3, &be_const_str_return); +be_define_const_str(return, "return", 2246981567u, 60, 6, NULL); +be_define_const_str(str, "str", 3259748752u, 0, 3, NULL); +be_define_const_str(SENSOR_END, "SENSOR_END", 3512542657u, 0, 10, &be_const_str_ST7789_DC); +be_define_const_str(ST7789_DC, "ST7789_DC", 2533509745u, 0, 9, NULL); +be_define_const_str(clear, "clear", 1550717474u, 0, 5, &be_const_str_imax); +be_define_const_str(imax, "imax", 3084515410u, 0, 4, NULL); +be_define_const_str(OUTPUT, "OUTPUT", 1469629700u, 0, 6, &be_const_str_SPI_CS); +be_define_const_str(SPI_CS, "SPI_CS", 553701236u, 0, 6, NULL); +be_define_const_str(SDM72_TX, "SDM72_TX", 2042143269u, 0, 8, &be_const_str_SSPI_MISO); +be_define_const_str(SSPI_MISO, "SSPI_MISO", 2485347173u, 0, 9, &be_const_str_true); +be_define_const_str(true, "true", 1303515621u, 61, 4, NULL); +be_define_const_str(MIEL_HVAC_TX, "MIEL_HVAC_TX", 567403014u, 0, 12, NULL); +be_define_const_str(VL53L0X_XSHUT1, "VL53L0X_XSHUT1", 2341134183u, 0, 14, NULL); +be_define_const_str(PZEM0XX_TX, "PZEM0XX_TX", 944775704u, 0, 10, NULL); +be_define_const_str(SSPI_SCLK, "SSPI_SCLK", 136688954u, 0, 9, &be_const_str_WEBCAM_SIOD); +be_define_const_str(WEBCAM_SIOD, "WEBCAM_SIOD", 302703242u, 0, 11, NULL); +be_define_const_str(HRE_DATA, "HRE_DATA", 1820377643u, 0, 8, NULL); +be_define_const_str(PROJECTOR_CTRL_RX, "PROJECTOR_CTRL_RX", 1542762460u, 0, 17, NULL); +be_define_const_str(DSB_OUT, "DSB_OUT", 732335085u, 0, 7, &be_const_str_NRG_SEL); +be_define_const_str(NRG_SEL, "NRG_SEL", 1771358125u, 0, 7, &be_const_str_push); +be_define_const_str(push, "push", 2272264157u, 0, 4, NULL); +be_define_const_str(ADC_INPUT, "ADC_INPUT", 2207556878u, 0, 9, &be_const_str_FTC532); +be_define_const_str(FTC532, "FTC532", 3182343438u, 0, 6, &be_const_str_GPS_RX); +be_define_const_str(GPS_RX, "GPS_RX", 1075637342u, 0, 6, &be_const_str_HLW_CF); +be_define_const_str(HLW_CF, "HLW_CF", 3982619486u, 0, 6, NULL); +be_define_const_str(TCP_RX, "TCP_RX", 3904354751u, 0, 6, &be_const_str_issubclass); +be_define_const_str(issubclass, "issubclass", 4078395519u, 0, 10, NULL); +be_define_const_str(CNTR1_NP, "CNTR1_NP", 4288381648u, 0, 8, &be_const_str_ILI9341_DC); +be_define_const_str(ILI9341_DC, "ILI9341_DC", 28838624u, 0, 10, &be_const_str_TX2X_TXD_BLACK); +be_define_const_str(TX2X_TXD_BLACK, "TX2X_TXD_BLACK", 956526176u, 0, 14, &be_const_str_WEBCAM_PSRCS); +be_define_const_str(WEBCAM_PSRCS, "WEBCAM_PSRCS", 624464864u, 0, 12, NULL); +be_define_const_str(BOILER_OT_RX, "BOILER_OT_RX", 603647409u, 0, 12, &be_const_str_LOW); +be_define_const_str(LOW, "LOW", 3526092385u, 0, 3, &be_const_str_MP3_DFR562); +be_define_const_str(MP3_DFR562, "MP3_DFR562", 2859952977u, 0, 10, &be_const_str_map); +be_define_const_str(map, "map", 3751997361u, 0, 3, NULL); +be_define_const_str(allocated, "allocated", 429986098u, 0, 9, &be_const_str_format); +be_define_const_str(format, "format", 3114108242u, 0, 6, NULL); +be_define_const_str(CC1101_GDO0, "CC1101_GDO0", 940611027u, 0, 11, &be_const_str_CSE7766_RX); +be_define_const_str(CSE7766_RX, "CSE7766_RX", 1546766819u, 0, 10, &be_const_str_ILI9341_CS); +be_define_const_str(ILI9341_CS, "ILI9341_CS", 3519318851u, 0, 10, NULL); +be_define_const_str(SHELLY_DIMMER_BOOT0, "SHELLY_DIMMER_BOOT0", 2948777716u, 0, 19, &be_const_str_SSPI_MAX31865_CS1); +be_define_const_str(SSPI_MAX31865_CS1, "SSPI_MAX31865_CS1", 1256578724u, 0, 17, NULL); +be_define_const_str(NRG_CF1, "NRG_CF1", 3292534757u, 0, 7, NULL); +be_define_const_str(DDSU666_TX, "DDSU666_TX", 1880604150u, 0, 10, &be_const_str_I2C_SDA); +be_define_const_str(I2C_SDA, "I2C_SDA", 1052592262u, 0, 7, &be_const_str_PZEM017_RX); +be_define_const_str(PZEM017_RX, "PZEM017_RX", 3227495894u, 0, 10, &be_const_str_rand); +be_define_const_str(rand, "rand", 2711325910u, 0, 4, NULL); +be_define_const_str(RXD, "RXD", 2311579049u, 0, 3, &be_const_str_TM1637CLK); +be_define_const_str(TM1637CLK, "TM1637CLK", 2797300857u, 0, 9, NULL); +be_define_const_str(opt_add, "+", 772578730u, 0, 1, &be_const_str_lower); +be_define_const_str(lower, "lower", 3038577850u, 0, 5, NULL); +be_define_const_str(WEBCAM_SIOC, "WEBCAM_SIOC", 218815147u, 0, 11, NULL); +be_define_const_str(OUTPUT_OPEN_DRAIN, "OUTPUT_OPEN_DRAIN", 2147249436u, 0, 17, &be_const_str_RC522_CS); +be_define_const_str(RC522_CS, "RC522_CS", 2639619996u, 0, 8, NULL); +be_define_const_str(opt_connect, "..", 2748622605u, 0, 2, &be_const_str_HIGH); +be_define_const_str(HIGH, "HIGH", 2066738941u, 0, 4, &be_const_str_LEDLNK); +be_define_const_str(LEDLNK, "LEDLNK", 2862810701u, 0, 6, &be_const_str_concat); +be_define_const_str(concat, "concat", 4124019837u, 0, 6, NULL); +be_define_const_str(PN532_RXD, "PN532_RXD", 1780093022u, 0, 9, &be_const_str_SOLAXX1_RX); +be_define_const_str(SOLAXX1_RX, "SOLAXX1_RX", 971867054u, 0, 10, &be_const_str_TM1638DIO); +be_define_const_str(TM1638DIO, "TM1638DIO", 1408212414u, 0, 9, &be_const_str_pin_mode); +be_define_const_str(pin_mode, "pin_mode", 3258314030u, 0, 8, NULL); +be_define_const_str(DHT22, "DHT22", 215937903u, 0, 5, &be_const_str_ELECTRIQ_MOODL_TX); +be_define_const_str(ELECTRIQ_MOODL_TX, "ELECTRIQ_MOODL_TX", 31009247u, 0, 17, &be_const_str_SBR_TX); +be_define_const_str(SBR_TX, "SBR_TX", 3419096015u, 0, 6, &be_const_str_byte); +be_define_const_str(byte, "byte", 1683620383u, 0, 4, &be_const_str_sqrt); +be_define_const_str(sqrt, "sqrt", 2112764879u, 0, 4, NULL); +be_define_const_str(OPEN_DRAIN, "OPEN_DRAIN", 677872608u, 0, 10, &be_const_str_WEBCAM_RESET); +be_define_const_str(WEBCAM_RESET, "WEBCAM_RESET", 2171221520u, 0, 12, &be_const_str_asstring); +be_define_const_str(asstring, "asstring", 1298225088u, 0, 8, NULL); +be_define_const_str(MGC3130_RESET, "MGC3130_RESET", 405013121u, 0, 13, NULL); +be_define_const_str(ADE7953_IRQ, "ADE7953_IRQ", 2329185922u, 0, 11, NULL); +be_define_const_str(KEY1_INV, "KEY1_INV", 263542563u, 0, 8, &be_const_str_PULLUP); +be_define_const_str(PULLUP, "PULLUP", 3417628531u, 0, 6, &be_const_str_init); +be_define_const_str(init, "init", 380752755u, 0, 4, &be_const_str_split); +be_define_const_str(split, "split", 2276994531u, 0, 5, NULL); +be_define_const_str(HM10_TX, "HM10_TX", 1522037252u, 0, 7, &be_const_str_MAX7219CS); +be_define_const_str(MAX7219CS, "MAX7219CS", 2593198244u, 0, 9, &be_const_str_TASMOTACLIENT_TXD); +be_define_const_str(TASMOTACLIENT_TXD, "TASMOTACLIENT_TXD", 1386193940u, 0, 17, &be_const_str_add); +be_define_const_str(add, "add", 993596020u, 0, 3, &be_const_str_super); +be_define_const_str(super, "super", 4152230356u, 0, 5, NULL); +be_define_const_str(pow, "pow", 1479764693u, 0, 3, NULL); +be_define_const_str(BACKLIGHT, "BACKLIGHT", 3147761926u, 0, 9, &be_const_str_HRXL_RX); +be_define_const_str(HRXL_RX, "HRXL_RX", 92702006u, 0, 7, &be_const_str_MAX7219CLK); +be_define_const_str(MAX7219CLK, "MAX7219CLK", 963568838u, 0, 10, &be_const_str___lower__); +be_define_const_str(__lower__, "__lower__", 123855590u, 0, 9, NULL); +be_define_const_str(HRE_CLOCK, "HRE_CLOCK", 2870559111u, 0, 9, &be_const_str_KEY1); +be_define_const_str(KEY1, "KEY1", 6715975u, 0, 4, &be_const_str_PZEM016_RX); +be_define_const_str(PZEM016_RX, "PZEM016_RX", 1004012055u, 0, 10, &be_const_str_dump); +be_define_const_str(dump, "dump", 3663001223u, 0, 4, NULL); +be_define_const_str(DCKI, "DCKI", 3846847480u, 0, 4, &be_const_str_FALLING); +be_define_const_str(FALLING, "FALLING", 2851701064u, 0, 7, &be_const_str_fromstring); +be_define_const_str(fromstring, "fromstring", 610302344u, 0, 10, &be_const_str_break); +be_define_const_str(break, "break", 3378807160u, 58, 5, NULL); +be_define_const_str(MCP39F5_RX, "MCP39F5_RX", 190458217u, 0, 10, NULL); +be_define_const_str(INPUT, "INPUT", 1638025307u, 0, 5, &be_const_str_digital_write); +be_define_const_str(digital_write, "digital_write", 3435877979u, 0, 13, NULL); +be_define_const_str(remove, "remove", 3683784189u, 0, 6, NULL); +be_define_const_str(TM1638CLK, "TM1638CLK", 3045182446u, 0, 9, NULL); +be_define_const_str(opt_eq, "==", 2431966415u, 0, 2, &be_const_str_TFMINIPLUS_RX); +be_define_const_str(TFMINIPLUS_RX, "TFMINIPLUS_RX", 1522203935u, 0, 13, &be_const_str_TUYA_RX); +be_define_const_str(TUYA_RX, "TUYA_RX", 1609397679u, 0, 7, NULL); static const bstring* const m_string_table[] = { - (const bstring *)&be_const_str_remove, - (const bstring *)&be_const_str_opt_connect, - (const bstring *)&be_const_str_toupper, + (const bstring *)&be_const_str_ADC_TEMP, + (const bstring *)&be_const_str_AS3935, + (const bstring *)&be_const_str_PMS5003_RX, + (const bstring *)&be_const_str_RC522_RST, + (const bstring *)&be_const_str_MCP39F5_RST, + (const bstring *)&be_const_str_TELEINFO_ENABLE, + (const bstring *)&be_const_str_INPUT_PULLUP, + (const bstring *)&be_const_str_ADC_RANGE, + (const bstring *)&be_const_str_ZIGBEE_TX, + (const bstring *)&be_const_str_SDM120_RX, NULL, - (const bstring *)&be_const_str_map, - (const bstring *)&be_const_str_bytes, + (const bstring *)&be_const_str_ARIRFSEL, + (const bstring *)&be_const_str_RDM6300_RX, (const bstring *)&be_const_str_real, - (const bstring *)&be_const_str_count, - (const bstring *)&be_const_str_format, - (const bstring *)&be_const_str_load, - (const bstring *)&be_const_str_char, - (const bstring *)&be_const_str_acos, - (const bstring *)&be_const_str_fromstring, - (const bstring *)&be_const_str_opt_eq, - (const bstring *)&be_const_str_find, - (const bstring *)&be_const_str_opt_add, - NULL, - (const bstring *)&be_const_str_deg, - (const bstring *)&be_const_str_allocated, - (const bstring *)&be_const_str_reverse, - (const bstring *)&be_const_str_assert, - (const bstring *)&be_const_str_imax, - (const bstring *)&be_const_str_opt_neq, - (const bstring *)&be_const_str___upper__, - (const bstring *)&be_const_str_abs, - (const bstring *)&be_const_str_atan, - (const bstring *)&be_const_str_, - NULL, - (const bstring *)&be_const_str_exp, - (const bstring *)&be_const_str___iterator__, - (const bstring *)&be_const_str_ceil, - (const bstring *)&be_const_str_import, - (const bstring *)&be_const_str_size, - (const bstring *)&be_const_str_list, - (const bstring *)&be_const_str_insert, - (const bstring *)&be_const_str_issubclass, - (const bstring *)&be_const_str_classof, - (const bstring *)&be_const_str_end, - (const bstring *)&be_const_str_clear, - (const bstring *)&be_const_str_open, - (const bstring *)&be_const_str_add, (const bstring *)&be_const_str_int, - (const bstring *)&be_const_str_item, - (const bstring *)&be_const_str_concat, - (const bstring *)&be_const_str_continue, - (const bstring *)&be_const_str_else, - (const bstring *)&be_const_str_cos + (const bstring *)&be_const_str_HALLEFFECT, + (const bstring *)&be_const_str_AS608_RX, + (const bstring *)&be_const_str_DHT11, + (const bstring *)&be_const_str_isinstance, + (const bstring *)&be_const_str_opt_neq, + (const bstring *)&be_const_str_bytes, + (const bstring *)&be_const_str_CNTR1, + (const bstring *)&be_const_str_AS608_TX, + (const bstring *)&be_const_str_ADC_CT_POWER, + (const bstring *)&be_const_str_deinit, + (const bstring *)&be_const_str_ILI9488_CS, + (const bstring *)&be_const_str_NRF24_CS, + (const bstring *)&be_const_str_EPAPER42_CS, + (const bstring *)&be_const_str_WIEGAND_D1, + (const bstring *)&be_const_str_DYP_RX, + (const bstring *)&be_const_str_ADC_LIGHT, + (const bstring *)&be_const_str_BUZZER_INV, + (const bstring *)&be_const_str_ETH_PHY_MDIO, + (const bstring *)&be_const_str_WE517_TX, + (const bstring *)&be_const_str_classof, + (const bstring *)&be_const_str_AZ_RXD, + (const bstring *)&be_const_str_copy, + (const bstring *)&be_const_str_AZ_TXD, + (const bstring *)&be_const_str_CSE7761_TX, + NULL, + (const bstring *)&be_const_str_BS814_CLK, + (const bstring *)&be_const_str_EXS_ENABLE, + (const bstring *)&be_const_str_HX711_DAT, + (const bstring *)&be_const_str_BUZZER, + (const bstring *)&be_const_str_ARIRFRCV, + NULL, + (const bstring *)&be_const_str_calldepth, + (const bstring *)&be_const_str_MAX31855CLK, + (const bstring *)&be_const_str_log10, + (const bstring *)&be_const_str_LED1, + NULL, + (const bstring *)&be_const_str_A4988_DIR, + (const bstring *)&be_const_str_PN532_TXD, + (const bstring *)&be_const_str_TM1637DIO, + (const bstring *)&be_const_str_PWM1_INV, + (const bstring *)&be_const_str_ROT1A_NP, + (const bstring *)&be_const_str_SSD1331_CS, + (const bstring *)&be_const_str_LE01MR_RX, + (const bstring *)&be_const_str_A4988_ENA, + (const bstring *)&be_const_str_BL0940_RX, + (const bstring *)&be_const_str_top, + (const bstring *)&be_const_str_BS814_DAT, + (const bstring *)&be_const_str_SM2135_DAT, + (const bstring *)&be_const_str_acos, + (const bstring *)&be_const_str_OPTION_A, + (const bstring *)&be_const_str_tolower, + (const bstring *)&be_const_str_pi, + (const bstring *)&be_const_str_SDCARD_CS, + (const bstring *)&be_const_str_count, + (const bstring *)&be_const_str_, + (const bstring *)&be_const_str_DSB, + (const bstring *)&be_const_str___iterator__, + (const bstring *)&be_const_str_GPS_TX, + (const bstring *)&be_const_str_WEBCAM_PCLK, + (const bstring *)&be_const_str_PROJECTOR_CTRL_TX, + (const bstring *)&be_const_str_MGC3130_XFER, + (const bstring *)&be_const_str_RA8876_CS, + (const bstring *)&be_const_str_char, + (const bstring *)&be_const_str_ADC_BUTTON_INV, + (const bstring *)&be_const_str_INPUT_PULLDOWN, + (const bstring *)&be_const_str_MAX31855DO, + (const bstring *)&be_const_str_SSD1351_DC, + NULL, + (const bstring *)&be_const_str_elif, + (const bstring *)&be_const_str_ROT1A, + (const bstring *)&be_const_str_WEBCAM_DATA, + (const bstring *)&be_const_str_IRRECV, + NULL, + (const bstring *)&be_const_str_OUTPUT_LO, + NULL, + (const bstring *)&be_const_str_SPI_MISO, + NULL, + (const bstring *)&be_const_str_ADC_JOY, + (const bstring *)&be_const_str_ETH_PHY_MDC, + (const bstring *)&be_const_str_TASMOTACLIENT_RXD, + (const bstring *)&be_const_str_MHZ_RXD, + (const bstring *)&be_const_str_DDSU666_RX, + (const bstring *)&be_const_str_collect, + (const bstring *)&be_const_str_ADC_BUTTON, + (const bstring *)&be_const_str_A4988_MS1, + (const bstring *)&be_const_str_RF_SENSOR, + (const bstring *)&be_const_str_CSE7766_TX, + (const bstring *)&be_const_str_SPI_CLK, + (const bstring *)&be_const_str_HJL_CF, + (const bstring *)&be_const_str_SOLAXX1_TX, + (const bstring *)&be_const_str_CC1101_GDO2, + NULL, + (const bstring *)&be_const_str_SM16716_CLK, + (const bstring *)&be_const_str_HX711_SCK, + (const bstring *)&be_const_str_ROT1B, + (const bstring *)&be_const_str_DHT11_OUT, + (const bstring *)&be_const_str_LE01MR_TX, + (const bstring *)&be_const_str_IRSEND, + (const bstring *)&be_const_str_A4988_STP, + NULL, + NULL, + NULL, + NULL, + (const bstring *)&be_const_str_SPI_MOSI, + (const bstring *)&be_const_str_OLED_RESET, + (const bstring *)&be_const_str_SSPI_DC, + (const bstring *)&be_const_str_SAIR_RX, + (const bstring *)&be_const_str_EPAPER29_CS, + (const bstring *)&be_const_str_NONE, + (const bstring *)&be_const_str_classname, + (const bstring *)&be_const_str_LEDLNK_INV, + (const bstring *)&be_const_str_ETH_PHY_POWER, + (const bstring *)&be_const_str_MAX31855CS, + (const bstring *)&be_const_str_str, + (const bstring *)&be_const_str_SENSOR_END, + (const bstring *)&be_const_str_clear, + NULL, + (const bstring *)&be_const_str_OUTPUT, + (const bstring *)&be_const_str_SDM72_TX, + (const bstring *)&be_const_str_MIEL_HVAC_TX, + (const bstring *)&be_const_str_VL53L0X_XSHUT1, + (const bstring *)&be_const_str_PZEM0XX_TX, + NULL, + (const bstring *)&be_const_str_SSPI_SCLK, + (const bstring *)&be_const_str_HRE_DATA, + (const bstring *)&be_const_str_PROJECTOR_CTRL_RX, + (const bstring *)&be_const_str_DSB_OUT, + (const bstring *)&be_const_str_ADC_INPUT, + (const bstring *)&be_const_str_TCP_RX, + (const bstring *)&be_const_str_CNTR1_NP, + (const bstring *)&be_const_str_BOILER_OT_RX, + (const bstring *)&be_const_str_allocated, + (const bstring *)&be_const_str_CC1101_GDO0, + (const bstring *)&be_const_str_SHELLY_DIMMER_BOOT0, + (const bstring *)&be_const_str_NRG_CF1, + (const bstring *)&be_const_str_DDSU666_TX, + NULL, + NULL, + (const bstring *)&be_const_str_RXD, + (const bstring *)&be_const_str_opt_add, + (const bstring *)&be_const_str_WEBCAM_SIOC, + (const bstring *)&be_const_str_OUTPUT_OPEN_DRAIN, + (const bstring *)&be_const_str_opt_connect, + (const bstring *)&be_const_str_PN532_RXD, + (const bstring *)&be_const_str_DHT22, + (const bstring *)&be_const_str_OPEN_DRAIN, + (const bstring *)&be_const_str_MGC3130_RESET, + (const bstring *)&be_const_str_ADE7953_IRQ, + (const bstring *)&be_const_str_KEY1_INV, + (const bstring *)&be_const_str_HM10_TX, + (const bstring *)&be_const_str_pow, + (const bstring *)&be_const_str_BACKLIGHT, + (const bstring *)&be_const_str_HRE_CLOCK, + (const bstring *)&be_const_str_DCKI, + (const bstring *)&be_const_str_MCP39F5_RX, + NULL, + (const bstring *)&be_const_str_INPUT, + NULL, + (const bstring *)&be_const_str_remove, + (const bstring *)&be_const_str_TM1638CLK, + (const bstring *)&be_const_str_opt_eq }; static const struct bconststrtab m_const_string_table = { - .size = 47, - .count = 95, + .size = 176, + .count = 352, .table = m_string_table }; diff --git a/lib/libesp32/Berry-0.1.10/generate/be_fixed_gpio.h b/lib/libesp32/Berry-0.1.10/generate/be_fixed_gpio.h new file mode 100644 index 000000000..174f68c5a --- /dev/null +++ b/lib/libesp32/Berry-0.1.10/generate/be_fixed_gpio.h @@ -0,0 +1,273 @@ +#include "be_constobj.h" + +static be_define_const_map_slots(m_libgpio_map) { + { be_const_key(HALLEFFECT, -1), be_const_int(237) }, + { be_const_key(PULLDOWN, -1), be_const_int(8) }, + { be_const_key(RXD, -1), be_const_int(101) }, + { be_const_key(ETH_PHY_POWER, -1), be_const_int(173) }, + { be_const_key(digital_write, -1), be_const_func(gp_digital_write) }, + { be_const_key(A4988_ENA, -1), be_const_int(118) }, + { be_const_key(ST7789_CS, 12), be_const_int(206) }, + { be_const_key(FALLING, -1), be_const_int(2) }, + { be_const_key(WIEGAND_D1, -1), be_const_int(217) }, + { be_const_key(I2C_SCL, -1), be_const_int(19) }, + { be_const_key(PZEM0XX_TX, -1), be_const_int(46) }, + { be_const_key(KEY1_INV_NP, -1), be_const_int(4) }, + { be_const_key(WEBCAM_HREF, -1), be_const_int(161) }, + { be_const_key(ROT1A_NP, -1), be_const_int(211) }, + { be_const_key(SOLAXX1_TX, 10), be_const_int(109) }, + { be_const_key(KEY1_TC, 169), be_const_int(169) }, + { be_const_key(DDSU666_RX, -1), be_const_int(125) }, + { be_const_key(NRG_SEL, -1), be_const_int(81) }, + { be_const_key(DCKI, 71), be_const_int(95) }, + { be_const_key(NRF24_CS, -1), be_const_int(197) }, + { be_const_key(PWM1_INV, -1), be_const_int(14) }, + { be_const_key(TM1637DIO, 199), be_const_int(223) }, + { be_const_key(CC1101_GDO0, -1), be_const_int(142) }, + { be_const_key(MAX7219CLK, 87), be_const_int(231) }, + { be_const_key(ADC_JOY, -1), be_const_int(104) }, + { be_const_key(SSPI_CS, -1), be_const_int(29) }, + { be_const_key(OUTPUT_LO, -1), be_const_int(121) }, + { be_const_key(WEBCAM_VSYNC, 233), be_const_int(160) }, + { be_const_key(ZIGBEE_RX, -1), be_const_int(112) }, + { be_const_key(TASMOTACLIENT_RST, -1), be_const_int(132) }, + { be_const_key(SDM72_RX, -1), be_const_int(221) }, + { be_const_key(SSD1351_DC, -1), be_const_int(226) }, + { be_const_key(MHZ_TXD, -1), be_const_int(44) }, + { be_const_key(TFMINIPLUS_RX, -1), be_const_int(235) }, + { be_const_key(TM1637CLK, 18), be_const_int(222) }, + { be_const_key(PMS5003_RX, 250), be_const_int(53) }, + { be_const_key(ZEROCROSS, 111), be_const_int(236) }, + { be_const_key(TCP_RX, -1), be_const_int(172) }, + { be_const_key(SWT1_NP, -1), be_const_int(6) }, + { be_const_key(ADC_LIGHT, -1), be_const_int(149) }, + { be_const_key(SENSOR_END, -1), be_const_int(238) }, + { be_const_key(TM1638CLK, -1), be_const_int(64) }, + { be_const_key(SDM630_RX, -1), be_const_int(63) }, + { be_const_key(CSE7761_RX, -1), be_const_int(229) }, + { be_const_key(OUTPUT_OPEN_DRAIN, 30), be_const_int(18) }, + { be_const_key(SI7021, -1), be_const_int(39) }, + { be_const_key(LMT01, -1), be_const_int(178) }, + { be_const_key(RFRECV, -1), be_const_int(36) }, + { be_const_key(SSD1351_CS, -1), be_const_int(204) }, + { be_const_key(NRG_SEL_INV, -1), be_const_int(82) }, + { be_const_key(HRXL_RX, 38), be_const_int(144) }, + { be_const_key(KEY1, -1), be_const_int(1) }, + { be_const_key(SR04_TRIG, -1), be_const_int(58) }, + { be_const_key(SBR_TX, 183), be_const_int(56) }, + { be_const_key(PROJECTOR_CTRL_TX, 35), be_const_int(224) }, + { be_const_key(WEBCAM_XCLK, 167), be_const_int(156) }, + { be_const_key(SM2135_CLK, 205), be_const_int(126) }, + { be_const_key(HPMA_RX, 112), be_const_int(134) }, + { be_const_key(IRSEND, -1), be_const_int(33) }, + { be_const_key(NRG_CF1, -1), be_const_int(83) }, + { be_const_key(SPI_CLK, -1), be_const_int(23) }, + { be_const_key(CNTR1_NP, -1), be_const_int(12) }, + { be_const_key(ADE7953_IRQ, -1), be_const_int(108) }, + { be_const_key(MAX7219CS, -1), be_const_int(233) }, + { be_const_key(LEDLNK, 229), be_const_int(17) }, + { be_const_key(SHELLY_DIMMER_BOOT0, -1), be_const_int(189) }, + { be_const_key(WE517_TX, 82), be_const_int(185) }, + { be_const_key(SDM120_RX, -1), be_const_int(61) }, + { be_const_key(WEBCAM_PSRCS, -1), be_const_int(165) }, + { be_const_key(SDS0X1_TX, 81), be_const_int(54) }, + { be_const_key(A4988_MS1, 102), be_const_int(119) }, + { be_const_key(REL1, 89), be_const_int(7) }, + { be_const_key(OLED_RESET, -1), be_const_int(32) }, + { be_const_key(PROJECTOR_CTRL_RX, -1), be_const_int(225) }, + { be_const_key(ARIRFSEL, 59), be_const_int(99) }, + { be_const_key(SDM630_TX, 160), be_const_int(62) }, + { be_const_key(ZIGBEE_TX, -1), be_const_int(111) }, + { be_const_key(ARIRFRCV, 222), be_const_int(98) }, + { be_const_key(CSE7766_TX, 21), be_const_int(96) }, + { be_const_key(LED1_INV, 132), be_const_int(10) }, + { be_const_key(TASMOTACLIENT_RXD, -1), be_const_int(131) }, + { be_const_key(ETH_PHY_MDIO, -1), be_const_int(175) }, + { be_const_key(NEOPOOL_TX, -1), be_const_int(218) }, + { be_const_key(MAX7219DIN, -1), be_const_int(232) }, + { be_const_key(INPUT, -1), be_const_int(1) }, + { be_const_key(IEM3000_TX, 11), be_const_int(179) }, + { be_const_key(pin_used, 127), be_const_func(gp_pin_used) }, + { be_const_key(IBEACON_RX, 7), be_const_int(115) }, + { be_const_key(TCP_TX, 86), be_const_int(171) }, + { be_const_key(WS2812, -1), be_const_int(43) }, + { be_const_key(SM2135_DAT, 246), be_const_int(127) }, + { be_const_key(DDS2382_TX, -1), be_const_int(122) }, + { be_const_key(SDM120_TX, 52), be_const_int(60) }, + { be_const_key(WEBCAM_DATA, -1), be_const_int(159) }, + { be_const_key(PN532_RXD, -1), be_const_int(90) }, + { be_const_key(HX711_SCK, -1), be_const_int(68) }, + { be_const_key(pin, 68), be_const_func(gp_pin) }, + { be_const_key(HM10_RX, 245), be_const_int(138) }, + { be_const_key(DHT11_OUT, -1), be_const_int(40) }, + { be_const_key(IBEACON_TX, 103), be_const_int(114) }, + { be_const_key(GPS_TX, 239), be_const_int(137) }, + { be_const_key(WINDMETER_SPEED, 215), be_const_int(168) }, + { be_const_key(WIEGAND_D0, 231), be_const_int(216) }, + { be_const_key(REL1_INV, -1), be_const_int(8) }, + { be_const_key(RISING, -1), be_const_int(1) }, + { be_const_key(GPS_RX, -1), be_const_int(136) }, + { be_const_key(INPUT_PULLUP, -1), be_const_int(5) }, + { be_const_key(BOILER_OT_TX, -1), be_const_int(167) }, + { be_const_key(PN532_TXD, -1), be_const_int(89) }, + { be_const_key(AS608_TX, -1), be_const_int(187) }, + { be_const_key(VL53L0X_XSHUT1, -1), be_const_int(230) }, + { be_const_key(PULLUP, -1), be_const_int(4) }, + { be_const_key(BS814_CLK, 77), be_const_int(214) }, + { be_const_key(HJL_CF, -1), be_const_int(85) }, + { be_const_key(KEY1_INV, -1), be_const_int(3) }, + { be_const_key(OPTION_A, -1), be_const_int(194) }, + { be_const_key(OPEN_DRAIN, 210), be_const_int(16) }, + { be_const_key(SPI_DC, -1), be_const_int(25) }, + { be_const_key(TM1638DIO, 185), be_const_int(65) }, + { be_const_key(TASMOTACLIENT_RST_INV, 134), be_const_int(133) }, + { be_const_key(BUZZER_INV, -1), be_const_int(16) }, + { be_const_key(RC522_RST, -1), be_const_int(191) }, + { be_const_key(DYP_RX, -1), be_const_int(182) }, + { be_const_key(MCP39F5_TX, 57), be_const_int(86) }, + { be_const_key(IEM3000_RX, -1), be_const_int(180) }, + { be_const_key(SSD1331_CS, -1), be_const_int(208) }, + { be_const_key(HRE_DATA, 36), be_const_int(107) }, + { be_const_key(MIEL_HVAC_RX, -1), be_const_int(184) }, + { be_const_key(RA8876_CS, 176), be_const_int(205) }, + { be_const_key(OUTPUT_HI, 70), be_const_int(120) }, + { be_const_key(SPI_MISO, 27), be_const_int(21) }, + { be_const_key(WEBCAM_PCLK, 33), be_const_int(162) }, + { be_const_key(INPUT_PULLDOWN, 105), be_const_int(9) }, + { be_const_key(SPI_CS, 124), be_const_int(24) }, + { be_const_key(BS814_DAT, 218), be_const_int(215) }, + { be_const_key(ADC_BUTTON, -1), be_const_int(150) }, + { be_const_key(MAX31855CS, 110), be_const_int(78) }, + { be_const_key(BUZZER, -1), be_const_int(15) }, + { be_const_key(ZIGBEE_RST, -1), be_const_int(181) }, + { be_const_key(MGC3130_RESET, 63), be_const_int(74) }, + { be_const_key(ILI9341_DC, 53), be_const_int(200) }, + { be_const_key(ELECTRIQ_MOODL_TX, -1), be_const_int(145) }, + { be_const_key(MAX31855CLK, -1), be_const_int(79) }, + { be_const_key(AZ_TXD, 203), be_const_int(76) }, + { be_const_key(DEEPSLEEP, -1), be_const_int(128) }, + { be_const_key(SDS0X1_RX, 83), be_const_int(55) }, + { be_const_key(SSPI_MISO, -1), be_const_int(26) }, + { be_const_key(ST7789_DC, 48), be_const_int(207) }, + { be_const_key(ILI9488_CS, -1), be_const_int(201) }, + { be_const_key(HX711_DAT, -1), be_const_int(69) }, + { be_const_key(SM16716_SEL, -1), be_const_int(93) }, + { be_const_key(CNTR1, 224), be_const_int(11) }, + { be_const_key(ADC_BUTTON_INV, -1), be_const_int(151) }, + { be_const_key(NONE, 206), be_const_int(0) }, + { be_const_key(SDM72_TX, -1), be_const_int(220) }, + { be_const_key(BOILER_OT_RX, -1), be_const_int(166) }, + { be_const_key(BL0940_RX, 116), be_const_int(170) }, + { be_const_key(ROT1B, 148), be_const_int(103) }, + { be_const_key(AS608_RX, 104), be_const_int(188) }, + { be_const_key(LE01MR_TX, -1), be_const_int(141) }, + { be_const_key(FTC532, -1), be_const_int(195) }, + { be_const_key(WEBCAM_SIOD, 220), be_const_int(157) }, + { be_const_key(CSE7761_TX, 164), be_const_int(228) }, + { be_const_key(SSPI_SCLK, -1), be_const_int(28) }, + { be_const_key(DDSU666_TX, -1), be_const_int(124) }, + { be_const_key(ADC_RANGE, -1), be_const_int(152) }, + { be_const_key(SDCARD_CS, -1), be_const_int(210) }, + { be_const_key(CC1101_GDO2, 234), be_const_int(143) }, + { be_const_key(A4988_DIR, -1), be_const_int(116) }, + { be_const_key(DDS2382_RX, -1), be_const_int(123) }, + { be_const_key(PMS5003_TX, -1), be_const_int(52) }, + { be_const_key(SM16716_CLK, -1), be_const_int(91) }, + { be_const_key(ILI9341_CS, -1), be_const_int(199) }, + { be_const_key(KEY1_NP, 122), be_const_int(2) }, + { be_const_key(NRF24_DC, -1), be_const_int(198) }, + { be_const_key(SR04_ECHO, -1), be_const_int(59) }, + { be_const_key(A4988_STP, -1), be_const_int(117) }, + { be_const_key(ADC_TEMP, -1), be_const_int(148) }, + { be_const_key(PZEM016_RX, 247), be_const_int(48) }, + { be_const_key(NEOPOOL_RX, 5), be_const_int(219) }, + { be_const_key(MP3_DFR562, -1), be_const_int(67) }, + { be_const_key(HRE_CLOCK, -1), be_const_int(106) }, + { be_const_key(pin_mode, 152), be_const_func(gp_pin_mode) }, + { be_const_key(EXS_ENABLE, -1), be_const_int(129) }, + { be_const_key(TELEINFO_RX, 29), be_const_int(176) }, + { be_const_key(I2C_SDA, 253), be_const_int(20) }, + { be_const_key(DI, -1), be_const_int(94) }, + { be_const_key(LED1, -1), be_const_int(9) }, + { be_const_key(SBR_RX, -1), be_const_int(57) }, + { be_const_key(DHT11, 118), be_const_int(37) }, + { be_const_key(TASMOTACLIENT_TXD, -1), be_const_int(130) }, + { be_const_key(AS3935, 49), be_const_int(146) }, + { be_const_key(PWM1, 212), be_const_int(13) }, + { be_const_key(SWT1, -1), be_const_int(5) }, + { be_const_key(RF_SENSOR, -1), be_const_int(75) }, + { be_const_key(EPAPER29_CS, 154), be_const_int(202) }, + { be_const_key(WEBCAM_RESET, 153), be_const_int(155) }, + { be_const_key(TELEINFO_ENABLE, 3), be_const_int(177) }, + { be_const_key(HPMA_TX, 73), be_const_int(135) }, + { be_const_key(DHT22, -1), be_const_int(38) }, + { be_const_key(TUYA_RX, 72), be_const_int(72) }, + { be_const_key(PZEM017_RX, -1), be_const_int(49) }, + { be_const_key(LEDLNK_INV, -1), be_const_int(18) }, + { be_const_key(MCP39F5_RX, -1), be_const_int(87) }, + { be_const_key(SPI_MOSI, -1), be_const_int(22) }, + { be_const_key(digital_read, 61), be_const_func(gp_digital_read) }, + { be_const_key(HIGH, -1), be_const_int(1) }, + { be_const_key(LE01MR_RX, 230), be_const_int(140) }, + { be_const_key(XPT2046_CS, -1), be_const_int(227) }, + { be_const_key(SSPI_MOSI, -1), be_const_int(27) }, + { be_const_key(SSD1331_DC, -1), be_const_int(209) }, + { be_const_key(MAX31855DO, -1), be_const_int(80) }, + { be_const_key(WE517_RX, -1), be_const_int(186) }, + { be_const_key(MIEL_HVAC_TX, -1), be_const_int(183) }, + { be_const_key(LOW, 37), be_const_int(0) }, + { be_const_key(RFSEND, -1), be_const_int(35) }, + { be_const_key(SM16716_DAT, -1), be_const_int(92) }, + { be_const_key(RDM6300_RX, -1), be_const_int(113) }, + { be_const_key(ADC_CT_POWER, 209), be_const_int(153) }, + { be_const_key(AZ_RXD, 135), be_const_int(77) }, + { be_const_key(PZEM004_RX, -1), be_const_int(47) }, + { be_const_key(DSB_OUT, -1), be_const_int(42) }, + { be_const_key(ADC_INPUT, -1), be_const_int(147) }, + { be_const_key(SOLAXX1_RX, 67), be_const_int(110) }, + { be_const_key(P9813_CLK, -1), be_const_int(192) }, + { be_const_key(HLW_CF, 162), be_const_int(84) }, + { be_const_key(BACKLIGHT, 42), be_const_int(31) }, + { be_const_key(CHANGE, -1), be_const_int(4) }, + { be_const_key(TXD, -1), be_const_int(100) }, + { be_const_key(EPAPER42_CS, -1), be_const_int(203) }, + { be_const_key(TFMINIPLUS_TX, 244), be_const_int(234) }, + { be_const_key(OUTPUT, -1), be_const_int(2) }, + { be_const_key(MCP39F5_RST, 168), be_const_int(88) }, + { be_const_key(TM1638STB, -1), be_const_int(66) }, + { be_const_key(WEBCAM_HSD, -1), be_const_int(164) }, + { be_const_key(SAIR_TX, 56), be_const_int(50) }, + { be_const_key(ROT1A, -1), be_const_int(102) }, + { be_const_key(ROT1B_NP, -1), be_const_int(212) }, + { be_const_key(RC522_CS, -1), be_const_int(196) }, + { be_const_key(IRRECV, -1), be_const_int(34) }, + { be_const_key(CSE7766_RX, 41), be_const_int(97) }, + { be_const_key(HM10_TX, 8), be_const_int(139) }, + { be_const_key(ETH_PHY_MDC, -1), be_const_int(174) }, + { be_const_key(ADC_PH, -1), be_const_int(213) }, + { be_const_key(WEBCAM_SIOC, 242), be_const_int(158) }, + { be_const_key(SSPI_MAX31865_CS1, -1), be_const_int(105) }, + { be_const_key(WEBCAM_PSCLK, -1), be_const_int(163) }, + { be_const_key(P9813_DAT, -1), be_const_int(193) }, + { be_const_key(TUYA_TX, -1), be_const_int(71) }, + { be_const_key(WEBCAM_PWDN, -1), be_const_int(154) }, + { be_const_key(SAIR_RX, -1), be_const_int(51) }, + { be_const_key(SSPI_DC, -1), be_const_int(30) }, + { be_const_key(MHZ_RXD, 138), be_const_int(45) }, + { be_const_key(TX2X_TXD_BLACK, -1), be_const_int(70) }, + { be_const_key(MGC3130_XFER, 144), be_const_int(73) }, + { be_const_key(DSB, 94), be_const_int(41) }, + { be_const_key(SHELLY_DIMMER_RST_INV, -1), be_const_int(190) }, +}; + +static be_define_const_map( + m_libgpio_map, + 257 +); + +static be_define_const_module( + m_libgpio, + "gpio" +); + +BE_EXPORT_VARIABLE be_define_const_native_module(gpio, NULL); diff --git a/lib/libesp32/Berry-0.1.10/src/port/be_gpio_lib.c b/lib/libesp32/Berry-0.1.10/src/port/be_gpio_lib.c new file mode 100644 index 000000000..4f957778e --- /dev/null +++ b/lib/libesp32/Berry-0.1.10/src/port/be_gpio_lib.c @@ -0,0 +1,557 @@ +/******************************************************************** + * Tasmota lib + * + * To use: `import power` + * + * read power values + *******************************************************************/ +#include "be_object.h" + +// Tasmota specific + +extern int gp_pin_mode(bvm *vm); +extern int gp_digital_write(bvm *vm); +extern int gp_digital_read(bvm *vm); + +extern int gp_pin_used(bvm *vm); +extern int gp_pin(bvm *vm); + +#if !BE_USE_PRECOMPILED_OBJECT +// #if 1 // TODO we will do pre-compiled later +be_native_module_attr_table(gpio) { + // HIGH/LOW + be_native_module_int("LOW", 0), + be_native_module_int("HIGH", 1), + // GPIO states + be_native_module_int("INPUT", 1), + be_native_module_int("OUTPUT", 2), + be_native_module_int("PULLUP", 4), + be_native_module_int("INPUT_PULLUP", 5), + be_native_module_int("PULLDOWN", 8), + be_native_module_int("INPUT_PULLDOWN", 9), + be_native_module_int("OPEN_DRAIN", 16), + be_native_module_int("OUTPUT_OPEN_DRAIN", 18), + // Interrupt trigger + be_native_module_int("RISING", 1), + be_native_module_int("FALLING", 2), + be_native_module_int("CHANGE", 4), + // Tasmota GPIOs + be_native_module_int("NONE", 0), + be_native_module_int("KEY1", 1), + be_native_module_int("KEY1_NP", 2), + be_native_module_int("KEY1_INV", 3), + be_native_module_int("KEY1_INV_NP", 4), + be_native_module_int("SWT1", 5), + be_native_module_int("SWT1_NP", 6), + be_native_module_int("REL1", 7), + be_native_module_int("REL1_INV", 8), + be_native_module_int("LED1", 9), + be_native_module_int("LED1_INV", 10), + be_native_module_int("CNTR1", 11), + be_native_module_int("CNTR1_NP", 12), + be_native_module_int("PWM1", 13), + be_native_module_int("PWM1_INV", 14), + be_native_module_int("BUZZER", 15), + be_native_module_int("BUZZER_INV", 16), + be_native_module_int("LEDLNK", 17), + be_native_module_int("LEDLNK_INV", 18), + be_native_module_int("I2C_SCL", 19), + be_native_module_int("I2C_SDA", 20), + be_native_module_int("SPI_MISO", 21), + be_native_module_int("SPI_MOSI", 22), + be_native_module_int("SPI_CLK", 23), + be_native_module_int("SPI_CS", 24), + be_native_module_int("SPI_DC", 25), + be_native_module_int("SSPI_MISO", 26), + be_native_module_int("SSPI_MOSI", 27), + be_native_module_int("SSPI_SCLK", 28), + be_native_module_int("SSPI_CS", 29), + be_native_module_int("SSPI_DC", 30), + be_native_module_int("BACKLIGHT", 31), + be_native_module_int("OLED_RESET", 32), + be_native_module_int("IRSEND", 33), + be_native_module_int("IRRECV", 34), + be_native_module_int("RFSEND", 35), + be_native_module_int("RFRECV", 36), + be_native_module_int("DHT11", 37), + be_native_module_int("DHT22", 38), + be_native_module_int("SI7021", 39), + be_native_module_int("DHT11_OUT", 40), + be_native_module_int("DSB", 41), + be_native_module_int("DSB_OUT", 42), + be_native_module_int("WS2812", 43), + be_native_module_int("MHZ_TXD", 44), + be_native_module_int("MHZ_RXD", 45), + be_native_module_int("PZEM0XX_TX", 46), + be_native_module_int("PZEM004_RX", 47), + be_native_module_int("PZEM016_RX", 48), + be_native_module_int("PZEM017_RX", 49), + be_native_module_int("SAIR_TX", 50), + be_native_module_int("SAIR_RX", 51), + be_native_module_int("PMS5003_TX", 52), + be_native_module_int("PMS5003_RX", 53), + be_native_module_int("SDS0X1_TX", 54), + be_native_module_int("SDS0X1_RX", 55), + be_native_module_int("SBR_TX", 56), + be_native_module_int("SBR_RX", 57), + be_native_module_int("SR04_TRIG", 58), + be_native_module_int("SR04_ECHO", 59), + be_native_module_int("SDM120_TX", 60), + be_native_module_int("SDM120_RX", 61), + be_native_module_int("SDM630_TX", 62), + be_native_module_int("SDM630_RX", 63), + be_native_module_int("TM1638CLK", 64), + be_native_module_int("TM1638DIO", 65), + be_native_module_int("TM1638STB", 66), + be_native_module_int("MP3_DFR562", 67), + be_native_module_int("HX711_SCK", 68), + be_native_module_int("HX711_DAT", 69), + be_native_module_int("TX2X_TXD_BLACK", 70), + be_native_module_int("TUYA_TX", 71), + be_native_module_int("TUYA_RX", 72), + be_native_module_int("MGC3130_XFER", 73), + be_native_module_int("MGC3130_RESET", 74), + be_native_module_int("RF_SENSOR", 75), + be_native_module_int("AZ_TXD", 76), + be_native_module_int("AZ_RXD", 77), + be_native_module_int("MAX31855CS", 78), + be_native_module_int("MAX31855CLK", 79), + be_native_module_int("MAX31855DO", 80), + be_native_module_int("NRG_SEL", 81), + be_native_module_int("NRG_SEL_INV", 82), + be_native_module_int("NRG_CF1", 83), + be_native_module_int("HLW_CF", 84), + be_native_module_int("HJL_CF", 85), + be_native_module_int("MCP39F5_TX", 86), + be_native_module_int("MCP39F5_RX", 87), + be_native_module_int("MCP39F5_RST", 88), + be_native_module_int("PN532_TXD", 89), + be_native_module_int("PN532_RXD", 90), + be_native_module_int("SM16716_CLK", 91), + be_native_module_int("SM16716_DAT", 92), + be_native_module_int("SM16716_SEL", 93), + be_native_module_int("DI", 94), + be_native_module_int("DCKI", 95), + be_native_module_int("CSE7766_TX", 96), + be_native_module_int("CSE7766_RX", 97), + be_native_module_int("ARIRFRCV", 98), + be_native_module_int("ARIRFSEL", 99), + be_native_module_int("TXD", 100), + be_native_module_int("RXD", 101), + be_native_module_int("ROT1A", 102), + be_native_module_int("ROT1B", 103), + be_native_module_int("ADC_JOY", 104), + be_native_module_int("SSPI_MAX31865_CS1", 105), + be_native_module_int("HRE_CLOCK", 106), + be_native_module_int("HRE_DATA", 107), + be_native_module_int("ADE7953_IRQ", 108), + be_native_module_int("SOLAXX1_TX", 109), + be_native_module_int("SOLAXX1_RX", 110), + be_native_module_int("ZIGBEE_TX", 111), + be_native_module_int("ZIGBEE_RX", 112), + be_native_module_int("RDM6300_RX", 113), + be_native_module_int("IBEACON_TX", 114), + be_native_module_int("IBEACON_RX", 115), + be_native_module_int("A4988_DIR", 116), + be_native_module_int("A4988_STP", 117), + be_native_module_int("A4988_ENA", 118), + be_native_module_int("A4988_MS1", 119), + be_native_module_int("OUTPUT_HI", 120), + be_native_module_int("OUTPUT_LO", 121), + be_native_module_int("DDS2382_TX", 122), + be_native_module_int("DDS2382_RX", 123), + be_native_module_int("DDSU666_TX", 124), + be_native_module_int("DDSU666_RX", 125), + be_native_module_int("SM2135_CLK", 126), + be_native_module_int("SM2135_DAT", 127), + be_native_module_int("DEEPSLEEP", 128), + be_native_module_int("EXS_ENABLE", 129), + be_native_module_int("TASMOTACLIENT_TXD", 130), + be_native_module_int("TASMOTACLIENT_RXD", 131), + be_native_module_int("TASMOTACLIENT_RST", 132), + be_native_module_int("TASMOTACLIENT_RST_INV", 133), + be_native_module_int("HPMA_RX", 134), + be_native_module_int("HPMA_TX", 135), + be_native_module_int("GPS_RX", 136), + be_native_module_int("GPS_TX", 137), + be_native_module_int("HM10_RX", 138), + be_native_module_int("HM10_TX", 139), + be_native_module_int("LE01MR_RX", 140), + be_native_module_int("LE01MR_TX", 141), + be_native_module_int("CC1101_GDO0", 142), + be_native_module_int("CC1101_GDO2", 143), + be_native_module_int("HRXL_RX", 144), + be_native_module_int("ELECTRIQ_MOODL_TX", 145), + be_native_module_int("AS3935", 146), + be_native_module_int("ADC_INPUT", 147), + be_native_module_int("ADC_TEMP", 148), + be_native_module_int("ADC_LIGHT", 149), + be_native_module_int("ADC_BUTTON", 150), + be_native_module_int("ADC_BUTTON_INV", 151), + be_native_module_int("ADC_RANGE", 152), + be_native_module_int("ADC_CT_POWER", 153), + be_native_module_int("WEBCAM_PWDN", 154), + be_native_module_int("WEBCAM_RESET", 155), + be_native_module_int("WEBCAM_XCLK", 156), + be_native_module_int("WEBCAM_SIOD", 157), + be_native_module_int("WEBCAM_SIOC", 158), + be_native_module_int("WEBCAM_DATA", 159), + be_native_module_int("WEBCAM_VSYNC", 160), + be_native_module_int("WEBCAM_HREF", 161), + be_native_module_int("WEBCAM_PCLK", 162), + be_native_module_int("WEBCAM_PSCLK", 163), + be_native_module_int("WEBCAM_HSD", 164), + be_native_module_int("WEBCAM_PSRCS", 165), + be_native_module_int("BOILER_OT_RX", 166), + be_native_module_int("BOILER_OT_TX", 167), + be_native_module_int("WINDMETER_SPEED", 168), + be_native_module_int("KEY1_TC", 169), + be_native_module_int("BL0940_RX", 170), + be_native_module_int("TCP_TX", 171), + be_native_module_int("TCP_RX", 172), + be_native_module_int("ETH_PHY_POWER", 173), + be_native_module_int("ETH_PHY_MDC", 174), + be_native_module_int("ETH_PHY_MDIO", 175), + be_native_module_int("TELEINFO_RX", 176), + be_native_module_int("TELEINFO_ENABLE", 177), + be_native_module_int("LMT01", 178), + be_native_module_int("IEM3000_TX", 179), + be_native_module_int("IEM3000_RX", 180), + be_native_module_int("ZIGBEE_RST", 181), + be_native_module_int("DYP_RX", 182), + be_native_module_int("MIEL_HVAC_TX", 183), + be_native_module_int("MIEL_HVAC_RX", 184), + be_native_module_int("WE517_TX", 185), + be_native_module_int("WE517_RX", 186), + be_native_module_int("AS608_TX", 187), + be_native_module_int("AS608_RX", 188), + be_native_module_int("SHELLY_DIMMER_BOOT0", 189), + be_native_module_int("SHELLY_DIMMER_RST_INV", 190), + be_native_module_int("RC522_RST", 191), + be_native_module_int("P9813_CLK", 192), + be_native_module_int("P9813_DAT", 193), + be_native_module_int("OPTION_A", 194), + be_native_module_int("FTC532", 195), + be_native_module_int("RC522_CS", 196), + be_native_module_int("NRF24_CS", 197), + be_native_module_int("NRF24_DC", 198), + be_native_module_int("ILI9341_CS", 199), + be_native_module_int("ILI9341_DC", 200), + be_native_module_int("ILI9488_CS", 201), + be_native_module_int("EPAPER29_CS", 202), + be_native_module_int("EPAPER42_CS", 203), + be_native_module_int("SSD1351_CS", 204), + be_native_module_int("RA8876_CS", 205), + be_native_module_int("ST7789_CS", 206), + be_native_module_int("ST7789_DC", 207), + be_native_module_int("SSD1331_CS", 208), + be_native_module_int("SSD1331_DC", 209), + be_native_module_int("SDCARD_CS", 210), + be_native_module_int("ROT1A_NP", 211), + be_native_module_int("ROT1B_NP", 212), + be_native_module_int("ADC_PH", 213), + be_native_module_int("BS814_CLK", 214), + be_native_module_int("BS814_DAT", 215), + be_native_module_int("WIEGAND_D0", 216), + be_native_module_int("WIEGAND_D1", 217), + be_native_module_int("NEOPOOL_TX", 218), + be_native_module_int("NEOPOOL_RX", 219), + be_native_module_int("SDM72_TX", 220), + be_native_module_int("SDM72_RX", 221), + be_native_module_int("TM1637CLK", 222), + be_native_module_int("TM1637DIO", 223), + be_native_module_int("PROJECTOR_CTRL_TX", 224), + be_native_module_int("PROJECTOR_CTRL_RX", 225), + be_native_module_int("SSD1351_DC", 226), + be_native_module_int("XPT2046_CS", 227), + be_native_module_int("CSE7761_TX", 228), + be_native_module_int("CSE7761_RX", 229), + be_native_module_int("VL53L0X_XSHUT1", 230), + be_native_module_int("MAX7219CLK", 231), + be_native_module_int("MAX7219DIN", 232), + be_native_module_int("MAX7219CS", 233), + be_native_module_int("TFMINIPLUS_TX", 234), + be_native_module_int("TFMINIPLUS_RX", 235), + be_native_module_int("ZEROCROSS", 236), + be_native_module_int("HALLEFFECT", 237), + be_native_module_int("SENSOR_END", 238), + + be_native_module_function("pin_mode", gp_pin_mode), + be_native_module_function("digital_write", gp_digital_write), + be_native_module_function("digital_read", gp_digital_read), + + be_native_module_function("pin_used", gp_pin_used), + be_native_module_function("pin", gp_pin), + +}; + +be_define_native_module(gpio, NULL); +#else +/* @const_object_info_begin +module gpio (scope: global, depend: BE_USE_GPIO) { + LOW, int(0) + HIGH, int(1) + + INPUT, int(1) + OUTPUT, int(2) + PULLUP, int(4) + INPUT_PULLUP, int(5) + PULLDOWN, int(8) + INPUT_PULLDOWN, int(9) + OPEN_DRAIN, int(16) + OUTPUT_OPEN_DRAIN, int(18) + + RISING, int(1) + FALLING, int(2) + CHANGE, int(4) + + NONE, int(0) + KEY1, int(1) + KEY1_NP, int(2) + KEY1_INV, int(3) + KEY1_INV_NP, int(4) + SWT1, int(5) + SWT1_NP, int(6) + REL1, int(7) + REL1_INV, int(8) + LED1, int(9) + LED1_INV, int(10) + CNTR1, int(11) + CNTR1_NP, int(12) + PWM1, int(13) + PWM1_INV, int(14) + BUZZER, int(15) + BUZZER_INV, int(16) + LEDLNK, int(17) + LEDLNK_INV, int(18) + I2C_SCL, int(19) + I2C_SDA, int(20) + SPI_MISO, int(21) + SPI_MOSI, int(22) + SPI_CLK, int(23) + SPI_CS, int(24) + SPI_DC, int(25) + SSPI_MISO, int(26) + SSPI_MOSI, int(27) + SSPI_SCLK, int(28) + SSPI_CS, int(29) + SSPI_DC, int(30) + BACKLIGHT, int(31) + OLED_RESET, int(32) + IRSEND, int(33) + IRRECV, int(34) + RFSEND, int(35) + RFRECV, int(36) + DHT11, int(37) + DHT22, int(38) + SI7021, int(39) + DHT11_OUT, int(40) + DSB, int(41) + DSB_OUT, int(42) + WS2812, int(43) + MHZ_TXD, int(44) + MHZ_RXD, int(45) + PZEM0XX_TX, int(46) + PZEM004_RX, int(47) + PZEM016_RX, int(48) + PZEM017_RX, int(49) + SAIR_TX, int(50) + SAIR_RX, int(51) + PMS5003_TX, int(52) + PMS5003_RX, int(53) + SDS0X1_TX, int(54) + SDS0X1_RX, int(55) + SBR_TX, int(56) + SBR_RX, int(57) + SR04_TRIG, int(58) + SR04_ECHO, int(59) + SDM120_TX, int(60) + SDM120_RX, int(61) + SDM630_TX, int(62) + SDM630_RX, int(63) + TM1638CLK, int(64) + TM1638DIO, int(65) + TM1638STB, int(66) + MP3_DFR562, int(67) + HX711_SCK, int(68) + HX711_DAT, int(69) + TX2X_TXD_BLACK, int(70) + TUYA_TX, int(71) + TUYA_RX, int(72) + MGC3130_XFER, int(73) + MGC3130_RESET, int(74) + RF_SENSOR, int(75) + AZ_TXD, int(76) + AZ_RXD, int(77) + MAX31855CS, int(78) + MAX31855CLK, int(79) + MAX31855DO, int(80) + NRG_SEL, int(81) + NRG_SEL_INV, int(82) + NRG_CF1, int(83) + HLW_CF, int(84) + HJL_CF, int(85) + MCP39F5_TX, int(86) + MCP39F5_RX, int(87) + MCP39F5_RST, int(88) + PN532_TXD, int(89) + PN532_RXD, int(90) + SM16716_CLK, int(91) + SM16716_DAT, int(92) + SM16716_SEL, int(93) + DI, int(94) + DCKI, int(95) + CSE7766_TX, int(96) + CSE7766_RX, int(97) + ARIRFRCV, int(98) + ARIRFSEL, int(99) + TXD, int(100) + RXD, int(101) + ROT1A, int(102) + ROT1B, int(103) + ADC_JOY, int(104) + SSPI_MAX31865_CS1, int(105) + HRE_CLOCK, int(106) + HRE_DATA, int(107) + ADE7953_IRQ, int(108) + SOLAXX1_TX, int(109) + SOLAXX1_RX, int(110) + ZIGBEE_TX, int(111) + ZIGBEE_RX, int(112) + RDM6300_RX, int(113) + IBEACON_TX, int(114) + IBEACON_RX, int(115) + A4988_DIR, int(116) + A4988_STP, int(117) + A4988_ENA, int(118) + A4988_MS1, int(119) + OUTPUT_HI, int(120) + OUTPUT_LO, int(121) + DDS2382_TX, int(122) + DDS2382_RX, int(123) + DDSU666_TX, int(124) + DDSU666_RX, int(125) + SM2135_CLK, int(126) + SM2135_DAT, int(127) + DEEPSLEEP, int(128) + EXS_ENABLE, int(129) + TASMOTACLIENT_TXD, int(130) + TASMOTACLIENT_RXD, int(131) + TASMOTACLIENT_RST, int(132) + TASMOTACLIENT_RST_INV, int(133) + HPMA_RX, int(134) + HPMA_TX, int(135) + GPS_RX, int(136) + GPS_TX, int(137) + HM10_RX, int(138) + HM10_TX, int(139) + LE01MR_RX, int(140) + LE01MR_TX, int(141) + CC1101_GDO0, int(142) + CC1101_GDO2, int(143) + HRXL_RX, int(144) + ELECTRIQ_MOODL_TX, int(145) + AS3935, int(146) + ADC_INPUT, int(147) + ADC_TEMP, int(148) + ADC_LIGHT, int(149) + ADC_BUTTON, int(150) + ADC_BUTTON_INV, int(151) + ADC_RANGE, int(152) + ADC_CT_POWER, int(153) + WEBCAM_PWDN, int(154) + WEBCAM_RESET, int(155) + WEBCAM_XCLK, int(156) + WEBCAM_SIOD, int(157) + WEBCAM_SIOC, int(158) + WEBCAM_DATA, int(159) + WEBCAM_VSYNC, int(160) + WEBCAM_HREF, int(161) + WEBCAM_PCLK, int(162) + WEBCAM_PSCLK, int(163) + WEBCAM_HSD, int(164) + WEBCAM_PSRCS, int(165) + BOILER_OT_RX, int(166) + BOILER_OT_TX, int(167) + WINDMETER_SPEED, int(168) + KEY1_TC, int(169) + BL0940_RX, int(170) + TCP_TX, int(171) + TCP_RX, int(172) + ETH_PHY_POWER, int(173) + ETH_PHY_MDC, int(174) + ETH_PHY_MDIO, int(175) + TELEINFO_RX, int(176) + TELEINFO_ENABLE, int(177) + LMT01, int(178) + IEM3000_TX, int(179) + IEM3000_RX, int(180) + ZIGBEE_RST, int(181) + DYP_RX, int(182) + MIEL_HVAC_TX, int(183) + MIEL_HVAC_RX, int(184) + WE517_TX, int(185) + WE517_RX, int(186) + AS608_TX, int(187) + AS608_RX, int(188) + SHELLY_DIMMER_BOOT0, int(189) + SHELLY_DIMMER_RST_INV, int(190) + RC522_RST, int(191) + P9813_CLK, int(192) + P9813_DAT, int(193) + OPTION_A, int(194) + FTC532, int(195) + RC522_CS, int(196) + NRF24_CS, int(197) + NRF24_DC, int(198) + ILI9341_CS, int(199) + ILI9341_DC, int(200) + ILI9488_CS, int(201) + EPAPER29_CS, int(202) + EPAPER42_CS, int(203) + SSD1351_CS, int(204) + RA8876_CS, int(205) + ST7789_CS, int(206) + ST7789_DC, int(207) + SSD1331_CS, int(208) + SSD1331_DC, int(209) + SDCARD_CS, int(210) + ROT1A_NP, int(211) + ROT1B_NP, int(212) + ADC_PH, int(213) + BS814_CLK, int(214) + BS814_DAT, int(215) + WIEGAND_D0, int(216) + WIEGAND_D1, int(217) + NEOPOOL_TX, int(218) + NEOPOOL_RX, int(219) + SDM72_TX, int(220) + SDM72_RX, int(221) + TM1637CLK, int(222) + TM1637DIO, int(223) + PROJECTOR_CTRL_TX, int(224) + PROJECTOR_CTRL_RX, int(225) + SSD1351_DC, int(226) + XPT2046_CS, int(227) + CSE7761_TX, int(228) + CSE7761_RX, int(229) + VL53L0X_XSHUT1, int(230) + MAX7219CLK, int(231) + MAX7219DIN, int(232) + MAX7219CS, int(233) + TFMINIPLUS_TX, int(234) + TFMINIPLUS_RX, int(235) + ZEROCROSS, int(236) + HALLEFFECT, int(237) + SENSOR_END, int(238) + + pin_mode, func(gp_pin_mode) + digital_write, func(gp_digital_write) + digital_read, func(gp_digital_read) + + pin_used, func(gp_pin_used) + pin, func(gp_pin) +} +@const_object_info_end */ +#include "../generate/be_fixed_gpio.h" +#endif diff --git a/lib/libesp32/Berry-0.1.10/src/port/be_modtab.c b/lib/libesp32/Berry-0.1.10/src/port/be_modtab.c index e0a82d149..efdbafd6c 100644 --- a/lib/libesp32/Berry-0.1.10/src/port/be_modtab.c +++ b/lib/libesp32/Berry-0.1.10/src/port/be_modtab.c @@ -21,8 +21,7 @@ be_extern_native_module(gc); be_extern_native_module(solidify); /* Tasmota specific */ -// be_extern_native_module(tasmota_ntv); -be_extern_native_module(wire); +be_extern_native_module(gpio); be_extern_native_module(energy); /* user-defined modules declare start */ @@ -61,6 +60,7 @@ BERRY_LOCAL const bntvmodule* const be_module_table[] = { #endif /* user-defined modules register start */ + &be_native_module(gpio), &be_native_module(energy), /* user-defined modules register end */ diff --git a/lib/libesp32/Berry-0.1.10/src/port/berry_conf.h b/lib/libesp32/Berry-0.1.10/src/port/berry_conf.h index a9b78e817..fba29a196 100644 --- a/lib/libesp32/Berry-0.1.10/src/port/berry_conf.h +++ b/lib/libesp32/Berry-0.1.10/src/port/berry_conf.h @@ -157,6 +157,8 @@ #define BE_USE_GC_MODULE 1 #define BE_USE_SOLIDIFY_MODULE 1 +#define BE_USE_GPIO 1 + /* Macro: BE_EXPLICIT_XXX * If these macros are defined, the corresponding function will * use the version defined by these macros. These macro definitions diff --git a/lib/libesp32/Berry-0.1.10/src/port/gpio.txt b/lib/libesp32/Berry-0.1.10/src/port/gpio.txt new file mode 100644 index 000000000..ccece9c15 --- /dev/null +++ b/lib/libesp32/Berry-0.1.10/src/port/gpio.txt @@ -0,0 +1,239 @@ +GPIO_NONE 0 +GPIO_KEY1 1 +GPIO_KEY1_NP 2 +GPIO_KEY1_INV 3 +GPIO_KEY1_INV_NP 4 +GPIO_SWT1 5 +GPIO_SWT1_NP 6 +GPIO_REL1 7 +GPIO_REL1_INV 8 +GPIO_LED1 9 +GPIO_LED1_INV 10 +GPIO_CNTR1 11 +GPIO_CNTR1_NP 12 +GPIO_PWM1 13 +GPIO_PWM1_INV 14 +GPIO_BUZZER 15 +GPIO_BUZZER_INV 16 +GPIO_LEDLNK 17 +GPIO_LEDLNK_INV 18 +GPIO_I2C_SCL 19 +GPIO_I2C_SDA 20 +GPIO_SPI_MISO 21 +GPIO_SPI_MOSI 22 +GPIO_SPI_CLK 23 +GPIO_SPI_CS 24 +GPIO_SPI_DC 25 +GPIO_SSPI_MISO 26 +GPIO_SSPI_MOSI 27 +GPIO_SSPI_SCLK 28 +GPIO_SSPI_CS 29 +GPIO_SSPI_DC 30 +GPIO_BACKLIGHT 31 +GPIO_OLED_RESET 32 +GPIO_IRSEND 33 +GPIO_IRRECV 34 +GPIO_RFSEND 35 +GPIO_RFRECV 36 +GPIO_DHT11 37 +GPIO_DHT22 38 +GPIO_SI7021 39 +GPIO_DHT11_OUT 40 +GPIO_DSB 41 +GPIO_DSB_OUT 42 +GPIO_WS2812 43 +GPIO_MHZ_TXD 44 +GPIO_MHZ_RXD 45 +GPIO_PZEM0XX_TX 46 +GPIO_PZEM004_RX 47 +GPIO_PZEM016_RX 48 +GPIO_PZEM017_RX 49 +GPIO_SAIR_TX 50 +GPIO_SAIR_RX 51 +GPIO_PMS5003_TX 52 +GPIO_PMS5003_RX 53 +GPIO_SDS0X1_TX 54 +GPIO_SDS0X1_RX 55 +GPIO_SBR_TX 56 +GPIO_SBR_RX 57 +GPIO_SR04_TRIG 58 +GPIO_SR04_ECHO 59 +GPIO_SDM120_TX 60 +GPIO_SDM120_RX 61 +GPIO_SDM630_TX 62 +GPIO_SDM630_RX 63 +GPIO_TM1638CLK 64 +GPIO_TM1638DIO 65 +GPIO_TM1638STB 66 +GPIO_MP3_DFR562 67 +GPIO_HX711_SCK 68 +GPIO_HX711_DAT 69 +GPIO_TX2X_TXD_BLACK 70 +GPIO_TUYA_TX 71 +GPIO_TUYA_RX 72 +GPIO_MGC3130_XFER 73 +GPIO_MGC3130_RESET 74 +GPIO_RF_SENSOR 75 +GPIO_AZ_TXD 76 +GPIO_AZ_RXD 77 +GPIO_MAX31855CS 78 +GPIO_MAX31855CLK 79 +GPIO_MAX31855DO 80 +GPIO_NRG_SEL 81 +GPIO_NRG_SEL_INV 82 +GPIO_NRG_CF1 83 +GPIO_HLW_CF 84 +GPIO_HJL_CF 85 +GPIO_MCP39F5_TX 86 +GPIO_MCP39F5_RX 87 +GPIO_MCP39F5_RST 88 +GPIO_PN532_TXD 89 +GPIO_PN532_RXD 90 +GPIO_SM16716_CLK 91 +GPIO_SM16716_DAT 92 +GPIO_SM16716_SEL 93 +GPIO_DI 94 +GPIO_DCKI 95 +GPIO_CSE7766_TX 96 +GPIO_CSE7766_RX 97 +GPIO_ARIRFRCV 98 +GPIO_ARIRFSEL 99 +GPIO_TXD 100 +GPIO_RXD 101 +GPIO_ROT1A 102 +GPIO_ROT1B 103 +GPIO_ADC_JOY 104 +GPIO_SSPI_MAX31865_CS1 105 +GPIO_HRE_CLOCK 106 +GPIO_HRE_DATA 107 +GPIO_ADE7953_IRQ 108 +GPIO_SOLAXX1_TX 109 +GPIO_SOLAXX1_RX 110 +GPIO_ZIGBEE_TX 111 +GPIO_ZIGBEE_RX 112 +GPIO_RDM6300_RX 113 +GPIO_IBEACON_TX 114 +GPIO_IBEACON_RX 115 +GPIO_A4988_DIR 116 +GPIO_A4988_STP 117 +GPIO_A4988_ENA 118 +GPIO_A4988_MS1 119 +GPIO_OUTPUT_HI 120 +GPIO_OUTPUT_LO 121 +GPIO_DDS2382_TX 122 +GPIO_DDS2382_RX 123 +GPIO_DDSU666_TX 124 +GPIO_DDSU666_RX 125 +GPIO_SM2135_CLK 126 +GPIO_SM2135_DAT 127 +GPIO_DEEPSLEEP 128 +GPIO_EXS_ENABLE 129 +GPIO_TASMOTACLIENT_TXD 130 +GPIO_TASMOTACLIENT_RXD 131 +GPIO_TASMOTACLIENT_RST 132 +GPIO_TASMOTACLIENT_RST_INV 133 +GPIO_HPMA_RX 134 +GPIO_HPMA_TX 135 +GPIO_GPS_RX 136 +GPIO_GPS_TX 137 +GPIO_HM10_RX 138 +GPIO_HM10_TX 139 +GPIO_LE01MR_RX 140 +GPIO_LE01MR_TX 141 +GPIO_CC1101_GDO0 142 +GPIO_CC1101_GDO2 143 +GPIO_HRXL_RX 144 +GPIO_ELECTRIQ_MOODL_TX 145 +GPIO_AS3935 146 +GPIO_ADC_INPUT 147 +GPIO_ADC_TEMP 148 +GPIO_ADC_LIGHT 149 +GPIO_ADC_BUTTON 150 +GPIO_ADC_BUTTON_INV 151 +GPIO_ADC_RANGE 152 +GPIO_ADC_CT_POWER 153 +GPIO_WEBCAM_PWDN 154 +GPIO_WEBCAM_RESET 155 +GPIO_WEBCAM_XCLK 156 +GPIO_WEBCAM_SIOD 157 +GPIO_WEBCAM_SIOC 158 +GPIO_WEBCAM_DATA 159 +GPIO_WEBCAM_VSYNC 160 +GPIO_WEBCAM_HREF 161 +GPIO_WEBCAM_PCLK 162 +GPIO_WEBCAM_PSCLK 163 +GPIO_WEBCAM_HSD 164 +GPIO_WEBCAM_PSRCS 165 +GPIO_BOILER_OT_RX 166 +GPIO_BOILER_OT_TX 167 +GPIO_WINDMETER_SPEED 168 +GPIO_KEY1_TC 169 +GPIO_BL0940_RX 170 +GPIO_TCP_TX 171 +GPIO_TCP_RX 172 +GPIO_ETH_PHY_POWER 173 +GPIO_ETH_PHY_MDC 174 +GPIO_ETH_PHY_MDIO 175 +GPIO_TELEINFO_RX 176 +GPIO_TELEINFO_ENABLE 177 +GPIO_LMT01 178 +GPIO_IEM3000_TX 179 +GPIO_IEM3000_RX 180 +GPIO_ZIGBEE_RST 181 +GPIO_DYP_RX 182 +GPIO_MIEL_HVAC_TX 183 +GPIO_MIEL_HVAC_RX 184 +GPIO_WE517_TX 185 +GPIO_WE517_RX 186 +GPIO_AS608_TX 187 +GPIO_AS608_RX 188 +GPIO_SHELLY_DIMMER_BOOT0 189 +GPIO_SHELLY_DIMMER_RST_INV 190 +GPIO_RC522_RST 191 +GPIO_P9813_CLK 192 +GPIO_P9813_DAT 193 +GPIO_OPTION_A 194 +GPIO_FTC532 195 +GPIO_RC522_CS 196 +GPIO_NRF24_CS 197 +GPIO_NRF24_DC 198 +GPIO_ILI9341_CS 199 +GPIO_ILI9341_DC 200 +GPIO_ILI9488_CS 201 +GPIO_EPAPER29_CS 202 +GPIO_EPAPER42_CS 203 +GPIO_SSD1351_CS 204 +GPIO_RA8876_CS 205 +GPIO_ST7789_CS 206 +GPIO_ST7789_DC 207 +GPIO_SSD1331_CS 208 +GPIO_SSD1331_DC 209 +GPIO_SDCARD_CS 210 +GPIO_ROT1A_NP 211 +GPIO_ROT1B_NP 212 +GPIO_ADC_PH 213 +GPIO_BS814_CLK 214 +GPIO_BS814_DAT 215 +GPIO_WIEGAND_D0 216 +GPIO_WIEGAND_D1 217 +GPIO_NEOPOOL_TX 218 +GPIO_NEOPOOL_RX 219 +GPIO_SDM72_TX 220 +GPIO_SDM72_RX 221 +GPIO_TM1637CLK 222 +GPIO_TM1637DIO 223 +GPIO_PROJECTOR_CTRL_TX 224 +GPIO_PROJECTOR_CTRL_RX 225 +GPIO_SSD1351_DC 226 +GPIO_XPT2046_CS 227 +GPIO_CSE7761_TX 228 +GPIO_CSE7761_RX 229 +GPIO_VL53L0X_XSHUT1 230 +GPIO_MAX7219CLK 231 +GPIO_MAX7219DIN 232 +GPIO_MAX7219CS 233 +GPIO_TFMINIPLUS_TX 234 +GPIO_TFMINIPLUS_RX 235 +GPIO_ZEROCROSS 236 +GPIO_HALLEFFECT 237 +GPIO_SENSOR_END 238 \ No newline at end of file diff --git a/tasmota/berry/gpio.be b/tasmota/berry/gpio.be new file mode 100644 index 000000000..b286337e1 --- /dev/null +++ b/tasmota/berry/gpio.be @@ -0,0 +1,256 @@ +gpio = module('gpio') +#- HIGH/LOW -# +gpio.LOW = 0 +gpio.HIGH = 1 +#- GPIO states -# +gpio.INPUT = 1 +gpio.OUTPUT = 2 +gpio.PULLUP = 4 +gpio.INPUT_PULLUP = 5 +gpio.PULLDOWN = 8 +gpio.OPEN_DRAIN = 16 +gpio.OUTPUT_OPEN_DRAIN = 18 +#- Interrupt trigger -# +gpio.RISING = 1 +gpio.FALLING = 2 +gpio.CHANGE = 4 +#- Tasmota GPIOs -# +gpio.NONE = 0 +gpio.KEY1 = 1 +gpio.KEY1_NP = 2 +gpio.KEY1_INV = 3 +gpio.KEY1_INV_NP = 4 +gpio.SWT1 = 5 +gpio.SWT1_NP = 6 +gpio.REL1 = 7 +gpio.REL1_INV = 8 +gpio.LED1 = 9 +gpio.LED1_INV = 10 +gpio.CNTR1 = 11 +gpio.CNTR1_NP = 12 +gpio.PWM1 = 13 +gpio.PWM1_INV = 14 +gpio.BUZZER = 15 +gpio.BUZZER_INV = 16 +gpio.LEDLNK = 17 +gpio.LEDLNK_INV = 18 +gpio.I2C_SCL = 19 +gpio.I2C_SDA = 20 +gpio.SPI_MISO = 21 +gpio.SPI_MOSI = 22 +gpio.SPI_CLK = 23 +gpio.SPI_CS = 24 +gpio.SPI_DC = 25 +gpio.SSPI_MISO = 26 +gpio.SSPI_MOSI = 27 +gpio.SSPI_SCLK = 28 +gpio.SSPI_CS = 29 +gpio.SSPI_DC = 30 +gpio.BACKLIGHT = 31 +gpio.OLED_RESET = 32 +gpio.IRSEND = 33 +gpio.IRRECV = 34 +gpio.RFSEND = 35 +gpio.RFRECV = 36 +gpio.DHT11 = 37 +gpio.DHT22 = 38 +gpio.SI7021 = 39 +gpio.DHT11_OUT = 40 +gpio.DSB = 41 +gpio.DSB_OUT = 42 +gpio.WS2812 = 43 +gpio.MHZ_TXD = 44 +gpio.MHZ_RXD = 45 +gpio.PZEM0XX_TX = 46 +gpio.PZEM004_RX = 47 +gpio.PZEM016_RX = 48 +gpio.PZEM017_RX = 49 +gpio.SAIR_TX = 50 +gpio.SAIR_RX = 51 +gpio.PMS5003_TX = 52 +gpio.PMS5003_RX = 53 +gpio.SDS0X1_TX = 54 +gpio.SDS0X1_RX = 55 +gpio.SBR_TX = 56 +gpio.SBR_RX = 57 +gpio.SR04_TRIG = 58 +gpio.SR04_ECHO = 59 +gpio.SDM120_TX = 60 +gpio.SDM120_RX = 61 +gpio.SDM630_TX = 62 +gpio.SDM630_RX = 63 +gpio.TM1638CLK = 64 +gpio.TM1638DIO = 65 +gpio.TM1638STB = 66 +gpio.MP3_DFR562 = 67 +gpio.HX711_SCK = 68 +gpio.HX711_DAT = 69 +gpio.TX2X_TXD_BLACK = 70 +gpio.TUYA_TX = 71 +gpio.TUYA_RX = 72 +gpio.MGC3130_XFER = 73 +gpio.MGC3130_RESET = 74 +gpio.RF_SENSOR = 75 +gpio.AZ_TXD = 76 +gpio.AZ_RXD = 77 +gpio.MAX31855CS = 78 +gpio.MAX31855CLK = 79 +gpio.MAX31855DO = 80 +gpio.NRG_SEL = 81 +gpio.NRG_SEL_INV = 82 +gpio.NRG_CF1 = 83 +gpio.HLW_CF = 84 +gpio.HJL_CF = 85 +gpio.MCP39F5_TX = 86 +gpio.MCP39F5_RX = 87 +gpio.MCP39F5_RST = 88 +gpio.PN532_TXD = 89 +gpio.PN532_RXD = 90 +gpio.SM16716_CLK = 91 +gpio.SM16716_DAT = 92 +gpio.SM16716_SEL = 93 +gpio.DI = 94 +gpio.DCKI = 95 +gpio.CSE7766_TX = 96 +gpio.CSE7766_RX = 97 +gpio.ARIRFRCV = 98 +gpio.ARIRFSEL = 99 +gpio.TXD = 100 +gpio.RXD = 101 +gpio.ROT1A = 102 +gpio.ROT1B = 103 +gpio.ADC_JOY = 104 +gpio.SSPI_MAX31865_CS1 = 105 +gpio.HRE_CLOCK = 106 +gpio.HRE_DATA = 107 +gpio.ADE7953_IRQ = 108 +gpio.SOLAXX1_TX = 109 +gpio.SOLAXX1_RX = 110 +gpio.ZIGBEE_TX = 111 +gpio.ZIGBEE_RX = 112 +gpio.RDM6300_RX = 113 +gpio.IBEACON_TX = 114 +gpio.IBEACON_RX = 115 +gpio.A4988_DIR = 116 +gpio.A4988_STP = 117 +gpio.A4988_ENA = 118 +gpio.A4988_MS1 = 119 +gpio.OUTPUT_HI = 120 +gpio.OUTPUT_LO = 121 +gpio.DDS2382_TX = 122 +gpio.DDS2382_RX = 123 +gpio.DDSU666_TX = 124 +gpio.DDSU666_RX = 125 +gpio.SM2135_CLK = 126 +gpio.SM2135_DAT = 127 +gpio.DEEPSLEEP = 128 +gpio.EXS_ENABLE = 129 +gpio.TASMOTACLIENT_TXD = 130 +gpio.TASMOTACLIENT_RXD = 131 +gpio.TASMOTACLIENT_RST = 132 +gpio.TASMOTACLIENT_RST_INV = 133 +gpio.HPMA_RX = 134 +gpio.HPMA_TX = 135 +gpio.GPS_RX = 136 +gpio.GPS_TX = 137 +gpio.HM10_RX = 138 +gpio.HM10_TX = 139 +gpio.LE01MR_RX = 140 +gpio.LE01MR_TX = 141 +gpio.CC1101_GDO0 = 142 +gpio.CC1101_GDO2 = 143 +gpio.HRXL_RX = 144 +gpio.ELECTRIQ_MOODL_TX = 145 +gpio.AS3935 = 146 +gpio.ADC_INPUT = 147 +gpio.ADC_TEMP = 148 +gpio.ADC_LIGHT = 149 +gpio.ADC_BUTTON = 150 +gpio.ADC_BUTTON_INV = 151 +gpio.ADC_RANGE = 152 +gpio.ADC_CT_POWER = 153 +gpio.WEBCAM_PWDN = 154 +gpio.WEBCAM_RESET = 155 +gpio.WEBCAM_XCLK = 156 +gpio.WEBCAM_SIOD = 157 +gpio.WEBCAM_SIOC = 158 +gpio.WEBCAM_DATA = 159 +gpio.WEBCAM_VSYNC = 160 +gpio.WEBCAM_HREF = 161 +gpio.WEBCAM_PCLK = 162 +gpio.WEBCAM_PSCLK = 163 +gpio.WEBCAM_HSD = 164 +gpio.WEBCAM_PSRCS = 165 +gpio.BOILER_OT_RX = 166 +gpio.BOILER_OT_TX = 167 +gpio.WINDMETER_SPEED = 168 +gpio.KEY1_TC = 169 +gpio.BL0940_RX = 170 +gpio.TCP_TX = 171 +gpio.TCP_RX = 172 +gpio.ETH_PHY_POWER = 173 +gpio.ETH_PHY_MDC = 174 +gpio.ETH_PHY_MDIO = 175 +gpio.TELEINFO_RX = 176 +gpio.TELEINFO_ENABLE = 177 +gpio.LMT01 = 178 +gpio.IEM3000_TX = 179 +gpio.IEM3000_RX = 180 +gpio.ZIGBEE_RST = 181 +gpio.DYP_RX = 182 +gpio.MIEL_HVAC_TX = 183 +gpio.MIEL_HVAC_RX = 184 +gpio.WE517_TX = 185 +gpio.WE517_RX = 186 +gpio.AS608_TX = 187 +gpio.AS608_RX = 188 +gpio.SHELLY_DIMMER_BOOT0 = 189 +gpio.SHELLY_DIMMER_RST_INV = 190 +gpio.RC522_RST = 191 +gpio.P9813_CLK = 192 +gpio.P9813_DAT = 193 +gpio.OPTION_A = 194 +gpio.FTC532 = 195 +gpio.RC522_CS = 196 +gpio.NRF24_CS = 197 +gpio.NRF24_DC = 198 +gpio.ILI9341_CS = 199 +gpio.ILI9341_DC = 200 +gpio.ILI9488_CS = 201 +gpio.EPAPER29_CS = 202 +gpio.EPAPER42_CS = 203 +gpio.SSD1351_CS = 204 +gpio.RA8876_CS = 205 +gpio.ST7789_CS = 206 +gpio.ST7789_DC = 207 +gpio.SSD1331_CS = 208 +gpio.SSD1331_DC = 209 +gpio.SDCARD_CS = 210 +gpio.ROT1A_NP = 211 +gpio.ROT1B_NP = 212 +gpio.ADC_PH = 213 +gpio.BS814_CLK = 214 +gpio.BS814_DAT = 215 +gpio.WIEGAND_D0 = 216 +gpio.WIEGAND_D1 = 217 +gpio.NEOPOOL_TX = 218 +gpio.NEOPOOL_RX = 219 +gpio.SDM72_TX = 220 +gpio.SDM72_RX = 221 +gpio.TM1637CLK = 222 +gpio.TM1637DIO = 223 +gpio.PROJECTOR_CTRL_TX = 224 +gpio.PROJECTOR_CTRL_RX = 225 +gpio.SSD1351_DC = 226 +gpio.XPT2046_CS = 227 +gpio.CSE7761_TX = 228 +gpio.CSE7761_RX = 229 +gpio.VL53L0X_XSHUT1 = 230 +gpio.MAX7219CLK = 231 +gpio.MAX7219DIN = 232 +gpio.MAX7219CS = 233 +gpio.TFMINIPLUS_TX = 234 +gpio.TFMINIPLUS_RX = 235 +gpio.ZEROCROSS = 236 +gpio.HALLEFFECT = 237 +gpio.SENSOR_END = 238 \ No newline at end of file diff --git a/tasmota/xdrv_52_3_berry_gpio.ino b/tasmota/xdrv_52_3_berry_gpio.ino new file mode 100644 index 000000000..22ca59adc --- /dev/null +++ b/tasmota/xdrv_52_3_berry_gpio.ino @@ -0,0 +1,109 @@ +/* + xdrv_52_3_berry_native.ino - Berry scripting language, native fucnctions + + Copyright (C) 2021 Stephan Hadinger, Berry language by Guan Wenliang https://github.com/Skiars/berry + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + + +#ifdef USE_BERRY + +#include + + +/*********************************************************************************************\ + * Native functions mapped to Berry functions + * + * import gpio + * + * +\*********************************************************************************************/ +extern "C" { + + int gp_pin_mode(bvm *vm); + int gp_pin_mode(bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc == 2 && be_isint(vm, 1) && be_isint(vm, 2)) { + int32_t pin = be_toint(vm, 1); + int32_t mode = be_toint(vm, 2); + pinMode(pin, mode); + be_return_nil(vm); + } + be_raise(vm, kTypeError, nullptr); + } + + int gp_digital_write(bvm *vm); + int gp_digital_write(bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc == 2 && be_isint(vm, 1) && be_isint(vm, 2)) { + int32_t pin = be_toint(vm, 1); + int32_t val = be_toint(vm, 2); + digitalWrite(pin, val); + be_return_nil(vm); + } + be_raise(vm, kTypeError, nullptr); + } + + int gp_digital_read(bvm *vm); + int gp_digital_read(bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc == 1 && be_isint(vm, 1)) { + int32_t pin = be_toint(vm, 1); + int32_t ret = digitalRead(pin); + be_pushint(vm, ret); + be_return(vm); + } + be_raise(vm, kTypeError, nullptr); + } + +// Tasmota specific + + int gp_pin_used(bvm *vm); + int gp_pin_used(bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc >= 1 && argc <= 2 && be_isint(vm, 1)) { + int32_t pin = be_toint(vm, 1); + int32_t index = 0; + if (argc == 2 && be_isint(vm, 2)) { + index = be_toint(vm, 2); + } + bool ret = PinUsed(pin, index); + be_pushbool(vm, ret); + be_return(vm); + } + be_raise(vm, kTypeError, nullptr); + } + + int gp_pin(bvm *vm); + int gp_pin(bvm *vm) { + int32_t argc = be_top(vm); // Get the number of arguments + if (argc >= 1 && argc <= 2 && be_isint(vm, 1)) { + int32_t pin = be_toint(vm, 1); + int32_t index = 0; + if (argc == 2 && be_isint(vm, 2)) { + index = be_toint(vm, 2); + } + int32_t ret = Pin(pin, index); + be_pushint(vm, ret); + be_return(vm); + } + be_raise(vm, kTypeError, nullptr); + } + +} + + + +#endif // USE_BERRY diff --git a/tasmota/xdrv_52_7_berry_embedded.ino b/tasmota/xdrv_52_7_berry_embedded.ino index ba8e687d8..f3045f674 100644 --- a/tasmota/xdrv_52_7_berry_embedded.ino +++ b/tasmota/xdrv_52_7_berry_embedded.ino @@ -329,6 +329,8 @@ const char berry_prog[] = "tasmota.wire2 = Wire(2) " "wire1 = tasmota.wire1 " "wire2 = tasmota.wire2 " + // auto-import gpio + "import gpio " ; const char berry_autoexec[] =