test version 0.2

Dependents:   SC18IS606_Hello SC18IS606_EEPROM_access_test SC18IS606_OS6_Hello

Revision:
0:d4d72026aaf3
Child:
1:b44f801ac9f2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SC18IS606.h	Tue Jul 13 08:33:47 2021 +0000
@@ -0,0 +1,94 @@
+/*
+ *  SC18IS606 library
+ *
+ *  @author     Akifumi (Tedd) OKANO, NXP Semiconductors
+ *  @version    0.1
+ *  @date       13-July-2021
+ *
+ *  SC18IS606 is a
+ *  http://www.nxp.com/
+ *
+ *  RTC initializing part is ported from..
+ *    http://mbed.org/users/roen/notebook/real-time/
+ */
+
+#ifndef        MBED_SC18IS606
+#define        MBED_SC18IS606
+
+#include    "mbed.h"
+
+/** SC18IS606 class
+ *
+ *  This is a driver code for the SC18IS606:  *
+ *  Example:
+ *  @code
+ *  #include "mbed.h"
+ *  @endcode
+ */
+
+#define     DEFAULT_I2C_SLAVE_ADDRESS   0x50
+
+class SC18IS606
+{
+public:
+
+    /** Function IDs */
+    typedef enum {
+        SPI_read_and_write      = 0x00,
+        Configure_SPI_Interface = 0xF0,
+        Clear_Interrupt,
+        Idle_mode,
+        GPIO_Write  = 0xF4,
+        GPIO_Read,
+        GPIO_Enable,
+        GPIO_Configuration
+    }
+    FunctionID;
+
+    /** Create a SC18IS606 instance connected to specified I2C pins with specified address
+     *
+     *  @param I2C_sda      I2C-bus SDA pin
+     *  @param I2C_scl      I2C-bus SCL pin
+     */
+    SC18IS606( PinName sda, PinName scl, char i2c_address = DEFAULT_I2C_SLAVE_ADDRESS );
+
+    /** Create a SC18IS606 instance connected to specified I2C pins with specified address
+     *
+     *  @param i2c          I2C object (instance)
+     */
+    PCF2127( I2C &i2c, char i2c_address = DEFAULT_I2C_SLAVE_ADDRESS );
+
+    /** Destractor
+     */
+    ~PCF2127();
+
+    /** Transfer (send and receive) data
+     *
+     *  @param send_ptr     Send_data_ptr
+     *  @param receive_ptr  Receive_data_ptr
+     *  @param length       Length of data array
+     *  @return             dummy
+     */
+    int transfer( char *send_data_ptr, char *receive_data_ptr, int length );
+
+    /** Set congiguration
+     *
+     *  @param data     Donfig data byte
+     *  @return         dummy
+     */
+    int     config( FunctionID fid, char data );
+
+private:
+
+    enum {
+        DEFAULT_I2C_SLAVE_ADDRESS   = 0x90
+    };
+
+    I2C     *i2c_p;
+    I2C     &i2c;
+    char    device_address;
+};
+
+}
+;
+#endif  // end of "#ifndef MBED_SC18IS606"