//! \brief Test 20 - Test upstream resume (from USB device) static void main_test20(void) { udd_attach_device(); main_usb_enum_step1(); main_usb_enum_step2(); main_usb_enum_step3(); main_usb_enum_step4(); main_usb_enum_step5(); main_usb_enum_step6(); main_usb_enum_step7(); main_usb_enum_step8(); main_usb_enum_step9(); main_usb_enum_step10(); main_usb_enum_step11(); main_usb_enum_step12(); main_usb_enum_step13(); main_usb_enum_step14(); // Setup set remotewakeup main_usb_wait_setup_packet(); main_usb_send_in(NULL,0); main_usb_wait_suspend(); delay_ms(100); udd_initiate_remote_wake_up(); main_usb_wait_wakeup(); main_usb_wait_sof(); // Setup clear remotewakeup main_usb_wait_setup_packet(); main_usb_send_in(NULL,0); }
//! \brief Test 7 - Detach before reset static void main_test7(void) { udd_attach_device(); main_usb_enum_step1(); main_usb_enum_step2(); main_usb_enum_step3(); main_usb_enum_step4(); main_usb_enum_step5(); main_usb_wait_sof(); main_detach(); }
//! \brief Test 3 - Detach after first setup packet static void main_test3(void) { udd_attach_device(); main_usb_enum_step1(); main_usb_enum_step2(); main_usb_enum_step3(); main_usb_enum_step4(); main_usb_wait_setup_packet(); main_usb_wait_sof(); main_detach(); }
//! \brief Test 9 - Detach after reset after first setup request get descriptor static void main_test9(void) { main_otg_init(); udd_attach_device(); main_usb_enum_step1(); main_usb_enum_step2(); main_usb_enum_step3(); main_usb_enum_step4(); main_usb_enum_step5(); main_usb_enum_step6(); main_usb_enum_step7(); main_usb_wait_sof(); main_detach(); }
//! \brief step10 of enumeration - IDLE 20ms static void main_usb_enum_step10(void) { main_usb_wait_sof(); // 20ms }
//! \brief step8 of enumeration - IDLE 100ms static void main_usb_enum_step8(void) { main_usb_wait_sof(); // 100ms }
//! \brief step4 of enumeration - IDLE 100ms and initialize control endpoint static void main_usb_enum_step4(void) { main_usb_enable_ctrl_ep(0, (speed==0)?8:64); main_usb_wait_sof(); // 100ms }