STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
Macros | Functions
sys_arch.c File Reference
#include "lwip/debug.h"
#include "lwip/def.h"
#include "lwip/sys.h"
#include "lwip/mem.h"
#include "lwip/stats.h"
#include "FreeRTOS.h"
#include "task.h"

Go to the source code of this file.

Macros

#define SYS_THREAD_MAX   10
 

Functions

err_t sys_mbox_new (sys_mbox_t *mbox, int size)
 
void sys_mbox_free (sys_mbox_t *mbox)
 
void sys_mbox_post (sys_mbox_t *mbox, void *data)
 
err_t sys_mbox_trypost (sys_mbox_t *mbox, void *msg)
 
u32_t sys_arch_mbox_fetch (sys_mbox_t *mbox, void **msg, u32_t timeout)
 
u32_t sys_arch_mbox_tryfetch (sys_mbox_t *mbox, void **msg)
 
int sys_mbox_valid (sys_mbox_t *mbox)
 
void sys_mbox_set_invalid (sys_mbox_t *mbox)
 
err_t sys_sem_new (sys_sem_t *sem, u8_t count)
 
u32_t sys_arch_sem_wait (sys_sem_t *sem, u32_t timeout)
 
void sys_sem_signal (sys_sem_t *sem)
 
void sys_sem_free (sys_sem_t *sem)
 
int sys_sem_valid (sys_sem_t *sem)
 
void sys_sem_set_invalid (sys_sem_t *sem)
 
void sys_init (void)
 
err_t sys_mutex_new (sys_mutex_t *mutex)
 
void sys_mutex_free (sys_mutex_t *mutex)
 
void sys_mutex_lock (sys_mutex_t *mutex)
 
void sys_mutex_unlock (sys_mutex_t *mutex)
 
sys_thread_t sys_thread_new (const char *name, lwip_thread_fn thread, void *arg, int stacksize, int prio)
 
sys_prot_t sys_arch_protect (void)
 
void sys_arch_unprotect (sys_prot_t pval)
 
void sys_assert (const char *msg)
 

Macro Definition Documentation

#define SYS_THREAD_MAX   10

Definition at line 45 of file sys_arch.c.

Function Documentation

u32_t sys_arch_mbox_fetch ( sys_mbox_t mbox,
void **  msg,
u32_t  timeout 
)

Wait for a new message to arrive in the mbox

Parameters
mboxmbox to get a message from
msgpointer where the message is stored
timeoutmaximum time (in milliseconds) to wait for a message (0 = wait forever)
Returns
time (in milliseconds) waited for a message, may be 0 if not waited or SYS_ARCH_TIMEOUT on timeout The returned time has to be accurate to prevent timer jitter!

Definition at line 143 of file sys_arch.c.

u32_t sys_arch_mbox_tryfetch ( sys_mbox_t mbox,
void **  msg 
)

Wait for a new message to arrive in the mbox

Parameters
mboxmbox to get a message from
msgpointer where the message is stored
Returns
0 (milliseconds) if a message has been received or SYS_MBOX_EMPTY if the mailbox is empty

Definition at line 186 of file sys_arch.c.

sys_prot_t sys_arch_protect ( void  )

Definition at line 432 of file sys_arch.c.

u32_t sys_arch_sem_wait ( sys_sem_t sem,
u32_t  timeout 
)

Wait for a semaphore for the specified timeout

Parameters
semthe semaphore to wait for
timeouttimeout in milliseconds to wait (0 = wait forever)
Returns
time (in milliseconds) waited for the semaphore or SYS_ARCH_TIMEOUT on timeout

Definition at line 263 of file sys_arch.c.

void sys_arch_unprotect ( sys_prot_t  pval)

Definition at line 444 of file sys_arch.c.

void sys_assert ( const char *  msg)

Definition at line 453 of file sys_arch.c.

void sys_init ( void  )

Definition at line 328 of file sys_arch.c.

void sys_mbox_free ( sys_mbox_t mbox)

Delete an mbox

Parameters
mboxmbox to delete

Definition at line 76 of file sys_arch.c.

err_t sys_mbox_new ( sys_mbox_t mbox,
int  size 
)

Create a new mbox of specified size

Parameters
mboxpointer to the mbox to create
size(minimum) number of messages in this mbox
Returns
ERR_OK if successful, another err_t otherwise

Definition at line 52 of file sys_arch.c.

void sys_mbox_post ( sys_mbox_t mbox,
void *  msg 
)

Post a message to an mbox - may not fail -> blocks if full, only used from tasks not from ISR

Parameters
mboxmbox to posts the message
msgmessage to post (ATTENTION: can be NULL)

Definition at line 98 of file sys_arch.c.

void sys_mbox_set_invalid ( sys_mbox_t mbox)

Set an mbox invalid so that sys_mbox_valid returns 0

Definition at line 213 of file sys_arch.c.

err_t sys_mbox_trypost ( sys_mbox_t mbox,
void *  msg 
)

Try to post a message to an mbox - may fail if full or ISR

Parameters
mboxmbox to posts the message
msgmessage to post (ATTENTION: can be NULL)

Definition at line 106 of file sys_arch.c.

int sys_mbox_valid ( sys_mbox_t mbox)

Check if an mbox is valid/allocated: return 1 for valid, 0 for invalid

Definition at line 205 of file sys_arch.c.

void sys_mutex_free ( sys_mutex_t mutex)

Delete a semaphore

Parameters
mutexthe mutex to delete

Definition at line 360 of file sys_arch.c.

void sys_mutex_lock ( sys_mutex_t mutex)

Lock a mutex

Parameters
mutexthe mutex to lock

Definition at line 370 of file sys_arch.c.

err_t sys_mutex_new ( sys_mutex_t mutex)

Define LWIP_COMPAT_MUTEX if the port has no mutexes and binary semaphores should be used instead Create a new mutex

Parameters
mutexpointer to the mutex to create
Returns
a new mutex

Definition at line 339 of file sys_arch.c.

void sys_mutex_unlock ( sys_mutex_t mutex)

Unlock a mutex

Parameters
mutexthe mutex to unlock

Definition at line 377 of file sys_arch.c.

void sys_sem_free ( sys_sem_t sem)

Delete a semaphore

Parameters
semsemaphore to delete

Definition at line 303 of file sys_arch.c.

err_t sys_sem_new ( sys_sem_t sem,
u8_t  count 
)

Create a new semaphore

Parameters
sempointer to the semaphore to create
countinitial count of the semaphore
Returns
ERR_OK if successful, another err_t otherwise

Definition at line 221 of file sys_arch.c.

void sys_sem_set_invalid ( sys_sem_t sem)

Set a semaphore invalid so that sys_sem_valid returns 0

Definition at line 321 of file sys_arch.c.

void sys_sem_signal ( sys_sem_t sem)

Signals a semaphore

Parameters
semthe semaphore to signal

Definition at line 296 of file sys_arch.c.

int sys_sem_valid ( sys_sem_t sem)

Check if a semaphore is valid/allocated: return 1 for valid, 0 for invalid

Definition at line 312 of file sys_arch.c.

sys_thread_t sys_thread_new ( const char *  name,
lwip_thread_fn  thread,
void *  arg,
int  stacksize,
int  prio 
)

The only thread function: Creates a new thread ATTENTION: although this function returns a value, it MUST NOT FAIL (ports have to assert this!)

Parameters
namehuman-readable name for the thread (used for debugging purposes)
threadthread-function
argparameter passed to 'thread'
stacksizestack size in bytes for the new thread (may be ignored by ports)
priopriority of the new thread (may be ignored by ports)

Definition at line 391 of file sys_arch.c.