Jan Kamidra / PCF8574
Revision:
3:47c298d4a41b
Parent:
2:e076d7b30aea
Child:
4:f93baeb6119c
--- a/PCF8574.h	Mon Jan 31 17:49:53 2022 +0000
+++ b/PCF8574.h	Mon Jan 31 18:26:50 2022 +0000
@@ -1,6 +1,7 @@
 /* mbed PCF8574 Library, for driving the I2C I/O Expander
  * Copyright (c) 2008-2010, cstyles, sford
  *               2022, 001: JohnnyK, Reworked Constructor to I2C object instead of I2C pins. I can be usefull with anoter I2C slave on same bus
+ *               2022, 002: JohnnyK, Added Namespace IO for compatibility with TextLCD library
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -26,31 +27,34 @@
 #ifndef MBED_PCF8574_H
 #define MBED_PCF8574_H
 
-/** Interface to the popular PCF8574 I2C 8 Bit IO expander */
-class PCF8574 {
-public:
-    /** Create an instance of the PCF8574 connected I2C object, with the specified address.
-     *
-     * @param Mbed I2C object
-     * @param address The I2C address for this PCF8574
-     */
-    PCF8574(I2C *i2c, int address);
+namespace IO{
 
-    /** Read the IO pin level
-     *
-     * @return The byte read
-     */
-    int read();
-    
-    /** Write to the IO pins
-     * 
-     * @param data The 8 bits to write to the IO port
-     */
-    void write(int data);
-
-private:
-    I2C *_i2c;
-    int _address;
-};
+    /** Interface to the popular PCF8574 I2C 8 Bit IO expander */
+    class PCF8574 {
+        public:
+            /** Create an instance of the PCF8574 connected I2C object, with the specified address.
+             *
+             * @param Mbed I2C object
+             * @param address The I2C address for this PCF8574
+             */
+            PCF8574(I2C *i2c, int address);
+        
+            /** Read the IO pin level
+             *
+             * @return The byte read
+             */
+            int read();
+            
+            /** Write to the IO pins
+             * 
+             * @param data The 8 bits to write to the IO port
+             */
+            void write(int data);
+        
+        private:
+            I2C *_i2c;
+            int _address;
+    };
+}
 
 #endif