eprintf mit irq

eprintf.h

Committer:
est2fe
Date:
2011-07-21
Revision:
2:f63032cc0c0a
Parent:
0:4843fcdba3cc
Child:
3:de07cab9fc01

File content as of revision 2:f63032cc0c0a:

#ifdef      __EPRINTF_H__ 
#define     __EPRINTF_H__ 

#include   "extdef.h" 
#include   "globals.h" 
#include   "rbuf.h"   

#define     TASK_EPRINTF_ID                2 
#define     TASK_EPRINTF_PRIO              5 
#define     TASK_EPRINTF_ID_STACK_SZ     128 

  // Resourcen 
#define     RESOURCE_EPRINTF               1 
#define     RESOURCE_EPRINTF_PRIO         70 

  // Events sind Bits innerhalb eines 32-Bit intgers 
//#define   EV_KEYBOARD                   4 
#define     EV_EPRINTF                    8 
//#define   EV_SNIFFER                   16 

  // Fehler 
#define     FEHLER_RX_INT_OHNE_ZEICHEN     1 
#define     FEHLER_RBUF_PUT_IN_RX_INT      2 
#define     FEHLER_EV_KEYBOARD_OHNE_CHAR   3 
#define     FEHLER_TX_PUTCHAR              4 
#define     FEHLER_EPRINTF_TEST_RESOURCE   5 
#define     FEHLER_EPRINTF_LOCK_RESOURCE   6 
#define     FEHLER_EPRINTF_FAST_VOLL       7 
#define     FEHLER_EPRINTF_STRING_ZU_GROSS 8 
#define     FEHLER_EPRINTF_RBUF_PUT        9 

 // Spoolbuffergroesse fuer eprintf 
#define     SB_GROESSE                 1024

 // Timeout für LockResource und TestResource in [us] 
#define     TO_LockResource            1000 

EXTDEF      rbuf_t     *printbuf; 

int         letzter_Fehler; 

char        cb [SB_GROESSE];            // Der Spoolbuffer zum PC 
static int  eprintf_fehlerzaehler = 0; 

void        TX_irq_eprintf            (void); 
int         eprintf                   (char *format, ...); 
void        task_eprintf_verarbeitung (void); 

#endif      // __EPRINTF_H__