From 753c6b0817519ce3c26c75edc803e4bfea42db43 Mon Sep 17 00:00:00 2001 From: Kirk Benell Date: Sat, 4 Nov 2023 10:19:24 -0600 Subject: [PATCH 1/3] version bump --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index 69ef2f0..0c01807 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=SparkFun STHS34PF80 Arduino Library -version=1.0.0 +version=1.0.1 author=SparkFun Electronics maintainer=SparkFun Electronics sentence=A library to drive the STMicroelectronics infrared sensor STHS34PF80. From c09487193a39bd331bd4ffe832036f4a8be65ff8 Mon Sep 17 00:00:00 2001 From: Kirk Benell Date: Sat, 4 Nov 2023 10:20:33 -0600 Subject: [PATCH 2/3] made a *standard* I2C address macro that can be used outside of this library --- src/sths34pf80_class.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sths34pf80_class.h b/src/sths34pf80_class.h index 26610f6..97ad4a3 100644 --- a/src/sths34pf80_class.h +++ b/src/sths34pf80_class.h @@ -4,6 +4,11 @@ #include "sths34pf80_api/sths34pf80_reg.h" #include "sfe_bus.h" + +// define a standard i2c address (7 bit) macro + +#define STHS34PF80_I2C_ADDRESS (STHS34PF80_I2C_ADD >> 1) + class STHS34PF80 { public: From fa3facb4044e3d232828ad079d04aeed6b126f53 Mon Sep 17 00:00:00 2001 From: Kirk Benell Date: Sat, 4 Nov 2023 10:22:28 -0600 Subject: [PATCH 3/3] moved begin() methods to a) standard type of bools and b) now they actually return a status - not always 0; makes use of the new macro for address; sfe_bus.h is now using proper case - lower - which is important for linux/unix/macos --- src/SparkFun_STHS34PF80_Arduino_Library.cpp | 18 ++++++++++++------ src/SparkFun_STHS34PF80_Arduino_Library.h | 6 +++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/SparkFun_STHS34PF80_Arduino_Library.cpp b/src/SparkFun_STHS34PF80_Arduino_Library.cpp index a6f9e56..2217aac 100644 --- a/src/SparkFun_STHS34PF80_Arduino_Library.cpp +++ b/src/SparkFun_STHS34PF80_Arduino_Library.cpp @@ -1,6 +1,12 @@ + + + + #include "SparkFun_STHS34PF80_Arduino_Library.h" -int32_t STHS34PF80_I2C::begin(uint8_t devAddr, TwoWire& wirePort) + + +bool STHS34PF80_I2C::begin(uint8_t devAddr, TwoWire& wirePort) { bus.init(devAddr, Wire); sensor.read_reg = STHS34PF80_I2C::read; @@ -8,9 +14,9 @@ int32_t STHS34PF80_I2C::begin(uint8_t devAddr, TwoWire& wirePort) sensor.mdelay = STHS34PF80_I2C::delayMS; sensor.handle = &bus; - STHS34PF80::begin(); + // call super class begin -- it returns 0 on no error + return STHS34PF80::begin() == 0; - return 0; // returns error code here } int32_t STHS34PF80_I2C::read(void* bus, uint8_t addr, uint8_t* data, uint16_t numData) @@ -32,7 +38,7 @@ void STHS34PF80_I2C::delayMS(uint32_t millisec) delay(millisec); } -int32_t STHS34PF80_SPI::begin(uint8_t chipSelect, SPIClass &spiPort) +bool STHS34PF80_SPI::begin(uint8_t chipSelect, SPIClass &spiPort) { bus.init(chipSelect, spiPort, false); sensor.read_reg = STHS34PF80_SPI::read; @@ -40,9 +46,9 @@ int32_t STHS34PF80_SPI::begin(uint8_t chipSelect, SPIClass &spiPort) sensor.mdelay = STHS34PF80_SPI::delayMS; sensor.handle = &bus; - STHS34PF80::begin(); + // call super class begin -- it returns 0 on no error + return STHS34PF80::begin() == 0; - return 0; // returns error code here } int32_t STHS34PF80_SPI::read(void* bus, uint8_t addr, uint8_t* data, uint16_t numData) diff --git a/src/SparkFun_STHS34PF80_Arduino_Library.h b/src/SparkFun_STHS34PF80_Arduino_Library.h index a6f0cb3..2baccf0 100644 --- a/src/SparkFun_STHS34PF80_Arduino_Library.h +++ b/src/SparkFun_STHS34PF80_Arduino_Library.h @@ -19,7 +19,7 @@ Distributed as-is; no warranty is given. #include "sths34pf80_class.h" -#include "SFE_Bus.h" +#include "sfe_bus.h" #include #include #include @@ -28,7 +28,7 @@ Distributed as-is; no warranty is given. class STHS34PF80_I2C : public STHS34PF80 { public: - int32_t begin(uint8_t devAddr = STHS34PF80_I2C_ADD >> 1, TwoWire& wirePort = Wire); + bool begin(uint8_t devAddr = STHS34PF80_I2C_ADDRESS, TwoWire& wirePort = Wire); static int32_t read(void *, uint8_t, uint8_t *, uint16_t); static int32_t write(void *, uint8_t, const uint8_t *, uint16_t); static void delayMS(uint32_t millisec); @@ -39,7 +39,7 @@ class STHS34PF80_I2C : public STHS34PF80 class STHS34PF80_SPI : public STHS34PF80 { public: - int32_t begin(uint8_t chipSelect, SPIClass &spiPort=SPI); + bool begin(uint8_t chipSelect, SPIClass &spiPort=SPI); static int32_t read(void *, uint8_t, uint8_t *, uint16_t); static int32_t write(void *, uint8_t, const uint8_t *, uint16_t); static void delayMS(uint32_t millisec);