Erste CVS-Version

This commit is contained in:
2006-09-26 18:18:27 +00:00
parent 62a932ecdd
commit b282d4a32c
35 changed files with 7302 additions and 0 deletions

37
firmware/message_queue.h Normal file
View File

@ -0,0 +1,37 @@
#ifndef message_queue_h
#define message_queue_h
/**
* \file message_queue.h
* \brief A message queue used to exchange messages between two concurrent
* threads.
* \author Thomas Stegemann
* \version $Id: message_queue.h,v 1.1 2006/09/26 18:18:27 rschaten Exp $
*
* License: See documentation.
*
* - exchange messages between two concurrent threads (e.g.: main thread and
* interrupt calls)
* - before using any other function of the messageQueue, init must be called
* - one thread must be data source (use isFull and write)
* - the other thread must be the data sink (use isEmpty and read)
* - two concurrent threads must not use both the write functions and two
* concurrent threads must not use both the read functions
* - read/write return True on success and False if the message could not be
* read/written because the queue is empty/full
* - the size of the messageQueue and the type of the
* messageQueue_QueuedMessage are defined in config_message_queue.h
* - only one messageQueue can be used in a project
*/
#include "boolean.h"
#include "config_message_queue.h"
void messageQueue_init (void);
void messageQueue_cleanup(void);
Boolean messageQueue_isEmpty(void);
Boolean messageQueue_isFull (void);
Boolean messageQueue_read (messageQueue_QueuedMessage* pMessage);
Boolean messageQueue_write (messageQueue_QueuedMessage message);
#endif