test version 0.2

Dependents:   SC18IS606_Hello SC18IS606_EEPROM_access_test SC18IS606_OS6_Hello

Committer:
okano
Date:
Tue Jul 13 08:33:47 2021 +0000
Revision:
0:d4d72026aaf3
Child:
1:b44f801ac9f2
trial0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okano 0:d4d72026aaf3 1 /*
okano 0:d4d72026aaf3 2 * SC18IS606 library
okano 0:d4d72026aaf3 3 *
okano 0:d4d72026aaf3 4 * @author Akifumi (Tedd) OKANO, NXP Semiconductors
okano 0:d4d72026aaf3 5 * @version 0.1
okano 0:d4d72026aaf3 6 * @date 13-July-2021
okano 0:d4d72026aaf3 7 *
okano 0:d4d72026aaf3 8 * SC18IS606 is a
okano 0:d4d72026aaf3 9 * http://www.nxp.com/
okano 0:d4d72026aaf3 10 *
okano 0:d4d72026aaf3 11 * RTC initializing part is ported from..
okano 0:d4d72026aaf3 12 * http://mbed.org/users/roen/notebook/real-time/
okano 0:d4d72026aaf3 13 */
okano 0:d4d72026aaf3 14
okano 0:d4d72026aaf3 15 #ifndef MBED_SC18IS606
okano 0:d4d72026aaf3 16 #define MBED_SC18IS606
okano 0:d4d72026aaf3 17
okano 0:d4d72026aaf3 18 #include "mbed.h"
okano 0:d4d72026aaf3 19
okano 0:d4d72026aaf3 20 /** SC18IS606 class
okano 0:d4d72026aaf3 21 *
okano 0:d4d72026aaf3 22 * This is a driver code for the SC18IS606: *
okano 0:d4d72026aaf3 23 * Example:
okano 0:d4d72026aaf3 24 * @code
okano 0:d4d72026aaf3 25 * #include "mbed.h"
okano 0:d4d72026aaf3 26 * @endcode
okano 0:d4d72026aaf3 27 */
okano 0:d4d72026aaf3 28
okano 0:d4d72026aaf3 29 #define DEFAULT_I2C_SLAVE_ADDRESS 0x50
okano 0:d4d72026aaf3 30
okano 0:d4d72026aaf3 31 class SC18IS606
okano 0:d4d72026aaf3 32 {
okano 0:d4d72026aaf3 33 public:
okano 0:d4d72026aaf3 34
okano 0:d4d72026aaf3 35 /** Function IDs */
okano 0:d4d72026aaf3 36 typedef enum {
okano 0:d4d72026aaf3 37 SPI_read_and_write = 0x00,
okano 0:d4d72026aaf3 38 Configure_SPI_Interface = 0xF0,
okano 0:d4d72026aaf3 39 Clear_Interrupt,
okano 0:d4d72026aaf3 40 Idle_mode,
okano 0:d4d72026aaf3 41 GPIO_Write = 0xF4,
okano 0:d4d72026aaf3 42 GPIO_Read,
okano 0:d4d72026aaf3 43 GPIO_Enable,
okano 0:d4d72026aaf3 44 GPIO_Configuration
okano 0:d4d72026aaf3 45 }
okano 0:d4d72026aaf3 46 FunctionID;
okano 0:d4d72026aaf3 47
okano 0:d4d72026aaf3 48 /** Create a SC18IS606 instance connected to specified I2C pins with specified address
okano 0:d4d72026aaf3 49 *
okano 0:d4d72026aaf3 50 * @param I2C_sda I2C-bus SDA pin
okano 0:d4d72026aaf3 51 * @param I2C_scl I2C-bus SCL pin
okano 0:d4d72026aaf3 52 */
okano 0:d4d72026aaf3 53 SC18IS606( PinName sda, PinName scl, char i2c_address = DEFAULT_I2C_SLAVE_ADDRESS );
okano 0:d4d72026aaf3 54
okano 0:d4d72026aaf3 55 /** Create a SC18IS606 instance connected to specified I2C pins with specified address
okano 0:d4d72026aaf3 56 *
okano 0:d4d72026aaf3 57 * @param i2c I2C object (instance)
okano 0:d4d72026aaf3 58 */
okano 0:d4d72026aaf3 59 PCF2127( I2C &i2c, char i2c_address = DEFAULT_I2C_SLAVE_ADDRESS );
okano 0:d4d72026aaf3 60
okano 0:d4d72026aaf3 61 /** Destractor
okano 0:d4d72026aaf3 62 */
okano 0:d4d72026aaf3 63 ~PCF2127();
okano 0:d4d72026aaf3 64
okano 0:d4d72026aaf3 65 /** Transfer (send and receive) data
okano 0:d4d72026aaf3 66 *
okano 0:d4d72026aaf3 67 * @param send_ptr Send_data_ptr
okano 0:d4d72026aaf3 68 * @param receive_ptr Receive_data_ptr
okano 0:d4d72026aaf3 69 * @param length Length of data array
okano 0:d4d72026aaf3 70 * @return dummy
okano 0:d4d72026aaf3 71 */
okano 0:d4d72026aaf3 72 int transfer( char *send_data_ptr, char *receive_data_ptr, int length );
okano 0:d4d72026aaf3 73
okano 0:d4d72026aaf3 74 /** Set congiguration
okano 0:d4d72026aaf3 75 *
okano 0:d4d72026aaf3 76 * @param data Donfig data byte
okano 0:d4d72026aaf3 77 * @return dummy
okano 0:d4d72026aaf3 78 */
okano 0:d4d72026aaf3 79 int config( FunctionID fid, char data );
okano 0:d4d72026aaf3 80
okano 0:d4d72026aaf3 81 private:
okano 0:d4d72026aaf3 82
okano 0:d4d72026aaf3 83 enum {
okano 0:d4d72026aaf3 84 DEFAULT_I2C_SLAVE_ADDRESS = 0x90
okano 0:d4d72026aaf3 85 };
okano 0:d4d72026aaf3 86
okano 0:d4d72026aaf3 87 I2C *i2c_p;
okano 0:d4d72026aaf3 88 I2C &i2c;
okano 0:d4d72026aaf3 89 char device_address;
okano 0:d4d72026aaf3 90 };
okano 0:d4d72026aaf3 91
okano 0:d4d72026aaf3 92 }
okano 0:d4d72026aaf3 93 ;
okano 0:d4d72026aaf3 94 #endif // end of "#ifndef MBED_SC18IS606"