Serial UART snooper. Connect RX and TX of the UUT to 2 x RX pins on mbed to inspect the traffic in both directions
Dependencies: MODSERIAL Terminal mbed
TinyQueue.h
- Committer:
- cbayley
- Date:
- 2012-09-20
- Revision:
- 5:76d46f565551
- Parent:
- 3:b8bad606d4f2
File content as of revision 5:76d46f565551:
#ifndef TINYQ_H #define TINYQ_H /** \defgroup tinyQ Tiny Queue * Tiny Queues implements a 4 byte queue for iPhone events with just 1 byte of management overhead. * Head and Tail pointers both inherently wrap at the end of the buffer and no bounds checking is * necesary IFF the buffer size is set as a power of 2 equal to the width of the pointers !! * i.e head is 2 bits wide so the buffer must be 2^2 = 4 bytes deep. * @{ */ /** NOTE: Q_SIZE MUST be == 2 ^ widthof( tinyQ_t.head ) */ #define Q_SIZE 256 /** a tinyQ tracks a 8 * queue with just 1 byte overhead */ typedef struct { unsigned char head:8; ///< the bit depth MUST be that power of 2 that is the Q_SIZE unsigned char tail:8; ///< the bit depth MUST be that power of 2 that is the Q_SIZE unsigned char fill:9; ///< Must be 1 bit bigger than the head and tail pointers void* data[Q_SIZE]; ///< NOTE: Q_SIZE MUST be == 2 ^ widthof( tinyQ_t.head ) }tinyQ_t; /** * \brief Push an Accessibility Event onto our queue for sending to the iphone * \param q pointer to our tinyQ_t * \param c the Event to send to the iphone * \return null if Q full, 1 on success * \sa Qpop(), Qjump() * \ingroup tinyQ */ int Qpush( tinyQ_t* q, void* p ); /** * \brief Push an Accessibility Event onto front of our queue for sending to the iphone * \param q pointer to our tinyQ_t * \param c the Event to send to the iphone * \return null if Q full, 1 on success * \sa Qpush(), Qpop() * \ingroup tinyQ */ int Qjump( tinyQ_t* q, void* p ); /** * \brief Pop an Accessibility Event off our queue for sending to the iphone * \param q pointer to our tinyQ_t * \param c pointer to receive the Event * \return null if Q empty, 1 on success * \sa Qpop(), Qjump() * \ingroup tinyQ */ int Qpop( tinyQ_t* q, void ** p); #endif