diff --git a/F0-nolib/F0_testbrd/usb_lib.c b/F0-nolib/F0_testbrd/usb_lib.c index b040170..95381dc 100644 --- a/F0-nolib/F0_testbrd/usb_lib.c +++ b/F0-nolib/F0_testbrd/usb_lib.c @@ -310,17 +310,14 @@ static uint16_t EP0_Handler(ep_t ep){ } }else if (ep.rx_flag){ // got data over EP0 or host acknowlegement if(ep.rx_cnt){ -// EP_WriteIRQ(0, (uint8_t *)0, 0); + //EP_WriteIRQ(0, (uint8_t *)0, 0); if(setup_packet.bRequest == SET_LINE_CODING){ linecoding_handler((usb_LineCoding*)ep0databuf); } } - // Close transaction - epstatus = CLEAR_DTOG_RX(epstatus); - epstatus = CLEAR_DTOG_TX(epstatus); // wait for new data from host epstatus = SET_VALID_RX(epstatus); - epstatus = SET_STALL_TX(epstatus); + epstatus = SET_VALID_TX(epstatus); } else if (ep.tx_flag){ // package transmitted // now we can change address after enumeration if ((USB->DADDR & USB_DADDR_ADD) != USB_Dev.USB_Addr){ diff --git a/F0-nolib/usbcdc/usb_lib.c b/F0-nolib/usbcdc/usb_lib.c index c589351..a88c631 100644 --- a/F0-nolib/usbcdc/usb_lib.c +++ b/F0-nolib/usbcdc/usb_lib.c @@ -330,18 +330,14 @@ uint16_t EP0_Handler(ep_t ep){ } }else if (ep.rx_flag){ // got data over EP0 or host acknowlegement if(ep.rx_cnt){ + //EP_WriteIRQ(0, (uint8_t *)0, 0); if(setup_packet.bRequest == SET_LINE_CODING){ - WRITEDUMP("SET_LINE_CODING"); linecoding_handler((usb_LineCoding*)ep0databuf); } - //EP_WriteIRQ(0, (uint8_t *)0, 0); } - // Close transaction - epstatus = CLEAR_DTOG_RX(epstatus); - epstatus = CLEAR_DTOG_TX(epstatus); // wait for new data from host epstatus = SET_VALID_RX(epstatus); - epstatus = SET_STALL_TX(epstatus); + epstatus = SET_VALID_TX(epstatus); } else if (ep.tx_flag){ // package transmitted // now we can change address after enumeration if ((USB->DADDR & USB_DADDR_ADD) != USB_Dev.USB_Addr){ diff --git a/F1-nolib/F1_testbrd/usb_lib.c b/F1-nolib/F1_testbrd/usb_lib.c index 19f491f..c45f3f2 100644 --- a/F1-nolib/F1_testbrd/usb_lib.c +++ b/F1-nolib/F1_testbrd/usb_lib.c @@ -307,17 +307,14 @@ static uint16_t EP0_Handler(ep_t ep){ } }else if (ep.rx_flag){ // got data over EP0 or host acknowlegement if(ep.rx_cnt){ -// EP_WriteIRQ(0, (uint8_t *)0, 0); + //EP_WriteIRQ(0, (uint8_t *)0, 0); if(setup_packet.bRequest == SET_LINE_CODING){ linecoding_handler((usb_LineCoding*)ep0databuf); } } - // Close transaction - epstatus = CLEAR_DTOG_RX(epstatus); - epstatus = CLEAR_DTOG_TX(epstatus); // wait for new data from host epstatus = SET_VALID_RX(epstatus); - epstatus = SET_STALL_TX(epstatus); + epstatus = SET_VALID_TX(epstatus); } else if (ep.tx_flag){ // package transmitted // now we can change address after enumeration if ((USB->DADDR & USB_DADDR_ADD) != USB_Dev.USB_Addr){ diff --git a/F1-nolib/chronometer/usb_lib.c b/F1-nolib/chronometer/usb_lib.c index 19f491f..c45f3f2 100644 --- a/F1-nolib/chronometer/usb_lib.c +++ b/F1-nolib/chronometer/usb_lib.c @@ -307,17 +307,14 @@ static uint16_t EP0_Handler(ep_t ep){ } }else if (ep.rx_flag){ // got data over EP0 or host acknowlegement if(ep.rx_cnt){ -// EP_WriteIRQ(0, (uint8_t *)0, 0); + //EP_WriteIRQ(0, (uint8_t *)0, 0); if(setup_packet.bRequest == SET_LINE_CODING){ linecoding_handler((usb_LineCoding*)ep0databuf); } } - // Close transaction - epstatus = CLEAR_DTOG_RX(epstatus); - epstatus = CLEAR_DTOG_TX(epstatus); // wait for new data from host epstatus = SET_VALID_RX(epstatus); - epstatus = SET_STALL_TX(epstatus); + epstatus = SET_VALID_TX(epstatus); } else if (ep.tx_flag){ // package transmitted // now we can change address after enumeration if ((USB->DADDR & USB_DADDR_ADD) != USB_Dev.USB_Addr){