test version 0.2
Dependents: SC18IS606_Hello SC18IS606_EEPROM_access_test SC18IS606_OS6_Hello
SC18IS606.h
- Committer:
- okano
- Date:
- 2021-07-13
- Revision:
- 1:b44f801ac9f2
- Parent:
- 0:d4d72026aaf3
- Child:
- 2:4e64923032ad
File content as of revision 1:b44f801ac9f2:
/* * SC18IS606 library * * @author Akifumi (Tedd) OKANO, NXP Semiconductors * @version 0.1 * @date 13-July-2021 * * SC18IS606 is an "I2C-bus to SPI bridge" * http://www.nxp.com/ (product infomation page will be updated later) */ #include "mbed.h" #ifndef MBED_SC18IS606 #define MBED_SC18IS606 /** SC18IS606 class * * This is a driver code for the SC18IS606: * * Example: * @code * #include "mbed.h" * @endcode */ 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) */ SC18IS606( I2C &i2c, char i2c_address = DEFAULT_I2C_SLAVE_ADDRESS ); /** Destractor */ ~SC18IS606(); /** 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 ); /** Clear interrupt * * @return dummy */ int clear_interrupt( void ); private: enum { DEFAULT_I2C_SLAVE_ADDRESS = 0x50 }; int init( void ); I2C *i2c_p; I2C &i2c; char device_address; }; #endif // end of "#ifndef MBED_SC18IS606"