added timeout function to USB CDC App_Task()