Add to 11U68 11E68
Dependencies: DirectoryList MODSERIAL mbed
Fork of ika_shouyu_poppoyaki by
Diff: writing.cpp
- 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 ); }