mirror of
https://github.com/Laxilef/OTGateway.git
synced 2026-03-20 09:18:39 +05:00
Compare commits
5 Commits
57095d6320
...
e676cb600e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e676cb600e | ||
|
|
af1a9b59c4 | ||
|
|
0a0d1c3675 | ||
|
|
ea3e175465 | ||
|
|
9c86ad4427 |
@@ -98,12 +98,6 @@ custom_component_remove = espressif/esp_hosted
|
||||
espressif/esp-zboss-lib
|
||||
espressif/esp-zigbee-lib
|
||||
chmorgan/esp-libhelix-mp3
|
||||
custom_sdkconfig = '# CONFIG_OPENTHREAD_ENABLED is not set'
|
||||
'# CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT is not set'
|
||||
'# CONFIG_LWIP_IPV6 is not set'
|
||||
'# CONFIG_LWIP_IPV6_AUTOCONFIG is not set'
|
||||
'# CONFIG_LWIP_PPP_SUPPORT is not set'
|
||||
CONFIG_LIBC_NEWLIB_NANO_FORMAT=y
|
||||
extra_scripts = post:tools/esp32.py
|
||||
post:tools/build.py
|
||||
build_type = ${env.build_type}
|
||||
@@ -209,6 +203,11 @@ build_flags = ${esp32_defaults.build_flags}
|
||||
-D DEFAULT_SENSOR_INDOOR_GPIO=0
|
||||
-D DEFAULT_STATUS_LED_GPIO=11
|
||||
-D DEFAULT_OT_RX_LED_GPIO=10
|
||||
custom_sdkconfig = '# CONFIG_OPENTHREAD_ENABLED is not set'
|
||||
'# CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT is not set'
|
||||
'# CONFIG_LWIP_IPV6 is not set'
|
||||
'# CONFIG_LWIP_IPV6_AUTOCONFIG is not set'
|
||||
'# CONFIG_LWIP_PPP_SUPPORT is not set'
|
||||
|
||||
[env:otthing]
|
||||
extends = esp32_defaults
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
# Source:
|
||||
# https://github.com/pioarduino/platform-espressif32/tree/main/examples/espidf-arduino-h2zero-BLE_scan
|
||||
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_MBEDTLS_PSK_MODES=y
|
||||
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
|
||||
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE=y
|
||||
|
||||
#
|
||||
# BT config
|
||||
CONFIG_BT_ENABLED=y
|
||||
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
|
||||
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
|
||||
CONFIG_BTDM_CTRL_MODE_BTDM=n
|
||||
CONFIG_BT_BLUEDROID_ENABLED=n
|
||||
CONFIG_BT_NIMBLE_ENABLED=y
|
||||
|
||||
#
|
||||
# Arduino Configuration
|
||||
CONFIG_AUTOSTART_ARDUINO=y
|
||||
CONFIG_ARDUINO_SELECTIVE_COMPILATION=y
|
||||
CONFIG_ARDUINO_SELECTIVE_Zigbee=n
|
||||
CONFIG_ARDUINO_SELECTIVE_Matter=n
|
||||
CONFIG_ARDUINO_SELECTIVE_WiFiProv=n
|
||||
CONFIG_ARDUINO_SELECTIVE_BLE=n
|
||||
CONFIG_ARDUINO_SELECTIVE_BluetoothSerial=n
|
||||
CONFIG_ARDUINO_SELECTIVE_SimpleBLE=n
|
||||
CONFIG_ARDUINO_SELECTIVE_RainMaker=n
|
||||
CONFIG_ARDUINO_SELECTIVE_OpenThread=n
|
||||
CONFIG_ARDUINO_SELECTIVE_Insights=n
|
||||
@@ -51,27 +51,23 @@ protected:
|
||||
class SensorsTask : public LeanTask {
|
||||
public:
|
||||
SensorsTask(bool _enabled = false, unsigned long _interval = 0) : LeanTask(_enabled, _interval) {
|
||||
this->gpioLastPollingTime.reserve(2);
|
||||
|
||||
// OneWire
|
||||
this->owInstances.reserve(2);
|
||||
this->dallasInstances.reserve(2);
|
||||
this->dallasSearchTime.reserve(2);
|
||||
this->dallasPolling.reserve(2);
|
||||
this->dallasLastPollingTime.reserve(2);
|
||||
|
||||
// DHT
|
||||
this->dhtLastPollingTime.reserve(2);
|
||||
}
|
||||
|
||||
~SensorsTask() {
|
||||
this->gpioLastPollingTime.clear();
|
||||
|
||||
// OneWire
|
||||
this->dallasInstances.clear();
|
||||
this->owInstances.clear();
|
||||
this->dallasSearchTime.clear();
|
||||
this->dallasPolling.clear();
|
||||
this->dallasLastPollingTime.clear();
|
||||
|
||||
// DHT
|
||||
this->dhtLastPollingTime.clear();
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -85,17 +81,17 @@ protected:
|
||||
const unsigned int bleSetDtInterval = 7200000;
|
||||
#endif
|
||||
|
||||
std::unordered_map<uint8_t, unsigned long> gpioLastPollingTime;
|
||||
|
||||
// OneWire
|
||||
std::unordered_map<uint8_t, OneWire> owInstances;
|
||||
std::unordered_map<uint8_t, DallasTemperature> dallasInstances;
|
||||
std::unordered_map<uint8_t, unsigned long> dallasSearchTime;
|
||||
std::unordered_map<uint8_t, bool> dallasPolling;
|
||||
std::unordered_map<uint8_t, unsigned long> dallasLastPollingTime;
|
||||
|
||||
// DHT
|
||||
DHT dhtInstance;
|
||||
bool dhtIsPolling = false;
|
||||
std::unordered_map<uint8_t, unsigned long> dhtLastPollingTime;
|
||||
|
||||
#if USE_BLE
|
||||
// Bluetooth
|
||||
@@ -194,7 +190,7 @@ protected:
|
||||
|
||||
this->dallasSearchTime[sSensor.gpio] = 0;
|
||||
this->dallasPolling[sSensor.gpio] = false;
|
||||
this->dallasLastPollingTime[sSensor.gpio] = 0;
|
||||
this->gpioLastPollingTime[sSensor.gpio] = 0;
|
||||
|
||||
auto& instance = this->dallasInstances[sSensor.gpio];
|
||||
instance.setOneWire(&owInstance);
|
||||
@@ -229,7 +225,7 @@ protected:
|
||||
this->owInstances.erase(gpio);
|
||||
this->dallasSearchTime.erase(gpio);
|
||||
this->dallasPolling.erase(gpio);
|
||||
this->dallasLastPollingTime.erase(gpio);
|
||||
this->gpioLastPollingTime.erase(gpio);
|
||||
|
||||
Log.sinfoln(FPSTR(L_SENSORS_DALLAS), F("Stopped on GPIO %hhu"), gpio);
|
||||
continue;
|
||||
@@ -350,7 +346,7 @@ protected:
|
||||
|
||||
if (this->dallasPolling[gpio]) {
|
||||
unsigned long minPollingTime = instance.millisToWaitForConversion(12) * 2;
|
||||
unsigned long estimatePollingTime = ts - this->dallasLastPollingTime[gpio];
|
||||
unsigned long estimatePollingTime = ts - this->gpioLastPollingTime[gpio];
|
||||
|
||||
// check conversion time
|
||||
// isConversionComplete does not work with chinese clones!
|
||||
@@ -402,7 +398,7 @@ protected:
|
||||
this->dallasPolling[gpio] = false;
|
||||
|
||||
} else if (newPolling) {
|
||||
auto estimateLastPollingTime = ts - this->dallasLastPollingTime[gpio];
|
||||
auto estimateLastPollingTime = ts - this->gpioLastPollingTime[gpio];
|
||||
|
||||
// check last polling time
|
||||
if (estimateLastPollingTime < this->dallasPollingInterval) {
|
||||
@@ -413,7 +409,7 @@ protected:
|
||||
instance.setResolution(12);
|
||||
instance.requestTemperatures();
|
||||
this->dallasPolling[gpio] = true;
|
||||
this->dallasLastPollingTime[gpio] = ts;
|
||||
this->gpioLastPollingTime[gpio] = ts;
|
||||
|
||||
Log.straceln(FPSTR(L_SENSORS_DALLAS), F("GPIO %hhu, polling..."), gpio);
|
||||
}
|
||||
@@ -437,7 +433,7 @@ protected:
|
||||
continue;
|
||||
}
|
||||
|
||||
if (this->dhtLastPollingTime.count(sSensor.gpio) && millis() - this->dhtLastPollingTime[sSensor.gpio] < this->dhtPollingInterval) {
|
||||
if (this->gpioLastPollingTime.count(sSensor.gpio) && millis() - this->gpioLastPollingTime[sSensor.gpio] < this->dhtPollingInterval) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -463,7 +459,7 @@ protected:
|
||||
rSensor.signalQuality++;
|
||||
}
|
||||
|
||||
this->dhtLastPollingTime[sSensor.gpio] = millis();
|
||||
this->gpioLastPollingTime[sSensor.gpio] = millis();
|
||||
this->dhtIsPolling = false;
|
||||
});
|
||||
|
||||
@@ -480,7 +476,7 @@ protected:
|
||||
rSensor.signalQuality--;
|
||||
}
|
||||
|
||||
this->dhtLastPollingTime[sSensor.gpio] = millis();
|
||||
this->gpioLastPollingTime[sSensor.gpio] = millis();
|
||||
this->dhtIsPolling = false;
|
||||
});
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
dependencies:
|
||||
idf: ">=5.3.2"
|
||||
h2zero/esp-nimble-cpp: ">=2.2.1"
|
||||
Reference in New Issue
Block a user