Ika Shouyu Poppoyaki - LPC82x supported

Dependencies:   MODSERIAL mbed

Fork of ika_shouyu_poppoyaki by Tedd OKANO

Revision:
27:2b5c1eb39bb5
Parent:
26:a63e73885b21
Child:
28:689c3880e0e4
--- a/writing.cpp	Fri Sep 13 12:56:23 2013 +0000
+++ b/writing.cpp	Thu Sep 19 01:08:20 2013 +0000
@@ -15,11 +15,9 @@
 int write_flash( FILE *fp, target_param *tpp )
 {
     if ( tpp->write_type == BINARY )
-        write_binary_data( fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address );
+        return ( write_binary_data( fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address ) );
     else // UUENCODE
-        write_uuencoded_data(  fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address );
-        
-    return ( 0 );   //  this is temporallry return code 
+        return ( write_uuencoded_data(  fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address ) );
 }
 
 
@@ -61,7 +59,8 @@
         }
 
         sprintf( command_str, "W %ld %ld\r\n", ram_start, transfer_size );
-        try_and_check( command_str, "0", 0 );
+        if ( try_and_check( command_str, "0", 0 ) )
+            return ( ERROR_AT_WRITE_COMMAND );
 
         for ( int i = 0; i < lines_per_transfer; i++ ) {
 
@@ -81,17 +80,19 @@
         checksum   = 0;
 
         sprintf( command_str, "P %d %d\r\n", total_size / sector_size, total_size / sector_size );
-        try_and_check( command_str, "0", 0 );
+        if ( try_and_check( command_str, "0", 0 ) )
+            return ( ERROR_AT_P_COMMAND );
 
         sprintf( command_str, "C %d %d %d\r\n", total_size, ram_start, flash_writing_size );
-        try_and_check( command_str, "0", 0 );
+        if ( try_and_check( command_str, "0", 0 ) )
+            return ( ERROR_AT_COPY_COMMAND );
 
         total_size  += size;
     }
 
     free( b );
 
-    return ( total_size );
+    return ( NO_ERROR );
 }
 
 
@@ -117,16 +118,19 @@
         }
 
         sprintf( command_str, "W %ld %ld\r\n", ram_start, flash_writing_size );
-        try_and_check( command_str, "0", 0 );
+        if ( try_and_check( command_str, "0", 0 ) )
+            return ( ERROR_AT_WRITE_COMMAND );
 
         put_binary( b, flash_writing_size );
         put_string( "\r\n" );
 
         sprintf( command_str, "P %d %d\r\n", total_size / sector_size, total_size / sector_size );
-        try_and_check( command_str, "0", 0 );
+        if ( try_and_check( command_str, "0", 0 ) )
+            return ( ERROR_AT_P_COMMAND );
 
         sprintf( command_str, "C %d %d %d\r\n", total_size, ram_start, flash_writing_size );
-        try_and_check( command_str, "0", 0 );
+        if ( try_and_check( command_str, "0", 0 ) )
+            return ( ERROR_AT_COPY_COMMAND );
 
         total_size  += size;
         //printf( "  total %d bytes transferred\r", total_size );
@@ -135,7 +139,7 @@
 
     free( b );
 
-    return ( total_size );
+    return ( NO_ERROR );
 }