Signed-off-by: Pavel Pisa <ppisa@pikron.com>
#define CDC0_MASK_EP_RXD (1<<CDC0_EPIDX_RXD)
#define CDC0_MASK_EP_TXD (1<<CDC0_EPIDX_TXD)
#define CDC0_MASK_EP_RXD (1<<CDC0_EPIDX_RXD)
#define CDC0_MASK_EP_TXD (1<<CDC0_EPIDX_TXD)
-unsigned char cdc0_ep_tx_buff[USB_MAX_PACKET] __attribute__ ((aligned (8)));
-unsigned char cdc0_ep_rx_buff[USB_MAX_PACKET] __attribute__ ((aligned (8)));
+unsigned char cdc0_ep_tx_buff[CDC0_MAX_PACKET] __attribute__ ((aligned (8)));
+unsigned char cdc0_ep_rx_buff[CDC0_MAX_PACKET] __attribute__ ((aligned (8)));
unsigned char ep0_buffer[USB_MAX_PACKET0] __attribute__ ((aligned (8)));
int cdc0_tx_index = 0, cdc0_tx_ready = 1;
int cdc0_tx_flush_required;
unsigned char ep0_buffer[USB_MAX_PACKET0] __attribute__ ((aligned (8)));
int cdc0_tx_index = 0, cdc0_tx_ready = 1;
int cdc0_tx_flush_required;
memset(&usb_device, 0, sizeof(usb_device));
eps[CDC0_EPIDX_NOTIFY].max_packet_size = USB_MAX_PACKET;
memset(&usb_device, 0, sizeof(usb_device));
eps[CDC0_EPIDX_NOTIFY].max_packet_size = USB_MAX_PACKET;
- eps[CDC0_EPIDX_RXD].max_packet_size = USB_MAX_PACKET;
- eps[CDC0_EPIDX_TXD].max_packet_size = USB_MAX_PACKET;
+ eps[CDC0_EPIDX_RXD].max_packet_size = CDC0_MAX_PACKET;
+ eps[CDC0_EPIDX_TXD].max_packet_size = CDC0_MAX_PACKET;
eps[CDC0_EPIDX_NOTIFY].epnum = CDC0_EP_NOTIFY;
eps[CDC0_EPIDX_RXD].epnum = CDC0_EP_RXD;
eps[CDC0_EPIDX_TXD].epnum = CDC0_EP_TXD;
eps[CDC0_EPIDX_NOTIFY].epnum = CDC0_EP_NOTIFY;
eps[CDC0_EPIDX_RXD].epnum = CDC0_EP_RXD;
eps[CDC0_EPIDX_TXD].epnum = CDC0_EP_TXD;
if (cdc0_tx_ready && ((cdc0_tx_index != 0) || cdc0_tx_flush_required))
{
usb_udev_write_endpoint(&eps[CDC0_EPIDX_TXD], cdc0_ep_tx_buff, cdc0_tx_index);
if (cdc0_tx_ready && ((cdc0_tx_index != 0) || cdc0_tx_flush_required))
{
usb_udev_write_endpoint(&eps[CDC0_EPIDX_TXD], cdc0_ep_tx_buff, cdc0_tx_index);
- cdc0_tx_flush_required = (cdc0_tx_index == USB_MAX_PACKET);
+ cdc0_tx_flush_required = (cdc0_tx_index == CDC0_MAX_PACKET);
cdc0_tx_index = 0;
cdc0_tx_ready = 0;
hal_gpio_set_value(LED2_PIN, 0);
cdc0_tx_index = 0;
cdc0_tx_ready = 0;
hal_gpio_set_value(LED2_PIN, 0);
/* Check RXD/OUT endpoint */
if (usb_device.ep_events & CDC0_MASK_EP_RXD)
{
/* Check RXD/OUT endpoint */
if (usb_device.ep_events & CDC0_MASK_EP_RXD)
{
- cdc0_rx_chars = usb_udev_read_endpoint(&eps[CDC0_EPIDX_RXD], cdc0_ep_rx_buff, USB_MAX_PACKET);
+ cdc0_rx_chars = usb_udev_read_endpoint(&eps[CDC0_EPIDX_RXD], cdc0_ep_rx_buff, CDC0_MAX_PACKET);
cdc0_rx_index = 0;
usb_device.ep_events &= ~CDC0_MASK_EP_RXD;
hal_gpio_set_value(LED2_PIN, 0);
cdc0_rx_index = 0;
usb_device.ep_events &= ~CDC0_MASK_EP_RXD;
hal_gpio_set_value(LED2_PIN, 0);
int cmd_io_putc_usbcon(struct cmd_io *cmd_io, int ch)
{
int cmd_io_putc_usbcon(struct cmd_io *cmd_io, int ch)
{
- if (cdc0_tx_index >= USB_MAX_PACKET)
+ if (cdc0_tx_index >= CDC0_MAX_PACKET)
{
/* Check EP1 status and return -1 if unavailable */
usb_check_events(&usb_device);
cdc0_txd_check_ep();
/* Check again if it wasn't emptied */
{
/* Check EP1 status and return -1 if unavailable */
usb_check_events(&usb_device);
cdc0_txd_check_ep();
/* Check again if it wasn't emptied */
- if (cdc0_tx_index >= USB_MAX_PACKET)
+ if (cdc0_tx_index >= CDC0_MAX_PACKET)
#define CDC0_EP_NOTIFY 0x81
#define CDC0_EP_RXD 0x02
#define CDC0_EP_TXD 0x82
#define CDC0_EP_NOTIFY 0x81
#define CDC0_EP_RXD 0x02
#define CDC0_EP_TXD 0x82
+#define CDC0_MAX_PACKET 64
#define CONFIG_DESCRIPTOR_LENGTH \
sizeof(USB_CONFIGURATION_DESCRIPTOR) \
#define CONFIG_DESCRIPTOR_LENGTH \
sizeof(USB_CONFIGURATION_DESCRIPTOR) \
USB_DESCRIPTOR_TYPE_ENDPOINT,
CDC0_EP_RXD, /* bEndpointAddress */
USB_ENDPOINT_TYPE_BULK,
USB_DESCRIPTOR_TYPE_ENDPOINT,
CDC0_EP_RXD, /* bEndpointAddress */
USB_ENDPOINT_TYPE_BULK,
0, /* bInterval (polling interval: 50ms) */
},
{
0, /* bInterval (polling interval: 50ms) */
},
{
USB_DESCRIPTOR_TYPE_ENDPOINT,
CDC0_EP_TXD, /* bEndpointAddress */
USB_ENDPOINT_TYPE_BULK,
USB_DESCRIPTOR_TYPE_ENDPOINT,
CDC0_EP_TXD, /* bEndpointAddress */
USB_ENDPOINT_TYPE_BULK,
0, /* bInterval (polling interval: 50ms) */
}
};
0, /* bInterval (polling interval: 50ms) */
}
};