//! \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();
}
Beispiel #4
0
//! \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();
}