Ika Shouyu Poppoyaki - LPC82x supported

Dependencies:   MODSERIAL mbed

Fork of ika_shouyu_poppoyaki by Tedd OKANO

Revision:
29:96e28bc1bd99
Parent:
28:689c3880e0e4
Child:
30:e0d7524661ca
--- a/writing.cpp	Fri Sep 20 00:40:08 2013 +0000
+++ b/writing.cpp	Fri Sep 20 01:48:26 2013 +0000
@@ -8,28 +8,28 @@
 #include    "error_code.h"
 
 
-int     write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int  );
-int     write_binary_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start );
+int     write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p );
+int     write_binary_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p );
 int     get_flash_writing_size( int ram_size, unsigned int ram_start );
 
 
-int write_flash( FILE *fp, target_param *tpp )
+int write_flash( FILE *fp, target_param *tpp, int *transferred_size_p )
 {
     if ( tpp->write_type == BINARY )
-        return ( 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, transferred_size_p ) );
     else // UUENCODE
-        return ( write_uuencoded_data(  fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address ) );
+        return ( write_uuencoded_data(  fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address, transferred_size_p ) );
 }
 
 
-int write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start )
+int write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p )
 {
 #define     BYTES_PER_LINE      45
 
     char    command_str[ STR_BUFF_SIZE ];
     long    checksum        = 0;
+    int     size;
     int     total_size      = 0;
-    int     size;
 
     int     flash_writing_size;
     int     lines_per_transfer;
@@ -37,6 +37,7 @@
 
     char    *b;
 
+
     initialize_uue_table();
 
     flash_writing_size  = get_flash_writing_size( ram_size, ram_start );
@@ -96,19 +97,21 @@
     }
 
     free( b );
+    *total_size_p   = total_size;
 
     return ( NO_ERROR );
 }
 
 
-int write_binary_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start )
+int write_binary_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p )
 {
     char    command_str[ STR_BUFF_SIZE ];
-    int     total_size      = 0;
+    int     total_size  = 0;
     int     size;
     int     flash_writing_size;
     char    *b;
 
+
     flash_writing_size  = 256;
 
     if ( NULL == (b     = (char *)malloc( flash_writing_size * sizeof( char ) )) )
@@ -143,6 +146,7 @@
     }
 
     free( b );
+    *total_size_p   = total_size;
 
     return ( NO_ERROR );
 }