Fix the SDA SCL type #58 and add basic support for SAMD device.

This commit is contained in:
Renzo Mischianti 2022-07-28 15:31:04 +02:00
parent b13a1c02d1
commit 418fca71c2
6 changed files with 37 additions and 8 deletions

View File

@ -53,7 +53,7 @@ PCF8574::PCF8574(uint8_t address, uint8_t interruptPin, void (*interruptFunctio
_usingInterrupt = true;
};
#if !defined(__AVR) && !defined(__STM32F1__) && !defined(TEENSYDUINO)
#if !defined(__AVR) && !defined(ARDUINO_ARCH_SAMD) && !defined(__STM32F1__) && !defined(TEENSYDUINO)
/**
* Constructor
* @param address: i2c address
@ -185,8 +185,10 @@ PCF8574::PCF8574(uint8_t address, uint8_t interruptPin, void (*interruptFunctio
*/
bool PCF8574::begin(){
this->transmissionStatus = 4;
#if !defined(__AVR) && !defined(__STM32F1__) && !defined(TEENSYDUINO)
_wire->begin(_sda, _scl);
#if !defined(__AVR) && !defined(ARDUINO_ARCH_SAMD) && !defined(__STM32F1__) && !defined(TEENSYDUINO)
DEBUG_PRINT(F("begin(sda, scl) -> "));DEBUG_PRINT(_sda);DEBUG_PRINT(F(" "));DEBUG_PRINTLN(_scl);
// _wire->begin(_sda, _scl);
_wire->begin((int)_sda, (int)_scl);
#else
// Default pin for AVR some problem on software emulation
// #define SCL_PIN _scl

View File

@ -2,7 +2,7 @@
* PCF8574 GPIO Port Expand
*
* AUTHOR: Renzo Mischianti
* VERSION: 2.3.1
* VERSION: 2.3.2
*
* https://www.mischianti.org/2019/01/02/pcf8574-i2c-digital-i-o-expander-fast-easy-usage/
*
@ -109,7 +109,7 @@ public:
PCF8574(uint8_t address);
PCF8574(uint8_t address, uint8_t interruptPin, void (*interruptFunction)() );
#if !defined(__AVR) && !defined(__STM32F1__) && !defined(TEENSYDUINO)
#if !defined(__AVR) && !defined(ARDUINO_ARCH_SAMD) && !defined(__STM32F1__) && !defined(TEENSYDUINO)
PCF8574(uint8_t address, uint8_t sda, uint8_t scl);
PCF8574(uint8_t address, uint8_t sda, uint8_t scl, uint8_t interruptPin, void (*interruptFunction)());
#endif
@ -193,6 +193,8 @@ public:
}
bool isLastTransmissionSuccess(){
DEBUG_PRINT(F("STATUS --> "));
DEBUG_PRINTLN(transmissionStatus);
return transmissionStatus==0;
}
private:

View File

@ -2,7 +2,7 @@
* PCF8574 GPIO Port Expand
*
* AUTHOR: Renzo Mischianti
* VERSION: 2.3.1
* VERSION: 2.3.2
*
* https://www.mischianti.org/2019/01/02/pcf8574-i2c-digital-i-o-expander-fast-easy-usage/
*

View File

@ -29,6 +29,7 @@ Tutorial:
To download. click the DOWNLOADS button in the top right corner, rename the uncompressed folder PCF8574. Check that the PCF8574 folder contains `PCF8574\\.cpp` and `PCF8574.h`. Place the DHT library folder your `<arduinosketchfolder>/libraries/` folder. You may need to create the libraries subfolder if its your first library. Restart the IDE.
## Changelog
28/07/2022: v2.3.2 Fix the SDA SCL type #58 and add basic support for SAMD device.
26/04/2022: v2.3.1 Fix example for esp32 and double begin issue #56.
06/04/2022: v2.3.0 Fix package size
30/12/2021: v2.2.4 Minor fix and remove deprecated declaration

24
library.json Normal file
View File

@ -0,0 +1,24 @@
{
"name": "PCF8574 library",
"version": "2.3.2",
"keywords": "digital, i2c, encoder, expander, pcf8574, pcf8574a, esp32, esp8266, stm32, SAMD, Arduino, wire",
"description": "i2c digital expander for Arduino, esp32, SMT32 and ESP8266. Can read write digital values with only 2 wire. Very simple to use and encoder support.",
"homepage": "https://www.mischianti.org/category/my-libraries/pcf8574/",
"authors":
[
{
"name": "Renzo Mischianti",
"email": "renzo.mischianti@gmail.com",
"maintainer": true,
"url": "https://www.mischianti.org"
}
],
"repository": {
"type": "git",
"url": "https://github.com/xreef/PCF8574_library"
},
"license": "MIT",
"frameworks": "arduino",
"platforms": "*",
"headers": ["PCF8574.h, PCF8574_library.h"]
}

View File

@ -1,5 +1,5 @@
name=PCF8574 library
version=2.3.1
version=2.3.2
author=Renzo Mischianti <renzo.mischianti@gmail.com>
maintainer=Renzo Mischianti <renzo.mischianti@gmail.com>
sentence=PCF8574, library for Arduino, ESP8266, smt32 and esp32