diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index a4a5c63..54cc6a3 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -62,7 +62,7 @@ jobs: | ps -p "$$" arduino-cli lib install NimBLE-Arduino@1.4.1 - arduino-cli lib install ATC_MiThermometer@0.4.1 + arduino-cli lib install ATC_MiThermometer@0.4.2 - name: Install platform if: ${{ env.run-build == 'true' }} diff --git a/examples/ATC_MiThermometer_Client/ATC_MiThermometer_Client.ino b/examples/ATC_MiThermometer_Client/ATC_MiThermometer_Client.ino index a79e18c..1c596e2 100644 --- a/examples/ATC_MiThermometer_Client/ATC_MiThermometer_Client.ino +++ b/examples/ATC_MiThermometer_Client/ATC_MiThermometer_Client.ino @@ -39,6 +39,9 @@ // History: // // 20221123 Created +// 20240403 Added reedSwitchState, gpioTrgOutput, controlParameters, +// tempTriggerEvent &humiTriggerEvent +// 20240425 Added device name // // To Do: // - diff --git a/examples/ATC_MiThermometer_Nonblocking/ATC_MiThermometer_Nonblocking.ino b/examples/ATC_MiThermometer_Nonblocking/ATC_MiThermometer_Nonblocking.ino index 7b84d9f..f61e690 100644 --- a/examples/ATC_MiThermometer_Nonblocking/ATC_MiThermometer_Nonblocking.ino +++ b/examples/ATC_MiThermometer_Nonblocking/ATC_MiThermometer_Nonblocking.ino @@ -5,6 +5,8 @@ // https://github.com/matthias-bs/ATC_MiThermometer // Mijia lywsd03mmc thermometers are first to be loaded with a custom firmware as per: // https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html +// +// 20240425 Added device name #include "ATC_MiThermometer.h" diff --git a/library.properties b/library.properties index 0b3d244..ce6340a 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=ATC_MiThermometer -version=0.4.1 +version=0.4.2 author=Matthias Prinke maintainer=Matthias Prinke sentence=Arduino library for BLE ATC_MiThermometer thermometer/hygrometer sensors. diff --git a/src/ATC_MiThermometer.cpp b/src/ATC_MiThermometer.cpp index abdbfee..7dce78f 100644 --- a/src/ATC_MiThermometer.cpp +++ b/src/ATC_MiThermometer.cpp @@ -40,6 +40,9 @@ // // 20221123 Created // 20221223 Added support for ATC1441 format +// 20240403 Added reedSwitchState, gpioTrgOutput, controlParameters, +// tempTriggerEvent &humiTriggerEvent +// 20240425 Added device name // // ToDo: // - @@ -73,12 +76,12 @@ class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks { // Set up BLE scanning -void ATC_MiThermometer::begin(void) +void ATC_MiThermometer::begin(bool activeScan) { NimBLEDevice::init(""); _pBLEScan = BLEDevice::getScan(); //create new scan _pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks()); - _pBLEScan->setActiveScan(false); //active scan uses more power, but get results faster + _pBLEScan->setActiveScan(activeScan); //active scan uses more power, but get results faster _pBLEScan->setInterval(100); _pBLEScan->setFilterPolicy(BLE_HCI_SCAN_FILT_NO_WL); _pBLEScan->setWindow(99); // less or equal setInterval value @@ -133,7 +136,7 @@ unsigned ATC_MiThermometer::getData(uint32_t duration) { data[n].batt_level = foundDevices.getDevice(i).getServiceData().c_str()[12]; // Count - data[n].count = foundDevices.getDevice(i).getServiceData().c_str()[13]; + data[n].count = foundDevices.getDevice(i).getServiceData().c_str()[13]; //Flags uint8_t flagsByte = foundDevices.getDevice(i).getServiceData().c_str()[14]; @@ -178,7 +181,7 @@ unsigned ATC_MiThermometer::getData(uint32_t duration) { return foundDevices.getCount(); } - + // Set all array members invalid void ATC_MiThermometer::resetData(void) { diff --git a/src/ATC_MiThermometer.h b/src/ATC_MiThermometer.h index 6144583..559cd1b 100644 --- a/src/ATC_MiThermometer.h +++ b/src/ATC_MiThermometer.h @@ -39,6 +39,10 @@ // History: // // 20221123 Created +// 20240403 Added reedSwitchState, gpioTrgOutput, controlParameters, +// tempTriggerEvent &humiTriggerEvent +// 20240425 Added device name +// 20240426 Added parameter activeScan to begin() // // ToDo: // - @@ -92,9 +96,13 @@ class ATC_MiThermometer { }; /*! - \brief Initialization. - */ - void begin(void); + * \brief Initialization. + * + * \param activeScan Set to true for achtive scan, which uses more power, + * but get results faster. As a side effect, the device name + * is received (most of the times). + */ + void begin(bool activeScan = true); /*! \brief Delete results from BLEScan buffer to release memory.