test version 0.2

Dependents:   SC18IS606_Hello SC18IS606_EEPROM_access_test SC18IS606_OS6_Hello

Revision:
5:436b2c7854e8
Parent:
4:ac0aef91fd94
Child:
6:cfe7ec4f2b59
--- a/SC18IS606.cpp	Sun Jul 25 08:30:08 2021 +0000
+++ b/SC18IS606.cpp	Wed Jul 28 01:26:27 2021 +0000
@@ -32,50 +32,63 @@
 
 int SC18IS606::init( void )
 {
+    int err;
+    
     wait_transfer_completion    = NULL;
-    clear_interrupt();
+    err = clear_interrupt();
     
-    return 0;   //  dummy
+    return err;
 }
 
 int SC18IS606::transfer( int slave_select_num, char *send_data_ptr, int length )
 {
     char    *p;
+    int     err;
+
     p   = new char[ length + 1 ];
     
     *p  = SPI_read_and_write | (0x1 << slave_select_num);
     memcpy( p + 1, send_data_ptr, length );
-    i2c.write( device_address, p, length + 1 );
+    err = i2c.write( device_address, p, length + 1 );
     delete[]    p;
     
+    if ( err )
+        return err;
+    
     if ( NULL != wait_transfer_completion )
         (*wait_transfer_completion)();
 
-    return 0;   //  dummy
+    return err;
 }
 
 int SC18IS606::read_buffer( char *receive_data_ptr, int length )
 {
+    int     err;
+
     if ( receive_data_ptr )
-        i2c.read( device_address, receive_data_ptr, length );
+        err = i2c.read( device_address, receive_data_ptr, length );
     
-    return 0;   //  dummy
+    return err;
 }
 
 int SC18IS606::config( FunctionID fid, char data )
 {
     char    s[ 2 ];
+    int     err;
+
     s[ 0 ]  = fid;
     s[ 1 ]  = data;
-    i2c.write( device_address, s, sizeof( s ) );
+    err = i2c.write( device_address, s, sizeof( s ) );
     
-    return 0;   //  dummy
+    return err;
 }
 
 int SC18IS606::clear_interrupt( void )
 {
     char    c   = Clear_Interrupt;
-    i2c.write( device_address, &c, sizeof( c ) );    
+    int     err;
+    
+    err = i2c.write( device_address, &c, sizeof( c ) );    
 
-    return 0;   //  dummy
+    return err;
 }