2 bit Bridge Driver

Committer:
jm
Date:
Sat Feb 19 01:30:54 2011 +0000
Revision:
0:bfa30f27fe9d
jmBridge Module

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jm 0:bfa30f27fe9d 1 /*************************************************************************
jm 0:bfa30f27fe9d 2 * @file jmRingBuffer.h
jm 0:bfa30f27fe9d 3 * @brief Command Line Rx Ring Buffer
jm 0:bfa30f27fe9d 4 *
jm 0:bfa30f27fe9d 5 * @date Feb12, 2011
jm 0:bfa30f27fe9d 6 */
jm 0:bfa30f27fe9d 7
jm 0:bfa30f27fe9d 8 #ifndef jmRingBufferDef
jm 0:bfa30f27fe9d 9 #define jmRingBufferDef 1
jm 0:bfa30f27fe9d 10
jm 0:bfa30f27fe9d 11 #define nl 10 // new line
jm 0:bfa30f27fe9d 12 #define WordMaxSize 21
jm 0:bfa30f27fe9d 13 #define DimRingBuffer 41
jm 0:bfa30f27fe9d 14
jm 0:bfa30f27fe9d 15
jm 0:bfa30f27fe9d 16 // Ring Buffer data structure
jm 0:bfa30f27fe9d 17 extern struct RingBuffer
jm 0:bfa30f27fe9d 18 { unsigned char Buffer[DimRingBuffer];
jm 0:bfa30f27fe9d 19 unsigned char head;
jm 0:bfa30f27fe9d 20 unsigned char tail;
jm 0:bfa30f27fe9d 21 unsigned char qty;
jm 0:bfa30f27fe9d 22 }Line, *pLine;
jm 0:bfa30f27fe9d 23 #endif
jm 0:bfa30f27fe9d 24
jm 0:bfa30f27fe9d 25 // Prototypes
jm 0:bfa30f27fe9d 26 bool Full(struct RingBuffer *p);
jm 0:bfa30f27fe9d 27 void Insert(unsigned char c, struct RingBuffer *p);
jm 0:bfa30f27fe9d 28 bool NotEmpty(struct RingBuffer *p);
jm 0:bfa30f27fe9d 29 unsigned char Extract(struct RingBuffer *p);
jm 0:bfa30f27fe9d 30 void FlushRingBuffer(struct RingBuffer *p);
jm 0:bfa30f27fe9d 31 void DelChar(struct RingBuffer *p);
jm 0:bfa30f27fe9d 32 void InitCommandLineRingBuffer(void);
jm 0:bfa30f27fe9d 33 void NextCommand(unsigned char c, struct RingBuffer *p);
jm 0:bfa30f27fe9d 34 void ViewRingBuffer(struct RingBuffer *p);
jm 0:bfa30f27fe9d 35 bool ExtractWord(struct RingBuffer *p, char *param);
jm 0:bfa30f27fe9d 36 bool ExtractUInteger(struct RingBuffer *p, unsigned int *result, unsigned int min, unsigned int max);