test version 0.2
Dependents: SC18IS606_Hello SC18IS606_EEPROM_access_test SC18IS606_OS6_Hello
SC18IS606.h
- Committer:
- okano
- Date:
- 2021-07-13
- Revision:
- 0:d4d72026aaf3
- Child:
- 1:b44f801ac9f2
File content as of revision 0:d4d72026aaf3:
/* * 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"