From b8b52a7c0cb09b420e6c67fa4b5a3bbf8ec7b666 Mon Sep 17 00:00:00 2001 From: marqdevx <11246294+marqdevx@users.noreply.github.com> Date: Wed, 3 Feb 2021 18:17:26 +0100 Subject: [PATCH 1/8] Data Ready pin feature --- src/HTS.cpp | 36 ++++++++++++++++++++++++++++++++---- src/HTS.h | 7 ++++++- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/src/HTS.cpp b/src/HTS.cpp index 80a11f0..35d0fdc 100644 --- a/src/HTS.cpp +++ b/src/HTS.cpp @@ -26,6 +26,7 @@ #define HTS221_WHO_AM_I_REG 0x0f #define HTS221_CTRL1_REG 0x20 #define HTS221_CTRL2_REG 0x21 +#define HTS221_CTRL3_REG 0x22 //Dara Ready (b7 0 active high)(open drain, b6 1)(b2, 1 enable data ready) #define HTS221_STATUS_REG 0x27 #define HTS221_HUMIDITY_OUT_L_REG 0x28 #define HTS221_TEMP_OUT_L_REG 0x2a @@ -39,6 +40,7 @@ #define HTS221_T0_OUT_REG 0x3c #define HTS221_T1_OUT_REG 0x3e + HTS221Class::HTS221Class(TwoWire& wire) : _wire(&wire) { @@ -56,8 +58,12 @@ int HTS221Class::begin() readHTS221Calibration(); - // turn on the HTS221 and enable Block Data Update - i2cWrite(HTS221_CTRL1_REG, 0x84); + // enable HTS221 + i2cWrite(HTS221_CTRL1_REG, 0x80); + + // Default DREADY configuration + disableDataReady(); + setPushPull(); return 1; } @@ -70,9 +76,31 @@ void HTS221Class::end() _wire->end(); } +void HTS221Class::enableDataReady(){ + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b11111000; + i2cWrite(HTS221_CTRL3_REG, data | 0b1 << 2); +} + +void HTS221Class::disableDataReady(){ + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b11111000; + i2cWrite(HTS221_CTRL3_REG, data | 0b0 << 2); +} + +void HTS221Class::setOpenDrain(){ + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b10111100; + + i2cWrite(HTS221_CTRL3_REG, data | 0b1 << 6); +} + +void HTS221Class::setPushPull(){ + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b10111100; + + i2cWrite(HTS221_CTRL3_REG, data); +} + float HTS221Class::readTemperature(int units) { - // Wait for ONE_SHOT bit to be cleared by the hardware + // Wait for ONE_SHOT bit to be cleared by the hardware while (i2cRead(HTS221_CTRL2_REG) & 0x01); // trigger one shot @@ -167,4 +195,4 @@ void HTS221Class::readHTS221Calibration() HTS221Class HTS(Wire1); #else HTS221Class HTS(Wire); -#endif +#endif \ No newline at end of file diff --git a/src/HTS.h b/src/HTS.h index af7c2ee..55d41b3 100644 --- a/src/HTS.h +++ b/src/HTS.h @@ -22,7 +22,7 @@ #include #include - +#define HTS221_CTRL3_REG 0x22 enum { FAHRENHEIT, CELSIUS @@ -35,6 +35,11 @@ class HTS221Class { int begin(); void end(); + void enableDataReady(); //Outputs pin3 DREADY + void disableDataReady(); + void setOpenDrain(); + void setPushPull(); + float readTemperature(int units = CELSIUS); float readHumidity(); From 5e15f38ccdf2cf5b996337d2a410ea6620139bbe Mon Sep 17 00:00:00 2001 From: marqdevx Date: Fri, 12 Feb 2021 14:35:43 +0100 Subject: [PATCH 2/8] Added active High and Low --- src/HTS.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/HTS.h b/src/HTS.h index 55d41b3..e0a8868 100644 --- a/src/HTS.h +++ b/src/HTS.h @@ -35,13 +35,15 @@ class HTS221Class { int begin(); void end(); + float readTemperature(int units = CELSIUS); + float readHumidity(); + void enableDataReady(); //Outputs pin3 DREADY void disableDataReady(); void setOpenDrain(); void setPushPull(); - - float readTemperature(int units = CELSIUS); - float readHumidity(); + void setActiveHigh(); + void setActiveLow(); private: int i2cRead(uint8_t reg); From d5c376dc941381dc145f188bee2f9517470c20ad Mon Sep 17 00:00:00 2001 From: marqdevx Date: Fri, 12 Feb 2021 14:36:18 +0100 Subject: [PATCH 3/8] Added Active High and Low --- src/HTS.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/HTS.cpp b/src/HTS.cpp index 35d0fdc..79d18d6 100644 --- a/src/HTS.cpp +++ b/src/HTS.cpp @@ -88,8 +88,7 @@ void HTS221Class::disableDataReady(){ void HTS221Class::setOpenDrain(){ uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b10111100; - - i2cWrite(HTS221_CTRL3_REG, data | 0b1 << 6); + i2cWrite(HTS221_CTRL3_REG, data | 0b1 << 6); } void HTS221Class::setPushPull(){ @@ -98,6 +97,16 @@ void HTS221Class::setPushPull(){ i2cWrite(HTS221_CTRL3_REG, data); } +void HTS221Class::setActiveHigh(){ + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b01111111; + i2cWrite(HTS221_CTRL3_REG, data); +} + +void HTS221Class::setActiveLow(){ + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b01111111; + i2cWrite(HTS221_CTRL3_REG, data | 0b1 << 7); +} + float HTS221Class::readTemperature(int units) { // Wait for ONE_SHOT bit to be cleared by the hardware @@ -195,4 +204,4 @@ void HTS221Class::readHTS221Calibration() HTS221Class HTS(Wire1); #else HTS221Class HTS(Wire); -#endif \ No newline at end of file +#endif From 8ef580f50c9a69e6527f84dd0f5759051e80ebd3 Mon Sep 17 00:00:00 2001 From: marqdevx Date: Fri, 19 Mar 2021 11:05:20 +0100 Subject: [PATCH 4/8] Add files via upload --- src/HTS.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/HTS.cpp b/src/HTS.cpp index 79d18d6..08404bc 100644 --- a/src/HTS.cpp +++ b/src/HTS.cpp @@ -204,4 +204,4 @@ void HTS221Class::readHTS221Calibration() HTS221Class HTS(Wire1); #else HTS221Class HTS(Wire); -#endif +#endif \ No newline at end of file From 3b97655f617f35155a65667c5d35b6eccaef6447 Mon Sep 17 00:00:00 2001 From: marqdevx Date: Fri, 19 Mar 2021 11:07:01 +0100 Subject: [PATCH 5/8] Add files via upload --- src/HTS.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/HTS.cpp b/src/HTS.cpp index 08404bc..95bf058 100644 --- a/src/HTS.cpp +++ b/src/HTS.cpp @@ -93,7 +93,6 @@ void HTS221Class::setOpenDrain(){ void HTS221Class::setPushPull(){ uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b10111100; - i2cWrite(HTS221_CTRL3_REG, data); } From 378645b53ae3a75588782f394285dc97cc526a4c Mon Sep 17 00:00:00 2001 From: marqdevx Date: Fri, 19 Mar 2021 11:09:05 +0100 Subject: [PATCH 6/8] Update HTS.cpp --- src/HTS.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/HTS.cpp b/src/HTS.cpp index 95bf058..827875f 100644 --- a/src/HTS.cpp +++ b/src/HTS.cpp @@ -77,32 +77,32 @@ void HTS221Class::end() } void HTS221Class::enableDataReady(){ - uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b11111000; - i2cWrite(HTS221_CTRL3_REG, data | 0b1 << 2); + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b11111000; + i2cWrite(HTS221_CTRL3_REG, data | 0b1 << 2); } void HTS221Class::disableDataReady(){ - uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b11111000; - i2cWrite(HTS221_CTRL3_REG, data | 0b0 << 2); + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b11111000; + i2cWrite(HTS221_CTRL3_REG, data | 0b0 << 2); } void HTS221Class::setOpenDrain(){ - uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b10111100; + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b10111100; i2cWrite(HTS221_CTRL3_REG, data | 0b1 << 6); } void HTS221Class::setPushPull(){ - uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b10111100; - i2cWrite(HTS221_CTRL3_REG, data); + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b10111100; + i2cWrite(HTS221_CTRL3_REG, data); } void HTS221Class::setActiveHigh(){ - uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b01111111; + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b01111111; i2cWrite(HTS221_CTRL3_REG, data); } void HTS221Class::setActiveLow(){ - uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b01111111; + uint8_t data = i2cRead(HTS221_CTRL3_REG) & 0b01111111; i2cWrite(HTS221_CTRL3_REG, data | 0b1 << 7); } @@ -203,4 +203,4 @@ void HTS221Class::readHTS221Calibration() HTS221Class HTS(Wire1); #else HTS221Class HTS(Wire); -#endif \ No newline at end of file +#endif From 339f396838c954fdeb97b3aa8f5382c447fe199e Mon Sep 17 00:00:00 2001 From: marqdevx Date: Fri, 19 Mar 2021 11:11:36 +0100 Subject: [PATCH 7/8] Add files via upload --- keywords.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/keywords.txt b/keywords.txt index 7704c70..9381235 100644 --- a/keywords.txt +++ b/keywords.txt @@ -18,9 +18,16 @@ end KEYWORD2 readTemperature KEYWORD2 readHumidity KEYWORD2 +enableDataReady KEYWORD2 +disableDataReady KEYWORD2 +setOpenDrain KEYWORD2 +setPushPull KEYWORD2 +setActiveHigh KEYWORD2 +setActiveLow KEYWORD2 + ######################################### # Constants ######################################### -FAHRENHEIT LITERAL1 +FAHRENHEIT LITERAL1 CELSIUS LITERAL1 From 1921fc26393d76bf5bc21cfbff97e5a110d42366 Mon Sep 17 00:00:00 2001 From: marqdevx Date: Fri, 19 Mar 2021 11:12:07 +0100 Subject: [PATCH 8/8] Add files via upload