Lines Matching refs:data
263 struct vcom* data; in _vcom_reset_state() local
268 data = (struct vcom*)func->user_data; in _vcom_reset_state()
271 data->connected = RT_FALSE; in _vcom_reset_state()
272 data->in_sending = RT_FALSE; in _vcom_reset_state()
287 struct vcom *data; in _ep_in_handler() local
292 data = (struct vcom*)func->user_data; in _ep_in_handler()
293 request_size = data->ep_in->request.size; in _ep_in_handler()
295 if ((request_size != 0) && ((request_size % EP_MAXPACKET(data->ep_in)) == 0)) in _ep_in_handler()
302 data->in_sending = RT_TRUE; in _ep_in_handler()
304 data->ep_in->request.buffer = RT_NULL; in _ep_in_handler()
305 data->ep_in->request.size = 0; in _ep_in_handler()
306 data->ep_in->request.req_type = UIO_REQUEST_WRITE; in _ep_in_handler()
307 rt_usbd_io_request(func->device, data->ep_in, &data->ep_in->request); in _ep_in_handler()
312 rt_completion_done(&data->wait); in _ep_in_handler()
328 struct vcom *data; in _ep_out_handler() local
334 data = (struct vcom*)func->user_data; in _ep_out_handler()
336 if((data->serial.parent.flag & RT_DEVICE_FLAG_ACTIVATED) in _ep_out_handler()
337 && (data->serial.parent.open_flag & RT_DEVICE_OFLAG_OPEN)) in _ep_out_handler()
342 rt_ringbuffer_put(&data->rx_ringbuffer, data->ep_out->buffer, size); in _ep_out_handler()
346 rt_hw_serial_isr(&data->serial,RT_SERIAL_EVENT_RX_IND); in _ep_out_handler()
349 data->ep_out->request.buffer = data->ep_out->buffer; in _ep_out_handler()
350 data->ep_out->request.size = EP_MAXPACKET(data->ep_out); in _ep_out_handler()
351 data->ep_out->request.req_type = UIO_REQUEST_READ_BEST; in _ep_out_handler()
352 rt_usbd_io_request(func->device, data->ep_out, &data->ep_out->request); in _ep_out_handler()
384 struct ucdc_line_coding data; in _cdc_get_line_coding() local
392 data.dwDTERate = 115200; in _cdc_get_line_coding()
393 data.bCharFormat = 0; in _cdc_get_line_coding()
394 data.bDataBits = 8; in _cdc_get_line_coding()
395 data.bParityType = 0; in _cdc_get_line_coding()
398 rt_usbd_ep0_write(device, (void*)&data, size); in _cdc_get_line_coding()
443 struct vcom *data; in _interface_handler() local
449 data = (struct vcom*)func->user_data; in _interface_handler()
470 data->connected = (setup->wValue & 0x01) > 0?RT_TRUE:RT_FALSE; in _interface_handler()
471 LOG_D("vcom state:%d ", data->connected); in _interface_handler()
493 struct vcom *data; in _function_enable() local
501 data = (struct vcom*)func->user_data; in _function_enable()
502 data->ep_out->buffer = rt_malloc(CDC_RX_BUFSIZE); in _function_enable()
503 RT_ASSERT(data->ep_out->buffer != RT_NULL); in _function_enable()
506 data->serial.serial_rx = &data->rx_ringbuffer; in _function_enable()
509 data->ep_out->request.buffer = data->ep_out->buffer; in _function_enable()
510 data->ep_out->request.size = EP_MAXPACKET(data->ep_out); in _function_enable()
512 data->ep_out->request.req_type = UIO_REQUEST_READ_BEST; in _function_enable()
513 rt_usbd_io_request(func->device, data->ep_out, &data->ep_out->request); in _function_enable()
527 struct vcom *data; in _function_disable() local
535 data = (struct vcom*)func->user_data; in _function_disable()
536 if(data->ep_out->buffer != RT_NULL) in _function_disable()
538 rt_free(data->ep_out->buffer); in _function_disable()
539 data->ep_out->buffer = RT_NULL; in _function_disable()
561 rt_uint8_t cintf_nr, ucdc_data_desc_t data, rt_uint8_t dintf_nr) in _cdc_descriptor_config() argument
583 struct vcom* data; in rt_usbd_function_cdc_create() local
611 data = (struct vcom*)rt_malloc(sizeof(struct vcom)); in rt_usbd_function_cdc_create()
612 RT_ASSERT(data != RT_NULL); in rt_usbd_function_cdc_create()
613 rt_memset(data, 0, sizeof(struct vcom)); in rt_usbd_function_cdc_create()
614 func->user_data = (void*)data; in rt_usbd_function_cdc_create()
636 data->ep_cmd = rt_usbd_endpoint_new(&comm_desc->ep_desc, _ep_cmd_handler); in rt_usbd_function_cdc_create()
639 rt_usbd_altsetting_add_endpoint(comm_setting, data->ep_cmd); in rt_usbd_function_cdc_create()
651 data->ep_out = rt_usbd_endpoint_new(&data_desc->ep_out_desc, _ep_out_handler); in rt_usbd_function_cdc_create()
652 data->ep_in = rt_usbd_endpoint_new(&data_desc->ep_in_desc, _ep_in_handler); in rt_usbd_function_cdc_create()
655 rt_usbd_altsetting_add_endpoint(data_setting, data->ep_in); in rt_usbd_function_cdc_create()
656 rt_usbd_altsetting_add_endpoint(data_setting, data->ep_out); in rt_usbd_function_cdc_create()
682 struct vcom *data; in _vcom_control() local
685 data = (struct vcom*)func->user_data; in _vcom_control()
696 (*(rt_bool_t*)arg) = data->connected; in _vcom_control()
709 struct vcom *data; in _vcom_getc() local
712 data = (struct vcom*)func->user_data; in _vcom_getc()
718 if(rt_ringbuffer_getchar(&data->rx_ringbuffer, &ch) != 0) in _vcom_getc()
728 static rt_ssize_t _vcom_rb_block_put(struct vcom *data, const rt_uint8_t *buf, rt_size_t size) in _vcom_rb_block_put() argument
739 … put_len = rt_ringbuffer_put(&data->tx_ringbuffer, (const rt_uint8_t *)&buf[w_ptr], remain_size); in _vcom_rb_block_put()
745 rt_event_recv(&data->tx_event, CDC_TX_HAS_SPACE, in _vcom_rb_block_put()
751 rt_event_send(&data->tx_event, CDC_TX_HAS_DATE); in _vcom_rb_block_put()
765 struct vcom *data; in _vcom_tx() local
771 data = (struct vcom*)func->user_data; in _vcom_tx()
778 if (data->connected) in _vcom_tx()
790 … send_size += _vcom_rb_block_put(data, (const rt_uint8_t *)&buf[send_size], ptr - send_size); in _vcom_tx()
791 _vcom_rb_block_put(data, crlf, 2); in _vcom_tx()
797 … send_size += _vcom_rb_block_put(data, (const rt_uint8_t *)&buf[send_size], ptr - send_size); in _vcom_tx()
809 … send_size += _vcom_rb_block_put(data, (rt_uint8_t *)&buf[send_size], size - send_size); in _vcom_tx()
816 rt_hw_serial_isr(&data->serial,RT_SERIAL_EVENT_TX_DMADONE); in _vcom_tx()
825 struct vcom *data; in _vcom_putc() local
828 data = (struct vcom*)func->user_data; in _vcom_putc()
832 if (data->connected) in _vcom_putc()
837 rt_ringbuffer_putchar_force(&data->tx_ringbuffer, '\r'); in _vcom_putc()
839 rt_event_send(&data->tx_event, CDC_TX_HAS_DATE); in _vcom_putc()
842 rt_ringbuffer_putchar_force(&data->tx_ringbuffer, c); in _vcom_putc()
844 rt_event_send(&data->tx_event, CDC_TX_HAS_DATE); in _vcom_putc()
865 struct vcom *data = (struct vcom*)func->user_data; in vcom_tx_thread_entry() local
872 (rt_event_recv(&data->tx_event, CDC_TX_HAS_DATE, in vcom_tx_thread_entry()
884 while(rt_ringbuffer_data_len(&data->tx_ringbuffer)) in vcom_tx_thread_entry()
887 res = rt_ringbuffer_get(&data->tx_ringbuffer, ch, CDC_BULKIN_MAXSIZE); in vcom_tx_thread_entry()
894 if (!data->connected) in vcom_tx_thread_entry()
898 if(data->serial.parent.open_flag & RT_DEVICE_FLAG_INT_TX) in vcom_tx_thread_entry()
900 if(data->serial.parent.open_flag & RT_DEVICE_FLAG_DMA_TX) in vcom_tx_thread_entry()
904 if(data->serial.parent.open_flag & RT_DEVICE_FLAG_TX_BLOCKING) in vcom_tx_thread_entry()
909 rt_hw_serial_isr(&data->serial,RT_SERIAL_EVENT_TX_DONE); in vcom_tx_thread_entry()
911 rt_hw_serial_isr(&data->serial,RT_SERIAL_EVENT_TX_DMADONE); in vcom_tx_thread_entry()
916 rt_completion_init(&data->wait); in vcom_tx_thread_entry()
917 data->ep_in->request.buffer = ch; in vcom_tx_thread_entry()
918 data->ep_in->request.size = res; in vcom_tx_thread_entry()
920 data->ep_in->request.req_type = UIO_REQUEST_WRITE; in vcom_tx_thread_entry()
922 rt_usbd_io_request(func->device, data->ep_in, &data->ep_in->request); in vcom_tx_thread_entry()
924 if (rt_completion_wait(&data->wait, VCOM_TX_TIMEOUT) != RT_EOK) in vcom_tx_thread_entry()
930 if(data->serial.parent.open_flag & RT_DEVICE_FLAG_INT_TX) in vcom_tx_thread_entry()
932 if(data->serial.parent.open_flag & RT_DEVICE_FLAG_DMA_TX) in vcom_tx_thread_entry()
936 if(data->serial.parent.open_flag & RT_DEVICE_FLAG_TX_BLOCKING) in vcom_tx_thread_entry()
940 rt_hw_serial_isr(&data->serial,RT_SERIAL_EVENT_TX_DONE); in vcom_tx_thread_entry()
942 rt_hw_serial_isr(&data->serial,RT_SERIAL_EVENT_TX_DMADONE); in vcom_tx_thread_entry()
944 rt_event_send(&data->tx_event, CDC_TX_HAS_SPACE); in vcom_tx_thread_entry()
955 struct vcom *data = (struct vcom*)func->user_data; in rt_usb_vcom_init() local
958 rt_ringbuffer_init(&data->rx_ringbuffer, data->rx_rbp, CDC_RX_BUFSIZE); in rt_usb_vcom_init()
959 rt_ringbuffer_init(&data->tx_ringbuffer, data->tx_rbp, CDC_TX_BUFSIZE); in rt_usb_vcom_init()
961 rt_event_init(&data->tx_event, "vcom", RT_IPC_FLAG_FIFO); in rt_usb_vcom_init()
975 data->serial.ops = &usb_vcom_ops; in rt_usb_vcom_init()
976 data->serial.serial_rx = RT_NULL; in rt_usb_vcom_init()
977 data->serial.config = config; in rt_usb_vcom_init()
980 rt_hw_serial_register(&data->serial, VCOM_DEVICE, in rt_usb_vcom_init()