class pah8011 for mbed

Revision:
0:242cf8f28bf2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pah8011/pah_comm_i2c.c	Thu Oct 26 02:49:44 2017 +0000
@@ -0,0 +1,62 @@
+/*==============================================================================
+* Edit History
+* 
+* This section contains comments describing changes made to the module. Notice
+* that changes are listed in reverse chronological order. Please use ISO format
+* for dates.
+* 
+* when       who       what, where, why
+* ---------- ---       -----------------------------------------------------------
+* 2016-10-18 bh        - Add pah_comm_get_bus_type() function.
+* 2016-04-12 bh        - Add license information and revision information
+* 2016-04-07 bh        - Initial revision.
+==============================================================================*/
+
+#include "pah_comm.h"
+
+// platform support
+#include "pah_platform_functions.h"
+
+
+/*============================================================================
+STATIC VARIABLE DEFINITIONS
+============================================================================*/
+
+// valid bank range: 0x00 ~ 0x03
+static uint8_t _curr_bank = 0xFF;
+
+
+/*============================================================================
+PUBLIC FUNCTION DEFINITIONS
+============================================================================*/
+bool pah_comm_write(uint8_t addr, uint8_t data)
+{
+    if (addr == 0x7F)
+    {
+        if (_curr_bank == data)
+            return true;
+
+        if (!i2c_write_reg(0x7F, data))
+            return false;
+
+        _curr_bank = data;
+        return true;
+    }
+
+    return i2c_write_reg(addr, data);
+}
+
+bool pah_comm_read(uint8_t addr, uint8_t *data)
+{
+    return i2c_read_reg(addr, data);
+}
+
+bool pah_comm_burst_read(uint8_t addr, uint8_t *data, uint16_t num)
+{
+    return i2c_burst_read_reg(addr, data, num);
+}
+
+pah_comm_bus_e pah_comm_get_bus_type(void)
+{
+    return pah_comm_bus_i2c;
+}