Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
arch independent USB API More...
Go to the source code of this file.
Data Structures | |
struct | usb_serial_periph |
Functions | |
void | VCOM_init (void) |
int | VCOM_putchar (int c) |
Writes one character to VCOM port. More... | |
int | VCOM_getchar (void) |
Reads one character from VCOM port. More... | |
int | VCOM_peekchar (int ofs) |
Reads one character from VCOM port without removing it from the queue. More... | |
bool | VCOM_check_free_space (uint16_t len) |
Checks if buffer free in VCOM buffer. More... | |
int | VCOM_check_available (void) |
Checks if data available in VCOM buffer. More... | |
void | VCOM_set_linecoding (uint8_t mode) |
void | VCOM_allow_linecoding (uint8_t mode) |
void | VCOM_send_message (void) |
Send data from fifo right now. More... | |
void | VCOM_event (void) |
Poll usb (required by libopencm3). More... | |
Variables | |
struct usb_serial_periph | usb_serial |
arch independent USB API
Definition in file usb_serial.h.
struct usb_serial_periph |
Definition at line 35 of file usb_serial.h.
Data Fields | ||
---|---|---|
struct link_device | device | Generic device interface. |
void VCOM_allow_linecoding | ( | uint8_t | mode | ) |
int VCOM_check_available | ( | void | ) |
Checks if data available in VCOM buffer.
Definition at line 420 of file usb_ser_hw.c.
References fifo_avail(), and rxfifo.
Referenced by dfu_command_event(), event_usb_serial(), ReadUsbBuffer(), tunnel_event(), and usb_serial_char_available().
bool VCOM_check_free_space | ( | uint16_t | len | ) |
Checks if buffer free in VCOM buffer.
Definition at line 409 of file usb_ser_hw.c.
References FALSE, fifo_free(), TRUE, and txfifo.
Referenced by dfu_command_event(), tunnel_event(), usb_serial_check_free_space(), and VCOM_putchar().
void VCOM_event | ( | void | ) |
Poll usb (required by libopencm3).
VCOM_event() should be called from main/module event function
Definition at line 571 of file usb_ser_hw.c.
References fifo_avail(), my_usbd_dev, tx_timeout, txfifo, and VCOM_send_message().
Referenced by event_usb_serial(), main(), and mcu_event().
int VCOM_getchar | ( | void | ) |
Reads one character from VCOM port.
Definition at line 386 of file usb_ser_hw.c.
References BULK_OUT_EP, BulkOut(), BulkOut_is_blocked, c(), disableIRQ(), enableIRQ(), EOF, fifo_free(), fifo_get(), MAX_PACKET_SIZE, and rxfifo.
Referenced by dfu_command_event(), event_usb_serial(), ReadUsbBuffer(), tunnel_event(), and usb_serial_getch().
void VCOM_init | ( | void | ) |
Definition at line 586 of file usb_ser_hw.c.
References _VIC_ADDR, _VIC_CNTL, abClassReqData, abDescriptors, BULK_IN_EP, BULK_OUT_EP, BulkIn(), BulkOut(), cdcacm_set_config(), config, dev, usb_serial_periph::device, fifo_init(), GPIO11, GPIO12, GPIO_AF10, GPIOA, HandleClassRequest(), INT_IN_EP, LineCoding, my_usbd_dev, rxdata, rxfifo, serial_no, TRUE, tx_timeout, txdata, txfifo, usb_connected, usb_serial, usb_serial_char_available(), usb_serial_check_free_space(), usb_serial_getch(), usb_serial_send(), usb_serial_transmit(), usb_serial_transmit_buffer(), usb_strings, USB_VIC_SLOT, usbd_control_buffer, USBFrameHandler(), USBIntHandler(), VIC_BIT, VIC_ENABLE, VIC_USB, VICIntEnable, and VICIntSelect.
Referenced by init_usb_serial(), main(), and mcu_init().
int VCOM_peekchar | ( | int | ofs | ) |
Reads one character from VCOM port without removing it from the queue.
ofs | position to read |
Definition at line 438 of file usb_ser_hw.c.
References c(), fifo_peek(), and rxfifo.
Referenced by dfu_command_event().
int VCOM_putchar | ( | int | c | ) |
Writes one character to VCOM port.
[in] | c | character to write |
Writes one character to VCOM port.
Since we don't really have an instant feeedback from USB driver if the character was written, we always return c if we are connected.
[in] | c | character to write |
Definition at line 376 of file usb_ser_hw.c.
References c(), EOF, fifo_put(), sys_time_usleep(), tx_timeout, TX_TIMEOUT_CNT, txfifo, usb_connected, VCOM_check_free_space(), and VCOM_send_message().
Referenced by cmd_execute(), periodic_usb_serial(), tunnel_event(), usb_serial_parse_packet(), usb_serial_transmit(), and usb_serial_transmit_buffer().
void VCOM_send_message | ( | void | ) |
Send data from fifo right now.
Only if usb is connected.
Definition at line 574 of file usb_ser_hw.c.
References fifo_get(), MAX_PACKET_SIZE, my_usbd_dev, txfifo, and usb_connected.
Referenced by cmd_execute(), usb_serial_parse_packet(), usb_serial_send(), VCOM_event(), and VCOM_putchar().
void VCOM_set_linecoding | ( | uint8_t | mode | ) |
struct usb_serial_periph usb_serial |
Definition at line 547 of file usb_ser_hw.c.
Referenced by VCOM_init().