![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
Diff: prompt.cpp
- Revision:
- 121:ee02790d00b7
- Parent:
- 120:770f00554b1e
- Child:
- 122:480c44b0e205
diff -r 770f00554b1e -r ee02790d00b7 prompt.cpp --- a/prompt.cpp Mon May 04 17:25:29 2015 +0000 +++ b/prompt.cpp Fri May 08 04:15:23 2015 +0000 @@ -16,12 +16,10 @@ char eth_udp_buffer[ PROMPT_ETH_BUFFER_SIZE ]; char gp_buff[ DEBUGBUFSIZE ]; -FILE *fip, *fmask, *fgate, *fport, *fsip, *fsport, *fext, *fserext, *fudpport, *ftcpport, *ffwip, *ffwport, *fmax, *fmin, *fshift_port; - uint16_t bufptr = 0; uint16_t last_bufptr = 0; -int init_prompt_eth () +int init_prompt_eth ( void ) { int return_value = 0; @@ -2079,7 +2077,7 @@ } } - else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dboot ", 6 ) ) { + else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dboot ", 6 ) ) { if (xmemmatch( (uint8_t*)( debug_buf + 6 ), (uint8_t*) "on", 2 ) ) { miss_match = false; if( debug_uart3 && !( from_eth ) ) pc.printf("\r\nBoot Debug ON"); @@ -2110,6 +2108,37 @@ } } + else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dbloader ", 9 ) ) { + if (xmemmatch( (uint8_t*)( debug_buf + 9 ), (uint8_t*) "on", 2 ) ) { + miss_match = false; + if( debug_uart3 && !( from_eth ) ) pc.printf( "\n\rBootloader Debug ON\n\r" ); + if( from_eth ) { + snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Bootloader Debug On\n\r" ); + debug_buf[ strlen( debug_buf ) - 1 ] = '\0'; + if( tcp_session && !udp_query ) { + tcp_client.send_all( debug_buf, strlen( debug_buf ) ); + } else if( udp_query ) { + udp_query_send_msg( debug_buf ); + } + } + debug_bootloader = true; + } + if (xmemmatch( (uint8_t*)( debug_buf + 9 ), (uint8_t*) "off", 3 ) ) { + miss_match = false; + if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rBootloader Debug OFF\n\r"); + if( from_eth ) { + snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Bootloader Debug Off\n\r" ); + debug_buf[ strlen( debug_buf ) - 1 ] = '\0'; + if( tcp_session && !udp_query ) { + tcp_client.send_all( debug_buf, strlen( debug_buf ) ); + } else if( udp_query ) { + udp_query_send_msg( debug_buf ); + } + } + debug_bootloader = false; + } + } + else if (xmemmatch( (uint8_t*)debug_buf, (uint8_t*) "dfw ", 4 ) ) { if (xmemmatch( (uint8_t*)( debug_buf + 4 ), (uint8_t*) "on", 2 ) ) { miss_match = false; @@ -2576,9 +2605,9 @@ } } - if( debug_uart3 && !( from_eth ) ) pc.printf("PROMPT VERSION: V%d\n\r", PVERSION); + if( debug_uart3 && !( from_eth ) ) pc.printf("PROMPT VERSION: V%d -- %s - %s\n\r", PVERSION, __DATE__, __TIME__ ); if( from_eth ) { - snprintf( debug_buf,PROMPT_ETH_BUFFER_SIZE, "PROMPT VERSION: V%d\n\r", PVERSION); + snprintf( debug_buf,PROMPT_ETH_BUFFER_SIZE, "PROMPT VERSION: V%d -- %s - %s\n\r", PVERSION, __DATE__, __TIME__); if( tcp_session && !udp_query ) { while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); } else if( udp_query ) { @@ -2712,514 +2741,4 @@ } } return( NULL ); -}//fim prompt_process - -// operantion with the system config files -void files( const char type ) -{ - // show files - if (type == 's' ) { - - if( debug_uart3 && !( from_eth ) ) pc.printf("Header IP " ); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Header IP " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/myip.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Header ext "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Header ext " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/myext.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Header port "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Header port " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/mysipport.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Server IP "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Server IP " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/serverip.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Server ext "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Server ext " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/peerext.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Server port "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Server port " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - cat("/qspi/serverport.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Mascara de rede "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Mascara de rede " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - cat("/qspi/mymask.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Gateway IP "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Gateway IP " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - cat("/qspi/mygateway.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("UDP Port "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "UDP Port " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/udpport.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("TCP Port "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "TCP Port " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/tcpport.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("FW Server IP "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "FW Server IP " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/fw_ip.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("FW Server Port "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "FW Server Port " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/fw_port.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Max Ext "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Max Ext " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/maxext.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Min Ext "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Min Ext " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/minext.txt"); - - if( debug_uart3 && !( from_eth ) ) pc.printf("Shift Port "); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Shift Port " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - - else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - } - - cat("/qspi/shift_port.txt"); - - - //*------------ formatando a saida ----------------*// - strcpy( last_cmd, tmp_cmd ); - bufptr = 0; - for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0; - - if( from_eth ) { - - if( tcp_session && !udp_query ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "> " ); - if( tcp_session && !udp_query ) while( !( tcp_client.send_all( debug_buf, strlen( debug_buf ) ) ) ); - } else if( udp_query ) { - udp_query_send_msg( "> " ); - - } - } - } - - if (type == 'c' ) { - // close all files - if( fip ) fclose( fip ); - if( fmask ) fclose( fmask ); - if( fgate ) fclose( fgate ); - if( fport )fclose( fport ); - if( fsip ) fclose( fsip ); - if( fsport ) fclose( fsport ); - if( fext ) fclose( fext ); - if( fserext ) fclose( fserext ); - if( fudpport ) fclose( fudpport ); - if( ftcpport ) fclose( ftcpport ); - if( fmax ) fclose( fmax ); - if( fmin ) fclose( fmin ); - if( ffwip ) fclose( ffwip ); - if( ffwport) fclose( ffwport ); - if( fshift_port ) fclose ( fshift_port ); - } - - - // Check if files exist, if not create the files - //fixme criar um bool pra cada file - if (type == 'i' ) - { - bool exists = true; - - fip = fopen("/qspi/myip.txt", "r"); - if( fip == NULL) { - set_ip( MY_IP ); - exists = false; - } - if ( fip ) fclose ( fip ); - fip = NULL; - - fserext = fopen("/qspi/myext.txt", "r"); - if( fserext == NULL ) { - set_header_ext( MY_EXT ); - exists = false; - } - if ( fserext ) fclose ( fserext ); - fserext = NULL; - - fport = fopen("/qspi/mysipport.txt", "r"); - if (fport == NULL) { - set_header_sip_port( MY_PORT ); - exists = false; - } - if ( fport ) fclose ( fport ); - fport = NULL; - - fsip = fopen("/qspi/serverip.txt", "r"); - if (fsip == NULL) { - set_server_ip( SERVER_IP ); - exists = false; - } - if ( fsip ) fclose ( fsip ); - fsip = NULL; - - fext = fopen("/qspi/peerext.txt", "r"); - if ( fext == NULL ) { - set_server_ext( PEER_EXT ); - exists = false; - } - if ( fext ) fclose ( fext ); - fext = NULL; - - fsport = fopen("/qspi/serverport.txt", "r"); - if (fsport == NULL) { - set_server_port( SERVER_PORT ); - exists = false; - } - if ( fsport ) fclose ( fsport ); - fsport = NULL; - - fmask = fopen("/qspi/mymask.txt", "r"); - if (fmask == NULL) { - set_mask( MY_MSK ); - exists = false; - } - if ( fmask ) fclose ( fmask ); - fmask = NULL; - - fgate = fopen("/qspi/mygateway.txt", "r"); - if (fgate == NULL) { - set_gateway( MY_GTW ); - exists = false; - } - if ( fgate ) fclose ( fgate ); - fgate = NULL; - - fudpport = fopen("/qspi/udpport.txt", "r" ); - if( fudpport == NULL ) { - set_udp_port_listener( UDP_PORT_LISTENER ); - exists = false; - } - if ( fudpport ) fclose ( fudpport ); - fudpport = NULL; - - ftcpport = fopen("/qspi/tcpport.txt", "r" ); - if( ftcpport == NULL ) { - set_tcp_port_listener( TCP_PORT_LISTENER ); - exists = false; - } - if ( ftcpport ) fclose ( ftcpport ); - ftcpport = NULL; - - ffwip = fopen("/qspi/fw_ip.txt", "r" ); - if( ffwip == NULL ) { - set_fw_ip( __FW_SERVER_IP__ ); - exists = false; - } - if ( ffwip ) fclose ( ffwip ); - ffwip = NULL; - - ffwport = fopen("/qspi/fw_port.txt", "r" ); - if( ffwport == NULL ) { - set_fw_port( __FW_SERVER_PORT__ ); - exists = false; - } - if ( ffwport ) fclose ( ffwport ); - ffwport = NULL; - - fmax = fopen("/qspi/maxext.txt", "r" ); - if( fmax == NULL ) { - set_max_ext( MAX_EXT ); - exists = false; - } - if ( fmax ) fclose ( fmax ); - fmax = NULL; - - fmin = fopen("/qspi/minext.txt", "r" ); - if( fmin == NULL ) { - if( debug_file ) debug_msg("Don't exist /qspi/minext.txt"); - set_min_ext( MIN_EXT ); - exists = false; - } - if ( fmin ) fclose ( fmin ); - fmin = NULL; - - fshift_port = fopen("/qspi/shift_port.txt", "r" ); - if( fshift_port == NULL ) - { - if( debug_file ) debug_msg("Don't exist /qspi/shift_port.txt"); - set_shift_port( SHIFT_PORT ); - exists = false; - } - if ( fshift_port ) fclose ( fshift_port ); - fshift_port = NULL; - - if( !exists ) { - if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rDefault configurations set!\n\r"); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "Default configurations set!\n\r"); - debug_buf[ strlen( debug_buf ) - 1 ] = '\0'; - if( tcp_session && !udp_query ) { - tcp_client.send_all( debug_buf, strlen( debug_buf ) ); - bufptr = 0; - for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0; - } - } - } - reset_leds(); - } - - if (type == 'r' ) { - // Just open for read - fip = fopen("/qspi/myip.txt", "r"); - fmask = fopen("/qspi/mymask.txt", "r"); - fgate = fopen("/qspi/mygateway.txt", "r"); - fport = fopen("/qspi/mysipport.txt", "r"); - fsip = fopen("/qspi/serverip.txt", "r"); - fsport = fopen("/qspi/serverport.txt", "r"); - fext = fopen( "/qspi/myext.txt", "r" ); - fserext = fopen( "/qspi/peerext.txt", "r" ); - fudpport = fopen( "/qspi/udpport.txt", "r" ); - ftcpport = fopen( "/qspi/tcpport.txt", "r" ); - ffwip = fopen("/qspi/fw_ip.txt", "r" ); - ffwport = fopen("/qspi/fw_port.txt", "r" ); - fmax = fopen("/qspi/maxext.txt", "r" ); - fmin = fopen("/qspi/minext.txt", "r" ); - fshift_port = fopen("/qspi/shift_port.txt", "r" ); - - } - - if( type == 'w') { - - // Create and write the default configs - set_ip( MY_IP ); - - set_header_sip_port( MY_PORT ); - - set_header_ext( MY_EXT ); - - set_server_ip( SERVER_IP ); - - set_server_ext( PEER_EXT ); - - set_server_port( SERVER_PORT ); - - set_mask( MY_MSK ); - - set_gateway( MY_GTW ); - - set_udp_port_listener( UDP_PORT_LISTENER ); - - set_tcp_port_listener( TCP_PORT_LISTENER ); - - set_fw_ip( __FW_SERVER_IP__ ); - - set_fw_port( __FW_SERVER_PORT__ ); - - set_max_ext( MAX_EXT ); - - set_min_ext( MIN_EXT ); - - set_shift_port( SHIFT_PORT ); - - strcpy( last_cmd, tmp_cmd ); - - if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rDefault configurations set!\n\r"); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "\n\rDefault configurations set!\n\r"); - debug_buf[ strlen( debug_buf ) - 1 ] = '\0'; - if( tcp_session && !udp_query ) { - tcp_client.send_all( debug_buf, strlen( debug_buf ) ); - } else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - bufptr = 0; - for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0; - } - - } - - if (type == 'e') - { - //Erase configs - fip = fopen("/qspi/myip.txt", "w"); - fmask = fopen("/qspi/mymask.txt", "w"); - fgate = fopen("/qspi/mygateway.txt", "w"); - fport = fopen("/qspi/mysipport.txt", "w"); - fsip = fopen("/qspi/serverip.txt", "w"); - fsport = fopen("/qspi/serverport.txt", "w"); - fext = fopen( "/qspi/myext.txt", "w" ); - fserext = fopen( "/qspi/peerext.txt", "w" ); - fudpport = fopen( "/qspi/udpport.txt", "w" ); - ftcpport = fopen( "/qspi/tcpport.txt", "w" ); - ffwip = fopen("/qspi/fw_ip.txt", "w" ); - ffwport = fopen("/qspi/fw_port.txt", "w" ); - fmax = fopen("/qspi/maxext.txt", "w" ); - fmin = fopen("/qspi/minext.txt", "w" ); - fshift_port = fopen("/qspi/shift_port.txt", "w" ); - - if( fip ) fprintf( fip, "%s\n\r", "" ); - if( fport ) fprintf( fport, "%i\n\r", 0 ); - if( fext ) fprintf( fext, "%i\n\r", 0 ); - - if( fsip ) fprintf( fsip, "%s\n\r", "" ); - if( fserext ) fprintf( fserext, "%i\n\r", 0 ); - if( fsport ) fprintf( fsport, "%i\n\r", 0 ); - - if( fmask ) fprintf( fmask, "%s\n\r","" ); - if( fgate ) fprintf( fgate, "%s\n\r", "" ); - - if( fudpport ) fprintf( fudpport, "%i\n\r", 0 ); - if( ftcpport ) fprintf( ftcpport, "%i\n\r", 0 ); - - if( ffwip ) fprintf( ffwip, "%s\n\r","" ); - if( ffwport ) fprintf( ffwport, "%i\n\r",0 ); - - if( fmax ) fprintf( fmax, "%i\n\r", 0 ); - if( fmin ) fprintf( fmin, "%i\n\r", 0 ); - - if( fshift_port ) fprintf( fshift_port, "%i\n\r", 0 ); - - files('c'); - - if( debug_uart3 && !( from_eth ) ) pc.printf("\n\rErased configurations set!\n\r"); - if( from_eth ) { - snprintf( debug_buf, PROMPT_ETH_BUFFER_SIZE, "\n\rErased configurations set!\n\r"); - debug_buf[ strlen( debug_buf ) - 1 ] = '\0'; - if( tcp_session && !udp_query ) { - tcp_client.send_all( debug_buf, strlen( debug_buf ) ); - } else if( udp_query ) { - udp_query_send_msg( debug_buf ); - } - bufptr = 0; - for( register int i = 0; i < DEBUGBUFSIZE; i++ ) debug_buf[ i ] = 0; - } - - } -} - -int init_fsystem(){ - // init file system and check if files exist - - int return_value = 0; - - if (!qspifs.isformatted()) { - qspifs.format(); - return_value |= BIT0; - } - // check if the files are created - files('i'); - files('c'); - - return ( return_value |= BIT1 ); -} \ No newline at end of file +}//fim prompt_process \ No newline at end of file