Paparazzi UAS  v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
udp_arch.c File Reference

linux UDP handling More...

#include "mcu_periph/udp.h"
#include "udp_socket.h"
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <pthread.h>
#include <sys/select.h>
#include "rt_priority.h"
+ Include dependency graph for udp_arch.c:

Go to the source code of this file.

Macros

#define UDP_THREAD_PRIO   10
 

Functions

static void * udp_thread (void *data)
 check for new udp packets to receive or send. More...
 
void udp_arch_init (void)
 
void udp_arch_periph_init (struct udp_periph *p, char *host, int port_out, int port_in, bool broadcast)
 Initialize the UDP peripheral. More...
 
uint16_t udp_char_available (struct udp_periph *p)
 Get number of bytes available in receive buffer. More...
 
uint8_t udp_getch (struct udp_periph *p)
 Get the last character from the receive buffer. More...
 
void udp_receive (struct udp_periph *p)
 Read bytes from UDP. More...
 
void udp_send_message (struct udp_periph *p, long fd)
 Send a message. More...
 
void udp_send_raw (struct udp_periph *p, long fd, uint8_t *buffer, uint16_t size)
 Send a packet from another buffer. More...
 

Variables

static pthread_mutex_t udp_mutex = PTHREAD_MUTEX_INITIALIZER
 

Detailed Description

linux UDP handling

Definition in file udp_arch.c.

Macro Definition Documentation

#define UDP_THREAD_PRIO   10

Definition at line 38 of file udp_arch.c.

Referenced by udp_thread().

Function Documentation

void udp_arch_init ( void  )

Definition at line 44 of file udp_arch.c.

Referenced by mcu_init().

+ Here is the caller graph for this function:

void udp_arch_periph_init ( struct udp_periph p,
char *  host,
int  port_out,
int  port_in,
bool  broadcast 
)

Initialize the UDP peripheral.

Allocate UdpSocket struct and create and bind the UDP socket.

Definition at line 69 of file udp_arch.c.

Referenced by udp_periph_init().

+ Here is the caller graph for this function:

uint16_t udp_char_available ( struct udp_periph p)

Get number of bytes available in receive buffer.

Parameters
ppointer to UDP peripheral
Returns
number of bytes available in receive buffer

Definition at line 81 of file udp_arch.c.

Referenced by udp_periph_init(), and udp_receive().

+ Here is the caller graph for this function:

uint8_t udp_getch ( struct udp_periph p)

Get the last character from the receive buffer.

Parameters
ppointer to UDP peripheral
Returns
last byte

Definition at line 97 of file udp_arch.c.

Referenced by udp_periph_init().

+ Here is the caller graph for this function:

void udp_receive ( struct udp_periph p)

Read bytes from UDP.

Definition at line 109 of file udp_arch.c.

Referenced by udp_thread().

+ Here is the caller graph for this function:

void udp_send_message ( struct udp_periph p,
long  fd 
)

Send a message.

Definition at line 142 of file udp_arch.c.

Referenced by udp_periph_init().

+ Here is the caller graph for this function:

void udp_send_raw ( struct udp_periph p,
long  fd,
uint8_t buffer,
uint16_t  size 
)

Send a packet from another buffer.

Definition at line 168 of file udp_arch.c.

static void * udp_thread ( void *  data)
static

check for new udp packets to receive or send.

Definition at line 181 of file udp_arch.c.

References fd, get_rt_prio(), udp_receive(), and UDP_THREAD_PRIO.

Referenced by udp_arch_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

pthread_mutex_t udp_mutex = PTHREAD_MUTEX_INITIALIZER
static

Definition at line 42 of file udp_arch.c.