//! \brief Test 8 - Detach during reset after first setup request get descriptor static void main_test8(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(); if (Is_udd_low_speed_enable()) { delay_ms(25); } else { main_usb_wait_reset_start(); } main_detach(); udd_ack_reset(); // Ack previous reset finish by detach }
//! \brief Test 17 - Enumeration success (with configuration in BUS + 100mA -> must be pass) static void main_test17(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(); }
//! \brief Test 2 - Disable endpoint 0 after first setup packet static void main_test2(void) { uint8_t nb_fail; udd_attach_device(); nb_fail = 4; while (nb_fail--) { main_usb_enum_step1(); main_usb_enum_step2(); main_usb_enum_step3(); main_usb_enum_step4(); main_usb_wait_setup_packet(); udd_disable_endpoint(0); // Here Host try to send IN on control endpoint 0 } main_usb_wait_suspend(); main_detach(); }
//! \brief Test 6 - Wrong value in first setup request get descriptor static void main_test6(void) { uint8_t nb_fail; udd_attach_device(); nb_fail = 4; while (nb_fail--) { main_usb_enum_step1(); main_usb_enum_step2(); main_usb_enum_step3(); main_usb_enum_step4(); // Get Device Descriptor main_usb_wait_setup_packet(); main_device_desc.bDescriptorType = 0xFF; main_device_desc.bMaxPacketSize0 = 0xFF; main_usb_send_in((uint8_t*)&main_device_desc,8); main_usb_wait_out(NULL,0); } main_usb_wait_suspend(); main_detach(); }