Adaptation for PCA9548 Nxp I2C switch

Fork of PCA9547 by Tedd OKANO

Files at this revision

API Documentation at this revision

Comitter:
okano
Date:
Tue Jul 01 00:10:04 2014 +0000
Child:
1:47f2cf4c6619
Commit message:
first library test

Changed in this revision

PCA9547.cpp Show annotated file Show diff for this revision Revisions of this file
PCA9547.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PCA9547.cpp	Tue Jul 01 00:10:04 2014 +0000
@@ -0,0 +1,19 @@
+#include "PCA9547.h"
+
+PCA9547::PCA9547( PinName sda, PinName scl, char i2c_address ) : i2c( sda, scl ), _i2c_addr( i2c_address )
+{
+    //  do nothing.
+    //  leave it in default state.
+}
+
+PCA9547::~PCA9547()
+{
+
+}
+
+void PCA9547::select( char channel )
+{
+    char    data    = 0x08 | channel;
+
+    i2c.write( _i2c_addr, &data, 1);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PCA9547.h	Tue Jul 01 00:10:04 2014 +0000
@@ -0,0 +1,20 @@
+#ifndef MBED_PCA9547_H
+#define MBED_PCA9547_H
+
+#include "mbed.h"
+
+class PCA9547
+{
+public:
+    PCA9547( PinName sda, PinName scl, char i2c_address = 0xE0 );
+
+    ~PCA9547();
+
+    void select( char channel );
+
+private:
+    I2C     i2c;
+    char    _i2c_addr;
+};
+
+#endif  //  MBED_PCA9547_H
\ No newline at end of file