diff --git a/src/DAP_config.h b/src/DAP_config.h index cc7b126..268f576 100644 --- a/src/DAP_config.h +++ b/src/DAP_config.h @@ -139,19 +139,19 @@ of the same I/O port. The following SWDIO I/O Pin functions are provided: // Configure DAP I/O pins ------------------------------ -#define TMS_SWDIO RI +#define TMS_SWDIO RTS #define TCK_SWCLK TXD #define TDO_SWO RXD #define TDI DCD #define nRESET DTR -#define nTRST RTS +#define nTRST RI #define LED_CONN CTS #define LED_RUN DSR static __inline const char* pin_to_str(uint8_t pin){ switch(pin){ case TMS_SWDIO: - return "TMS_SWDIO(RI)"; + return "TMS_SWDIO(RTS)"; case TCK_SWCLK: return "TCK_SWCLK(TXD)"; case TDO_SWO: @@ -161,7 +161,7 @@ static __inline const char* pin_to_str(uint8_t pin){ case nRESET: return "nRESET(DTR)"; case nTRST: - return "nTRST(RTS)"; + return "nTRST(RI)"; case LED_CONN: return "LED_CONN(CTS)"; case LED_RUN: @@ -203,18 +203,17 @@ static __forceinline void FTDI_WRITE_OUT( ) { } FTDI_WRITE_OUT_READ_MODE( ); - /* every generates the same amout of reads */ + /* every write generates the same amout of reads */ success = 0; - while(success == 0) { + while(out_state_buff_pos!=0) { success = ftdi_read_data(&__ftdic,in_buff,out_state_buff_pos); + if( success < 0 ) { + DEBUG("Could not read pins: %s\n",ftdi_get_error_string(&__ftdic)); + exit(1); + } + out_state_buff_pos -= success; } - if( success != out_state_buff_pos ){ - DEBUG("Could not read pins: %s\n",ftdi_get_error_string(&__ftdic)); - exit(1); - } - - out_state_buff_pos = 0; } diff --git a/src/Debug.h b/src/Debug.h index 0b9e51b..b000b0b 100644 --- a/src/Debug.h +++ b/src/Debug.h @@ -10,7 +10,8 @@ #ifndef SRC_DEBUG_H_ #define SRC_DEBUG_H_ -#ifdef DEBUG_TARGET +#define DEBUG_OUT +#ifdef DEBUG_OUT # define DEBUG(format, ...) fprintf (stderr, format, ##__VA_ARGS__) #else # define DEBUG(format, ...) diff --git a/src/socket_ipc.c b/src/socket_ipc.c index a2ffcff..0a4d44a 100644 --- a/src/socket_ipc.c +++ b/src/socket_ipc.c @@ -67,10 +67,14 @@ void wait_for_client(void) { serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY; serv_addr.sin_port = htons(portno); - if (bind(sockfd, (struct sockaddr *) &serv_addr, - sizeof(serv_addr)) < 0){ - DEBUG("ERROR on binding"); - exit(1); + int yes = 1; + if ( setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) < 0){ + DEBUG("ERROR on binding"); + exit(1); + } + if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0){ + DEBUG("ERROR on binding"); + exit(1); } listen(sockfd,5);