Read up to 8 debounced switches from serial port

Dependencies:   mbed

Committer:
jm
Date:
Sat Feb 12 16:46:49 2011 +0000
Revision:
0:f3a5f6fe1c03
jmSwitch Command Line Interface Module

Who changed what in which revision?

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