diff --git a/tasmota/berry/include/be_gpio_defines.h b/tasmota/berry/include/be_gpio_defines.h index c3b07a7fc..1fad4d944 100644 --- a/tasmota/berry/include/be_gpio_defines.h +++ b/tasmota/berry/include/be_gpio_defines.h @@ -255,7 +255,7 @@ const be_const_member_t lv_gpio_constants[] = { { "TX2X_TXD_BLACK", (int32_t) GPIO_TX2X_TXD_BLACK }, { "TXD", (int32_t) GPIO_TXD }, { "VINDRIKTNING_RX", (int32_t) GPIO_VINDRIKTNING_RX }, - { "VL53L0X_XSHUT1", (int32_t) GPIO_VL53L0X_XSHUT1 }, + { "VL53LXX_XSHUT1", (int32_t) GPIO_VL53LXX_XSHUT1 }, { "WE517_RX", (int32_t) GPIO_WE517_RX }, { "WE517_TX", (int32_t) GPIO_WE517_TX }, { "WEBCAM_DATA", (int32_t) GPIO_WEBCAM_DATA }, diff --git a/tasmota/berry/internal/gpio.be b/tasmota/berry/internal/gpio.be index a1816dfc7..5d9437d62 100644 --- a/tasmota/berry/internal/gpio.be +++ b/tasmota/berry/internal/gpio.be @@ -245,7 +245,7 @@ gpio.SSD1351_DC = 226 gpio.XPT2046_CS = 227 gpio.CSE7761_TX = 228 gpio.CSE7761_RX = 229 -gpio.VL53L0X_XSHUT1 = 230 +gpio.VL53LXX_XSHUT1 = 230 gpio.MAX7219CLK = 231 gpio.MAX7219DIN = 232 gpio.MAX7219CS = 233 diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index 09f891f72..805e4cd17 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index 75736d41d..979c82f53 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index 6e1764174..57d44d27f 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 30ffdf40e..765f2d93b 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Puls" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index ac6e65ae8..9e8dfc2a6 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 2ce63356d..8b0cc6ffa 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 76c2af828..1ef43e2d8 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "Cruce por cero" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index 55f8acd43..b405d1fbc 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool TX" #define D_SENSOR_NEOPOOL_RX "NeoPool RX" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/fy_NL.h b/tasmota/language/fy_NL.h index e63b292bd..b9df8e019 100644 --- a/tasmota/language/fy_NL.h +++ b/tasmota/language/fy_NL.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index 855a31aa2..947edd76a 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index 91c278ce4..b465f0e7d 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index a582b9e37..fd373066d 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand - D1" #define D_SENSOR_NEOPOOL_TX "NeoPool - TX" #define D_SENSOR_NEOPOOL_RX "NeoPool - RX" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ - TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ - RX" #define D_SENSOR_ZEROCROSS "Impulsi ZC" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index 3238fda0e..b97a9fa59 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index 93eec0a0c..32f6b81a4 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index f9df4d5da..ef579e94f 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index 59756bfe1..207412ee2 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index e8b0e1797..1376284ed 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index 7cdd4243f..8003940f0 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index bd5f301d6..503aeb0df 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 30123fd11..79a9eecc9 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index 727ec7a6d..ab4fea710 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index 331ab84ce..d822fe0de 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index ac14f8b10..c15933943 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index b403d5ff4..7a294db1c 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index 1f7e27e5a..ae140bc95 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 194f7d399..a7f1ec66f 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -838,7 +838,7 @@ #define D_SENSOR_WIEGAND_D1 "Wiegand D1" #define D_SENSOR_NEOPOOL_TX "NeoPool Tx" #define D_SENSOR_NEOPOOL_RX "NeoPool Rx" -#define D_SENSOR_VL53L0X_XSHUT "VL53L0X XSHUT" +#define D_SENSOR_VL53LXX_XSHUT "VL53LXX XSHUT" #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 36d53ae40..efe605e83 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -622,7 +622,10 @@ // #define USE_ADE7880 // [I2cDriver65] Enable ADE7880 Energy monitor as used on Shelly 3EM (I2C address 0x38) (+3k8) #define USE_ADE7953 // [I2cDriver7] Enable ADE7953 Energy monitor as used on Shelly 2.5 (I2C address 0x38) (+1k5) // #define USE_VL53L0X // [I2cDriver31] Enable VL53L0x time of flight sensor (I2C address 0x29) (+4k code) +// #define VL53L0X_XSHUT_ADDRESS 0x78 // VL53L0X base address when used with XSHUT control // #define USE_VL53L1X // [I2cDriver54] Enable VL53L1X time of flight sensor (I2C address 0x29) using Pololu VL53L1X library (+2k9 code) +// #define VL53L1X_XSHUT_ADDRESS 0x78 // VL53L1X base address when used with XSHUT control +// #define VL53L1X_DISTANCE_MODE Long // VL53L1X distance mode : Long | Medium | Short // #define USE_TOF10120 // [I2cDriver57] Enable TOF10120 time of flight sensor (I2C address 0x52) (+0k6 code) // #define USE_MLX90614 // [I2cDriver32] Enable MLX90614 ir temp sensor (I2C address 0x5a) (+0.6k code) // #define USE_CHIRP // [I2cDriver33] Enable CHIRP soil moisture sensor (variable I2C address, default 0x20) diff --git a/tasmota/tasmota.h b/tasmota/tasmota.h index 8650f9a42..f5a3f2aaf 100644 --- a/tasmota/tasmota.h +++ b/tasmota/tasmota.h @@ -94,7 +94,7 @@ const uint8_t MAX_SHUTTER_KEYS = 4; // Max number of shutter keys or but const uint8_t MAX_PCF8574 = 4; // Max number of PCF8574 devices const uint8_t MAX_RULE_SETS = 3; // Max number of rule sets of size 512 characters const uint16_t MAX_RULE_SIZE = 512; // Max number of characters in rules -const uint16_t VL53L0X_MAX_SENSORS = 8; // Max number of VL53L0X sensors +const uint16_t VL53LXX_MAX_SENSORS = 8; // Max number of VL53L0X sensors #ifdef ESP32 const uint8_t MAX_I2C = 2; // Max number of I2C controllers (ESP32 = 2) diff --git a/tasmota/tasmota_template.h b/tasmota/tasmota_template.h index 5fa49fc4d..93b5ba869 100644 --- a/tasmota/tasmota_template.h +++ b/tasmota/tasmota_template.h @@ -154,7 +154,7 @@ enum UserSelectablePins { GPIO_SSD1351_DC, GPIO_XPT2046_CS, // XPT2046 SPI Chip Select GPIO_CSE7761_TX, GPIO_CSE7761_RX, // CSE7761 Serial interface (Dual R3) - GPIO_VL53L0X_XSHUT1, // VL53L0X_XSHUT (the max number of sensors is VL53L0X_MAX_SENSORS)- Used when connecting multiple VL53L0X + GPIO_VL53LXX_XSHUT1, // VL53LXX_XSHUT (the max number of sensors is VL53LXX_MAX_SENSORS)- Used when connecting multiple VL53LXX GPIO_MAX7219CLK, GPIO_MAX7219DIN, GPIO_MAX7219CS, // MAX7219 interface GPIO_TFMINIPLUS_TX, GPIO_TFMINIPLUS_RX, // TFmini Plus ToF sensor GPIO_ZEROCROSS, @@ -378,7 +378,7 @@ const char kSensorNames[] PROGMEM = D_SENSOR_SSD1351_DC "|" D_SENSOR_XPT2046_CS "|" D_SENSOR_CSE7761_TX "|" D_SENSOR_CSE7761_RX "|" - D_SENSOR_VL53L0X_XSHUT "|" + D_SENSOR_VL53LXX_XSHUT "|" D_SENSOR_MAX7219_CLK "|" D_SENSOR_MAX7219_DIN "|" D_SENSOR_MAX7219_CS "|" D_SENSOR_TFMINIPLUS_TX "|" D_SENSOR_TFMINIPLUS_RX "|" D_SENSOR_ZEROCROSS "|" @@ -940,8 +940,8 @@ const uint16_t kGpioNiceList[] PROGMEM = { AGPIO(GPIO_PROJECTOR_CTRL_TX), // LCD/DLP Projector Serial Control AGPIO(GPIO_PROJECTOR_CTRL_RX), // LCD/DLP Projector Serial Control #endif -#ifdef USE_VL53L0X - AGPIO(GPIO_VL53L0X_XSHUT1) + VL53L0X_MAX_SENSORS, // When using multiple VL53L0X. +#if defined(USE_VL53L0X) or defined (USE_VL53L1X) + AGPIO(GPIO_VL53LXX_XSHUT1) + VL53LXX_MAX_SENSORS, // When using multiple VL53LXX. #endif #ifdef USE_DISPLAY_MAX7219 diff --git a/tasmota/xsns_45_vl53l0x.ino b/tasmota/xsns_45_vl53l0x.ino index 3996f1c8e..63b10b55c 100644 --- a/tasmota/xsns_45_vl53l0x.ino +++ b/tasmota/xsns_45_vl53l0x.ino @@ -24,24 +24,24 @@ * * I2C Addres: 0x29 ********************************************************************************************* - * + * * Note: When using multiple VL53L0X, it is required to also wire the XSHUT pin of all those sensors * in order to let Tasmota change by software the I2C address of those and give them an unique address * for operation. The sensor don't save its address, so this procedure of changing its address is needed * to be performed every restart. The Addresses used for this are 120 (0x78) to 127 (0x7F). In the I2c * Standard (https://i2cdevices.org/addresses) those addresses are used by the PCA9685, so take into * account they won't work together. - * - * The default value of VL53L0X_MAX_SENSORS is set in the file tasmota.h + * + * The default value of VL53LXX_MAX_SENSORS is set in the file tasmota.h * Changing that is backwards incompatible - Max supported devices by this driver are 8 - * + * ********************************************************************************************** * * How to install this sensor: https://www.st.com/resource/en/datasheet/vl53l0x.pdf - * + * * If you are going to use long I2C wires read this: * https://hackaday.com/2017/02/08/taking-the-leap-off-board-an-introduction-to-i2c-over-long-wires/ - * + * \*********************************************************************************************/ #define XSNS_45 45 @@ -69,69 +69,74 @@ #include #include "VL53L0X.h" -VL53L0X sensor[VL53L0X_MAX_SENSORS]; +#define VL53L0X_ADDRESS 0x29 +#ifndef VL53L0X_XSHUT_ADDRESS +#define VL53L0X_XSHUT_ADDRESS 0x78 +#endif + +VL53L0X VL53L0X_device[VL53LXX_MAX_SENSORS]; struct { uint16_t distance; uint16_t distance_prev; uint16_t buffer[5]; uint8_t ready = 0; uint8_t index; -} Vl53l0x[VL53L0X_MAX_SENSORS]; +} Vl53l0x_data[VL53LXX_MAX_SENSORS]; -bool xshut = false; +bool VL53L0X_xshut = false; bool VL53L0X_detected = false; /********************************************************************************************/ void Vl53l0Detect(void) { - for (uint32_t i = 0; i < VL53L0X_MAX_SENSORS; i++) { - if (PinUsed(GPIO_VL53L0X_XSHUT1, i)) { - pinMode(Pin(GPIO_VL53L0X_XSHUT1, i), OUTPUT); - digitalWrite(Pin(GPIO_VL53L0X_XSHUT1, i), i==0 ? 1 : 0); - xshut = true; + for (uint32_t i = 0; i < VL53LXX_MAX_SENSORS; i++) { + if (PinUsed(GPIO_VL53LXX_XSHUT1, i)) { + pinMode(Pin(GPIO_VL53LXX_XSHUT1, i), OUTPUT); + digitalWrite(Pin(GPIO_VL53LXX_XSHUT1, i), i==0 ? 1 : 0); + VL53L0X_xshut = true; } } - for (uint32_t i = 0; i < VL53L0X_MAX_SENSORS; i++) { - if (PinUsed(GPIO_VL53L0X_XSHUT1, i) || (!xshut)) { - if (xshut) { pinMode(Pin(GPIO_VL53L0X_XSHUT1, i), INPUT); delay(1); } - if (!I2cSetDevice(0x29) && !I2cSetDevice((uint8_t)(120+i))) { return; } // Detection for unconfigured OR configured sensor - if (sensor[i].init()) { - if (xshut) { sensor[i].setAddress((uint8_t)(120+i)); } - uint8_t addr = sensor[i].getAddress(); - if (xshut) { + for (uint32_t i = 0; i < VL53LXX_MAX_SENSORS; i++) { + if (PinUsed(GPIO_VL53LXX_XSHUT1, i) || (!VL53L0X_xshut)) { + if (VL53L0X_xshut) { pinMode(Pin(GPIO_VL53LXX_XSHUT1, i), INPUT); delay(1); } + if (!I2cSetDevice(VL53L0X_ADDRESS) && !I2cSetDevice((uint8_t)(VL53L0X_XSHUT_ADDRESS+i))) { return; } // Detection for unconfigured OR configured sensor + if (VL53L0X_device[i].init()) { + if (VL53L0X_xshut) { VL53L0X_device[i].setAddress((uint8_t)(VL53L0X_XSHUT_ADDRESS+i)); } + uint8_t addr = VL53L0X_device[i].getAddress(); + if (VL53L0X_xshut) { I2cSetActive(addr); AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_I2C D_SENSOR " VL53L0X %d " D_SENSOR_DETECTED " - " D_NEW_ADDRESS " 0x%02X"), i+1, addr); } else { I2cSetActiveFound(addr, "VL53L0X"); } - sensor[i].setTimeout(500); + VL53L0X_device[i].setTimeout(500); #if defined VL53L0X_LONG_RANGE // lower the return signal rate limit (default is 0.25 MCPS) - sensor[i].setSignalRateLimit(0.1); + VL53L0X_device[i].setSignalRateLimit(0.1); // increase laser pulse periods (defaults are 14 and 10 PCLKs) - sensor[i].setVcselPulsePeriod(VL53L0X::VcselPeriodPreRange, 18); - sensor[i].setVcselPulsePeriod(VL53L0X::VcselPeriodFinalRange, 14); + VL53L0X_device[i].setVcselPulsePeriod(VL53L0X::VcselPeriodPreRange, 18); + VL53L0X_device[i].setVcselPulsePeriod(VL53L0X::VcselPeriodFinalRange, 14); #endif #if defined VL53L0X_HIGH_SPEED // reduce timing budget to 20 ms (default is about 33 ms) - sensor[i].setMeasurementTimingBudget(20000); + VL53L0X_device[i].setMeasurementTimingBudget(20000); #elif defined VL53L0X_HIGH_ACCURACY // increase timing budget to 200 ms - sensor[i].setMeasurementTimingBudget(200000); + VL53L0X_device[i].setMeasurementTimingBudget(200000); #endif // Start continuous back-to-back mode (take readings as // fast as possible). To use continuous timed mode // instead, provide a desired inter-measurement period in // ms (e.g. sensor.startContinuous(100)). - sensor[i].startContinuous(); + VL53L0X_device[i].startContinuous(); - Vl53l0x[i].ready = 1; - Vl53l0x[i].index = 0; + Vl53l0x_data[i].ready = 1; + Vl53l0x_data[i].index = 0; VL53L0X_detected = true; - if (!xshut) { break; } + if (!VL53L0X_xshut) { break; } } else { AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_I2C D_SENSOR " VL53L0X %d - " D_FAILED_TO_START), i+1); } @@ -140,24 +145,24 @@ void Vl53l0Detect(void) { } void Vl53l0Every_250MSecond(void) { - for (uint32_t i = 0; i < VL53L0X_MAX_SENSORS; i++) { - if (PinUsed(GPIO_VL53L0X_XSHUT1, i) || (!xshut)) { - uint16_t dist = sensor[i].readRangeContinuousMillimeters(); + for (uint32_t i = 0; i < VL53LXX_MAX_SENSORS; i++) { + if (PinUsed(GPIO_VL53LXX_XSHUT1, i) || (!VL53L0X_xshut)) { + uint16_t dist = VL53L0X_device[i].readRangeContinuousMillimeters(); if ((0 == dist) || (dist > 2200)) { dist = 9999; } #ifdef USE_VL_MEDIAN // store in ring buffer - Vl53l0x[i].buffer[Vl53l0x[i].index] = dist; - Vl53l0x[i].index++; - if (Vl53l0x[i].index >= USE_VL_MEDIAN_SIZE) { - Vl53l0x[i].index = 0; + Vl53l0x_data[i].buffer[Vl53l0x_data[i].index] = dist; + Vl53l0x_data[i].index++; + if (Vl53l0x_data[i].index >= USE_VL_MEDIAN_SIZE) { + Vl53l0x_data[i].index = 0; } // sort list and take median uint16_t tbuff[USE_VL_MEDIAN_SIZE]; - memmove(tbuff, Vl53l0x[i].buffer, sizeof(tbuff)); + memmove(tbuff, Vl53l0x_data[i].buffer, sizeof(tbuff)); uint16_t tmp; uint8_t flag; for (uint32_t ocnt = 0; ocnt < USE_VL_MEDIAN_SIZE; ocnt++) { @@ -172,65 +177,65 @@ void Vl53l0Every_250MSecond(void) { } if (!flag) { break; } } - Vl53l0x[i].distance = tbuff[(USE_VL_MEDIAN_SIZE -1) / 2]; + Vl53l0x_data[i].distance = tbuff[(USE_VL_MEDIAN_SIZE -1) / 2]; #else - Vl53l0x[i].distance = dist; + Vl53l0x_data[i].distance = dist; #endif } - if (!xshut) { break; } + if (!VL53L0X_xshut) { break; } } } #ifdef USE_DOMOTICZ void Vl53l0Every_Second(void) { - if (abs(Vl53l0x[0].distance - Vl53l0x[0].distance_prev) > 8) { - Vl53l0x[0].distance_prev = Vl53l0x[0].distance; - DomoticzSensor(DZ_ILLUMINANCE, Vl53l0x[0].distance); + if (abs(Vl53l0x_data[0].distance - Vl53l0x_data[0].distance_prev) > 8) { + Vl53l0x_data[0].distance_prev = Vl53l0x_data[0].distance; + DomoticzSensor(DZ_ILLUMINANCE, Vl53l0x_data[0].distance); } } #endif // USE_DOMOTICZ void Vl53l0Show(boolean json) { - for (uint32_t i = 0; i < VL53L0X_MAX_SENSORS; i++) { - if (PinUsed(GPIO_VL53L0X_XSHUT1, i) || (!xshut)) { + for (uint32_t i = 0; i < VL53LXX_MAX_SENSORS; i++) { + if (PinUsed(GPIO_VL53LXX_XSHUT1, i) || (!VL53L0X_xshut)) { if (json) { - if (Vl53l0x[i].distance == 9999) { - if (xshut) { + if (Vl53l0x_data[i].distance == 9999) { + if (VL53L0X_xshut) { ResponseAppend_P(PSTR(",\"VL53L0X_%d\":{\"" D_JSON_DISTANCE "\":null}"), i+1); } else { ResponseAppend_P(PSTR(",\"VL53L0X\":{\"" D_JSON_DISTANCE "\":null}")); // For backwards compatibility when not using XSHUT GPIOs } } else { - if (xshut) { - ResponseAppend_P(PSTR(",\"VL53L0X_%d\":{\"" D_JSON_DISTANCE "\":%d}"), i+1, Vl53l0x[i].distance); + if (VL53L0X_xshut) { + ResponseAppend_P(PSTR(",\"VL53L0X_%d\":{\"" D_JSON_DISTANCE "\":%d}"), i+1, Vl53l0x_data[i].distance); } else { - ResponseAppend_P(PSTR(",\"VL53L0X\":{\"" D_JSON_DISTANCE "\":%d}"), Vl53l0x[i].distance); // For backwards compatibility when not using XSHUT GPIOs + ResponseAppend_P(PSTR(",\"VL53L0X\":{\"" D_JSON_DISTANCE "\":%d}"), Vl53l0x_data[i].distance); // For backwards compatibility when not using XSHUT GPIOs } } #ifdef USE_WEBSERVER } else { - if (Vl53l0x[i].distance == 9999) { - if (xshut) { + if (Vl53l0x_data[i].distance == 9999) { + if (VL53L0X_xshut) { WSContentSend_PD("{s}%s_%d " D_DISTANCE "{m}%s {e}", PSTR("VL53L0X"), i+1, PSTR(D_OUT_OF_RANGE)); } else { WSContentSend_PD("{s}%s " D_DISTANCE "{m}%s {e}", PSTR("VL53L0X"), PSTR(D_OUT_OF_RANGE)); // For backwards compatibility when not using XSHUT GPIOs } } else { - if (xshut) { - WSContentSend_PD("{s}%s_%d " D_DISTANCE "{m}%d " D_UNIT_MILLIMETER "{e}", PSTR("VL53L0X"), i+1, Vl53l0x[i].distance); + if (VL53L0X_xshut) { + WSContentSend_PD("{s}%s_%d " D_DISTANCE "{m}%d " D_UNIT_MILLIMETER "{e}", PSTR("VL53L0X"), i+1, Vl53l0x_data[i].distance); } else { - WSContentSend_PD(HTTP_SNS_DISTANCE, PSTR("VL53L0X"), Vl53l0x[i].distance); // For backwards compatibility when not using XSHUT GPIOs + WSContentSend_PD(HTTP_SNS_DISTANCE, PSTR("VL53L0X"), Vl53l0x_data[i].distance); // For backwards compatibility when not using XSHUT GPIOs } } #endif } } - if (sensor[i].timeoutOccurred()) { AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_I2C D_TIMEOUT_WAITING_FOR D_SENSOR " VL53L0X %d"), i+1); } - if (!xshut) { break; } + if (VL53L0X_device[i].timeoutOccurred()) { AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_I2C D_TIMEOUT_WAITING_FOR D_SENSOR " VL53L0X %d"), i+1); } + if (!VL53L0X_xshut) { break; } } #ifdef USE_DOMOTICZ if ((json) && (0 == TasmotaGlobal.tele_period)){ - DomoticzSensor(DZ_ILLUMINANCE, Vl53l0x[0].distance); + DomoticzSensor(DZ_ILLUMINANCE, Vl53l0x_data[0].distance); } #endif // USE_DOMOTICZ } diff --git a/tasmota/xsns_77_vl53l1x.ino b/tasmota/xsns_77_vl53l1x.ino index 76908ad6e..810eaa229 100644 --- a/tasmota/xsns_77_vl53l1x.ino +++ b/tasmota/xsns_77_vl53l1x.ino @@ -1,5 +1,5 @@ /* - xsns_77_vl53l1x.ino - VL53L1X sensor support for Tasmota + xsns_77_vl53l1x_device[0].ino - VL53L1X sensor support for Tasmota Copyright (C) 2021 Theo Arends, Rui Marinho and Johann Obermeier @@ -25,64 +25,142 @@ * Source: * * I2C Address: 0x29 + ********************************************************************************************* + * + * Note: When using multiple VL53L0X, it is required to also wire the XSHUT pin of all those sensors + * in order to let Tasmota change by software the I2C address of those and give them an unique address + * for operation. The sensor don't save its address, so this procedure of changing its address is needed + * to be performed every restart. The Addresses used for this are 120 (0x78) to 127 (0x7F). In the I2c + * Standard (https://i2cdevices.org/addresses) those addresses are used by the PCA9685. + * The base address (0x78) can be changed as a compile option with #define VL53L1X_XSHUT_ADDRESS 0xNN in + * your user_config_override.h + * + * The default value of VL53LXX_MAX_SENSORS is set in the file tasmota.h + * Changing that is backwards incompatible - Max supported devices by this driver are 8 + ********************************************************************************************* + * The following settings can be overriden + * + * \*********************************************************************************************/ #define XSNS_77 77 #define XI2C_54 54 // See I2CDEVICES.md #include "VL53L1X.h" -VL53L1X vl53l1x = VL53L1X(); // create object copy #define VL53L1X_ADDRESS 0x29 +#ifndef VL53L1X_XSHUT_ADDRESS +#define VL53L1X_XSHUT_ADDRESS 0x78 +#endif + +#ifndef VL53L1X_DISTANCE_MODE +#define VL53L1X_DISTANCE_MODE Long +#endif + +VL53L1X vl53l1x_device[VL53LXX_MAX_SENSORS]; struct { uint16_t distance = 0; - bool ready = false; -} vl53l1x_sensors; +} vl53l1x_data[VL53LXX_MAX_SENSORS]; + +uint8_t VL53L1X_xshut = 0; +uint8_t VL53L1X_detected = 0; /********************************************************************************************/ void Vl53l1Detect(void) { - if (!I2cSetDevice(VL53L1X_ADDRESS)) { return; } - if (!vl53l1x.init()) { return; } - I2cSetActiveFound(vl53l1x.getAddress(), "VL53L1X"); - vl53l1x.setTimeout(500); - vl53l1x.setDistanceMode(VL53L1X::Long); // could be Short, Medium, Long - vl53l1x.setMeasurementTimingBudget(140000); - vl53l1x.startContinuous(50); - vl53l1x_sensors.ready = true; + uint32_t i, xshut; + for (i = 0, xshut = 1 ; i < VL53LXX_MAX_SENSORS ; i++, xshut <<= 1) { + if (PinUsed(GPIO_VL53LXX_XSHUT1, i)) { + pinMode(Pin(GPIO_VL53LXX_XSHUT1, i), OUTPUT); + digitalWrite(Pin(GPIO_VL53LXX_XSHUT1, i), 0); + VL53L1X_xshut |= xshut; + } + } + + for (i = 0, xshut = 1 ; i < VL53LXX_MAX_SENSORS ; i++, xshut <<= 1) { + if (xshut & VL53L1X_xshut) { + digitalWrite(Pin(GPIO_VL53LXX_XSHUT1, i), 1); + delay(2); + } + if (!I2cSetDevice(VL53L1X_ADDRESS) && !I2cSetDevice((uint8_t)(VL53L1X_XSHUT_ADDRESS+i))) { continue; } // Detection for unconfigured OR configured sensor + if (vl53l1x_device[i].init()) { + if (VL53L1X_xshut) { + vl53l1x_device[i].setAddress((uint8_t)(VL53L1X_XSHUT_ADDRESS+i)); + } + uint8_t addr = vl53l1x_device[i].getAddress(); + vl53l1x_device[i].setTimeout(500); + vl53l1x_device[i].setDistanceMode(VL53L1X::VL53L1X_DISTANCE_MODE); // could be Short, Medium, Long + vl53l1x_device[i].setMeasurementTimingBudget(140000); + vl53l1x_device[i].startContinuous(50); + VL53L1X_detected |= xshut; + + if (VL53L1X_xshut) { + I2cSetActive(addr); + AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_I2C D_SENSOR " VL53L1X-%d " D_SENSOR_DETECTED " - " D_NEW_ADDRESS " 0x%02X"), i+1, addr); + } else { + I2cSetActiveFound(addr, "VL53L1X"); + } + } // if init + if (0 == VL53L1X_xshut) break; + } // for } void Vl53l1Every_250MSecond(void) { - uint16_t dist = vl53l1x.read(); - if (!dist || dist > 4000) { - dist = 9999; - } - vl53l1x_sensors.distance = dist; + uint32_t i, xshut; + for (i = 0, xshut = 1; i < VL53LXX_MAX_SENSORS; i++, xshut <<= 1) { + if (xshut & VL53L1X_detected) { + uint16_t dist = vl53l1x_device[i].read(); + if (!dist || dist > 4000) { + dist = 9999; + } + vl53l1x_data[i].distance = dist; + } // if detected + if (0 == VL53L1X_xshut) break; + } // for } #ifdef USE_DOMOTICZ void Vl53l1Every_Second(void) { char distance[FLOATSZ]; - dtostrfd((float)vl53l1x_sensors.distance / 10, 1, distance); + dtostrfd((float)vl53l1x_data[0].distance / 10, 1, distance); DomoticzSensor(DZ_ILLUMINANCE, distance); } #endif // USE_DOMOTICZ void Vl53l1Show(bool json) { - if (json) { - ResponseAppend_P(PSTR(",\"VL53L1X\":{\"" D_JSON_DISTANCE "\":%d}"), vl53l1x_sensors.distance); + uint32_t i, xshut; + for (i = 0, xshut = 1 ; i < VL53LXX_MAX_SENSORS ; i++, xshut <<= 1) { + if (xshut & VL53L1X_detected) { + if (json) { + if (0 == VL53L1X_xshut) { + ResponseAppend_P(PSTR(",\"VL53L1X\":{\"" D_JSON_DISTANCE "\":%d}"), vl53l1x_data[i].distance); + } + else { + ResponseAppend_P(PSTR(",\"VL53L1X%c%d\":{\"" D_JSON_DISTANCE "\":%d}"), IndexSeparator(), i+1, vl53l1x_data[i].distance); + } #ifdef USE_DOMOTICZ - if (0 == TasmotaGlobal.tele_period) { - Vl53l1Every_Second(); - } + if (0 == TasmotaGlobal.tele_period) { + Vl53l1Every_Second(); + } #endif // USE_DOMOTICZ #ifdef USE_WEBSERVER - } else { - WSContentSend_PD(HTTP_SNS_DISTANCE, PSTR("VL53L1X"), vl53l1x_sensors.distance); + } + else { + if (0 == VL53L1X_xshut) { + WSContentSend_PD(HTTP_SNS_DISTANCE, PSTR("VL53L1X"), vl53l1x_data[i].distance); + } + else { + char tmpstr[12]; + sprintf(tmpstr, PSTR("VL53L1X%c%d"), IndexSeparator(), i+1); + WSContentSend_PD(HTTP_SNS_DISTANCE, tmpstr, vl53l1x_data[i].distance); + } #endif - } + } + } // if detected + if (0 == VL53L1X_xshut) break; + } // for } /*********************************************************************************************\ @@ -97,7 +175,7 @@ bool Xsns77(uint8_t function) { if (FUNC_INIT == function) { Vl53l1Detect(); } - else if (vl53l1x_sensors.ready) { + else if (VL53L1X_detected) { switch (function) { case FUNC_EVERY_250_MSECOND: Vl53l1Every_250MSecond(); diff --git a/tools/lv_gpio/lv_gpio_enum.h b/tools/lv_gpio/lv_gpio_enum.h index 3f56ef2b2..bd0ba6923 100644 --- a/tools/lv_gpio/lv_gpio_enum.h +++ b/tools/lv_gpio/lv_gpio_enum.h @@ -251,7 +251,7 @@ SSD1351_DC = GPIO_SSD1351_DC XPT2046_CS = GPIO_XPT2046_CS CSE7761_TX = GPIO_CSE7761_TX CSE7761_RX = GPIO_CSE7761_RX -VL53L0X_XSHUT1 = GPIO_VL53L0X_XSHUT1 +VL53LXX_XSHUT1 = GPIO_VL53LXX_XSHUT1 MAX7219CLK = GPIO_MAX7219CLK MAX7219DIN = GPIO_MAX7219DIN MAX7219CS = GPIO_MAX7219CS