Merge pull request #11568 from s-hadinger/berry_gpio

Berry add ``gpio`` module
This commit is contained in:
s-hadinger 2021-04-03 18:36:12 +02:00 committed by GitHub
commit d7018a9a42
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 2352 additions and 270 deletions

View File

@ -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

View File

@ -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;

View File

@ -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
};

View File

@ -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);

View File

@ -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

View File

@ -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 */

View File

@ -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

View File

@ -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

256
tasmota/berry/gpio.be Normal file
View File

@ -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

View File

@ -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 <http://www.gnu.org/licenses/>.
*/
#ifdef USE_BERRY
#include <berry.h>
/*********************************************************************************************\
* 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

View File

@ -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[] =