Exemple #1
0
static void cdc_set_config(usbd_device *usbd_dev, uint16_t wValue) {
    (void)wValue;

    usbd_ep_setup(usbd_dev, ENDP_CDC_DATA_OUT, USB_ENDPOINT_ATTR_BULK, 64,
                  cdc_bulk_data_out);
    usbd_ep_setup(usbd_dev, ENDP_CDC_DATA_IN, USB_ENDPOINT_ATTR_BULK, 64, NULL);
    usbd_ep_setup(usbd_dev, ENDP_CDC_COMM_IN, USB_ENDPOINT_ATTR_INTERRUPT, 16, NULL);

    cmp_usb_register_control_class_callback(INTF_CDC_DATA, cdc_control_class_request);
    cmp_usb_register_control_class_callback(INTF_CDC_COMM, cdc_control_class_request);
}
Exemple #2
0
static void __cdcacm_set_config(usbd_device *usbd_dev, uint16_t wValue)
{
    (void)wValue;

    usbd_ep_setup(usbd_dev, 0x01, USB_ENDPOINT_ATTR_BULK, 64,
                  __cdcacm_data_rx_cb);
    usbd_ep_setup(usbd_dev, 0x82, USB_ENDPOINT_ATTR_BULK, 64, NULL);
    usbd_ep_setup(usbd_dev, 0x83, USB_ENDPOINT_ATTR_INTERRUPT, 16, NULL);
    usbd_register_control_callback(
        usbd_dev,  USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
        USB_REQ_TYPE_TYPE | USB_REQ_TYPE_RECIPIENT,
        __cdcacm_control_request);
}
Exemple #3
0
static void hid_set_config(usbd_device* usbd_dev, uint16_t wValue) {
    (void)wValue;

    usbd_ep_setup(usbd_dev, ENDP_HID_REPORT_OUT, USB_ENDPOINT_ATTR_INTERRUPT, 64,
                  &hid_interrupt_out);
    usbd_ep_setup(usbd_dev, ENDP_HID_REPORT_IN, USB_ENDPOINT_ATTR_INTERRUPT, 64,
                  &hid_interrupt_in);
    usbd_register_control_callback(
        usbd_dev,
        USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_INTERFACE,
        USB_REQ_TYPE_TYPE | USB_REQ_TYPE_RECIPIENT,
        hid_control_standard_request);

    cmp_usb_register_control_class_callback(INTF_HID, hid_control_class_request);
}
Exemple #4
0
void _usbd_reset(usbd_device *usbd_dev)
{
    usbd_dev->current_address = 0;
    usbd_dev->current_config = 0;
    usbd_ep_setup(usbd_dev, 0, USB_ENDPOINT_ATTR_CONTROL, 64, NULL);
    usbd_dev->driver->set_address(usbd_dev, 0);

    if (usbd_dev->user_callback_reset)
        usbd_dev->user_callback_reset();
}
Exemple #5
0
void _usbd_reset(void)
{
	_usbd_device.current_address = 0;
	_usbd_device.current_config = 0;
	usbd_ep_setup(0, USB_ENDPOINT_ATTR_CONTROL, 64, NULL);
	_usbd_hw_set_address(0);

	if (_usbd_device.user_callback_reset)
		_usbd_device.user_callback_reset();
}
Exemple #6
0
static void usbmanager_set_config(usbd_device *usbd_dev, u16 wValue) {
    (void) wValue;

    usbd_ep_setup(usbd_dev, CDC_RECEIVING_EP, USB_ENDPOINT_ATTR_BULK, CDC_ENDPOINT_PACKAGE_SIZE, cdcacm_data_rx_cb);
    usbd_ep_setup(usbd_dev, CDC_SENDING_EP, USB_ENDPOINT_ATTR_BULK, CDC_ENDPOINT_PACKAGE_SIZE, NULL);
    usbd_ep_setup(usbd_dev, CDC_INTERRUPT_EP, USB_ENDPOINT_ATTR_INTERRUPT, 16, NULL);
    usbd_ep_setup(usbd_dev, MSC_RECEIVING_EP, USB_ENDPOINT_ATTR_BULK, MSC_ENDPOINT_PACKAGE_SIZE, msc_data_rx_cb);
    usbd_ep_setup(usbd_dev, MSC_SENDING_EP, USB_ENDPOINT_ATTR_BULK, MSC_ENDPOINT_PACKAGE_SIZE, NULL);

    tx_ep_sizes[0] = USBMANAGER_FIFO0_SIZE;
    tx_ep_sizes[CDC_SENDING_EP & 0x7F] = CDC_ENDPOINT_PACKAGE_SIZE;
    tx_ep_sizes[CDC_INTERRUPT_EP & 0x7F] = 16;
    tx_ep_sizes[MSC_SENDING_EP & 0x7F] = MSC_ENDPOINT_PACKAGE_SIZE;

    usbd_register_control_callback(
            usbd_dev,
            USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
            USB_REQ_TYPE_TYPE | USB_REQ_TYPE_RECIPIENT,
            usbmanager_control_request);
}
static void usb_set_config(usbd_device *usbd_dev, uint16_t wValue)
{
	(void)wValue;

	usbd_ep_setup(usbd_dev, 0x81, USB_ENDPOINT_ATTR_INTERRUPT, 4, NULL);

	usbd_register_control_callback(
				usbd_dev,
				USB_REQ_TYPE_VENDOR | USB_REQ_TYPE_INTERFACE,
				USB_REQ_TYPE_TYPE | USB_REQ_TYPE_RECIPIENT,
				usb_control_request);
}