Add to 11U68 11E68
Dependencies: DirectoryList MODSERIAL mbed
Fork of ika_shouyu_poppoyaki by
Diff: main.cpp
- Revision:
- 21:e149d0bdbf4a
- Parent:
- 20:98d7b5878e3e
- Child:
- 22:bd98a782fba6
--- a/main.cpp Fri Sep 13 02:50:11 2013 +0000 +++ b/main.cpp Fri Sep 13 03:09:09 2013 +0000 @@ -23,23 +23,17 @@ #include "mbed.h" #include "target_table.h" +#include "command_utilities.h" +#include "ika.h" + BusOut leds( LED4, LED3, LED2, LED1 ); DigitalOut reset_pin( p26 ); DigitalOut isp_pin( p25 ); -Serial pc ( USBTX,USBRX ); LocalFileSystem local( "local" ); Ticker success; -#if 0 -Serial target( p28, p27 ); -#else -#define MODSERIAL_DEFAULT_RX_BUFFER_SIZE 512 -#define MODSERIAL_DEFAULT_TX_BUFFER_SIZE 512 -#include "MODSERIAL.h" -MODSERIAL target( p28, p27 ); // -#endif @@ -89,10 +83,7 @@ int get_flash_writing_size( int ram_size, unsigned int ram_start ); void add_isp_checksum( char *b ); void send_RAM_transfer_checksum( int checksum ); -void put_string( char *s ); -void put_binary( char *b, int size ); -void get_string( char *s ); -int get_binary( char *b, int length ); + void success_indicator(); @@ -152,7 +143,7 @@ #define AUTO_PROGRAM_START #ifdef AUTO_PROGRAM_START - target.baud( TARGET_OPERATION_BAUD_RATE ); + set_target_baud_rate( TARGET_OPERATION_BAUD_RATE ); reset_target( NO_ISP_MODE ); printf( " ** The program in flash has been started!!\r\n" ); @@ -162,16 +153,7 @@ success.attach( &success_indicator, 0.1 ); - while (1) { - - if ( pc.readable() ) { - target.putc( pc.getc() ); - } - - if ( target.readable() ) { - pc.putc( target.getc() ); - } - } + usb_serial_bridge_operation(); // doesn't return. infinite loop in this function } @@ -181,7 +163,7 @@ char str_buf0[ STR_BUFF_SIZE ]; char str_buf1[ STR_BUFF_SIZE ]; - target.baud( baud_date ); + set_target_baud_rate( baud_date ); reset_target( ENTER_TO_ISP_MODE ); @@ -324,15 +306,6 @@ } -char read_byte( void ) -{ - while ( !target.readable() ) - ; - - return ( target.getc() ); -} - - void erase_sectors( int last_sector ) { char command_str[ STR_BUFF_SIZE ]; @@ -769,82 +742,6 @@ } -void put_string( char *s ) -{ - char c; - static int i = 0; - - while ( c = *s++ ) { - target.putc( c ); - leds = i++ & 0x1; - } -} - - -void put_binary( char *b, int size ) -{ - for ( int i = 0; i < size; i++ ) - target.putc( *b++ ); -} - - -Timeout timeout; - -int timeout_flag = 0; - -void set_flag() -{ - timeout_flag = 1; -} - - -void get_string( char *s ) -{ - int i = 0; - char c = 0; - timeout_flag = 0; - - timeout.attach( &set_flag, 1 ); - - do { - do { - if ( target.readable() ) { - c = target.getc(); - - if ( ( c == '\n') || (c == '\r') ) - break; - - *s++ = c; - i++; - } - - if ( timeout_flag ) - return; - } while ( 1 ); - } while ( !i ); - - *s = '\0'; -} - - -int get_binary( char *b, int length ) -{ - int i; - - timeout_flag = 0; - timeout.attach( &set_flag, 1 ); - - for ( i = 0; i < length; i++ ) { - if ( target.readable() ) - *b++ = target.getc(); - - if ( timeout_flag ) - return ( i ); - } - - return ( i ); -} - void success_indicator() { @@ -852,3 +749,9 @@ leds = 0x1 << (i++ & 0x3); } + + +void set_leds( char v ) +{ + leds = v; +}