1 #ifndef _msp430_serial_h
2 #define _msp430_serial_h
3 /* Name: msp430_serial_h
5 * Copyright: (c) 2011 by Peter@Lorenzen.us
6 * License: [BSD]eerware
18 # define NULL ((void *) 0)
21 #define FIFO_SZ 64 // power of 2
25 volatile uint8_t count, empty;
26 uint8_t b[FIFO_SZ]; // buffer
29 extern fifo_t fiforx0;
30 extern fifo_t fifotx0;
31 extern fifo_t fiforx1;
32 extern fifo_t fifotx1;
38 void serputc(char c, fifo_t *fp);
39 void serputs(char *cpt, fifo_t *fp);
40 void serputb(char c, fifo_t *fp);
41 void serputw(int w, fifo_t *fp);
42 int sergetc(fifo_t *fp);
43 int seravailable(fifo_t *fp);
44 void serflush(fifo_t *fp);
45 void ser0_init(int baud, fifo_t *rd, fifo_t *wr);
46 void ser1_init(int baud, fifo_t *rd, fifo_t *wr);
47 void serclear(fifo_t *fp);
53 void dputs(char *str);
66 # define ddputc(c) if (dlevel>1) dputc(c)
67 # define ddputs(s) if (dlevel>1) dputs(s)
68 # define ddputb(b) if (dlevel>1) dputb(b)
69 # define ddputw(w) if (dlevel>1) dputw(w)
78 # define dddputc(c) if (dlevel>2) dputc(c)
79 # define dddputs(s) if (dlevel>2) dputs(s)
80 # define dddputb(b) if (dlevel>2) dputb(b)
81 # define dddputw(w) if (dlevel>2) dputw(w)
90 // we use fp1 for debug output
94 # define dputc(c) if (dlevel) serputc(c,txfp1)
95 # define dputs(s) if (dlevel) serputs(s,txfp1)
96 # define dputb(b) if (dlevel) serputb(b,txfp1)
97 # define dputw(w) if (dlevel) serputw(w,txfp1)
98 # define dflush() if (dlevel) serflush(txfp1)
106 #if (DEBUG_LEVEL > 1)
107 # define ddputc(c) if (dlevel>1) serputc(c,txfp1)
108 # define ddputs(s) if (dlevel>1) serputs(s,txfp1)
109 # define ddputb(b) if (dlevel>1) serputb(b,txfp1)
110 # define ddputw(w) if (dlevel>1) serputw(w,txfp1)
111 # define ddflush() if (dlevel>1) serflush(txfp1)
120 #if (DEBUG_LEVEL > 2)
121 # define dddputc(c) if (dlevel>2) serputc(c,txfp1)
122 # define dddputs(s) if (dlevel>2) serputs(s,txfp1)
123 # define dddputb(b) if (dlevel>2) serputb(b,txfp1)
124 # define dddputw(w) if (dlevel>2) serputw(w,txfp1)
125 # define dddflush() if (dlevel>2) serflush(txfp1)