Paparazzi UAS  v5.15_devel-58-g208c37b
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
usb_serial.h File Reference

arch independent USB API More...

#include <inttypes.h>
#include "std.h"
#include "pprzlink/pprzlink_device.h"
+ Include dependency graph for usb_serial.h:
+ This graph shows which files directly or indirectly include this file:

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...
 
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
 

Detailed Description

arch independent USB API

Definition in file usb_serial.h.


Data Structure Documentation

struct usb_serial_periph

Definition at line 35 of file usb_serial.h.

+ Collaboration diagram for usb_serial_periph:
Data Fields
struct link_device device Generic device interface.

Function Documentation

void VCOM_allow_linecoding ( uint8_t  mode)

Referenced by main().

+ Here is the caller graph for this function:

int VCOM_check_available ( void  )

Checks if data available in VCOM buffer.

Returns
character read, or EOF if character could not be read
nonzero if char is available in the queue, zero otherwise

Definition at line 420 of file usb_ser_hw.c.

References fifo_avail().

Referenced by event_usb_serial(), ReadUsbBuffer(), tunnel_event(), and usb_serial_char_available().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool VCOM_check_free_space ( uint16_t  len)

Checks if buffer free in VCOM buffer.

Returns
TRUE if len bytes are free

Definition at line 409 of file usb_ser_hw.c.

References FALSE, fifo_free(), and TRUE.

Referenced by tunnel_event(), usb_serial_check_free_space(), and VCOM_putchar().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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, and VCOM_send_message().

Referenced by event_usb_serial(), main(), and mcu_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int VCOM_getchar ( void  )

Reads one character from VCOM port.

Returns
character read, or EOF if character could not be read
character read, or -1 if character could not be read

Definition at line 386 of file usb_ser_hw.c.

References BULK_OUT_EP, BulkOut(), BulkOut_is_blocked, disableIRQ(), enableIRQ(), EOF, fifo_free(), fifo_get(), and MAX_PACKET_SIZE.

Referenced by event_usb_serial(), ReadUsbBuffer(), tunnel_event(), and usb_serial_getch().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int VCOM_putchar ( int  c)

Writes one character to VCOM port.

Parameters
[in]ccharacter to write
Returns
character written, or EOF if character could not be written

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.

Parameters
[in]ccharacter to write
Returns
character to be written, -1 if not usb is not connected

Definition at line 376 of file usb_ser_hw.c.

References EOF, fifo_put(), sys_time_usleep(), tx_timeout, TX_TIMEOUT_CNT, 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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, and my_usbd_dev.

Referenced by cmd_execute(), usb_serial_parse_packet(), usb_serial_send(), VCOM_event(), and VCOM_putchar().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void VCOM_set_linecoding ( uint8_t  mode)

Variable Documentation

struct usb_serial_periph usb_serial

Definition at line 547 of file usb_ser_hw.c.

Referenced by VCOM_init().