Dump SPI from input to pc.serial

Dependencies:   mbed

Revision:
0:1ca47c273d0f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tinyQ.c	Mon Jan 30 23:08:52 2012 +0000
@@ -0,0 +1,57 @@
+#include "string.h"
+#include "tinyQ.h"
+
+
+
+/**
+ * \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, char c )
+{
+   if ( q->fill == Q_SIZE )
+    return 0;
+    
+   __disable_irq();
+   q->fill++;
+   q->data[q->head++] = c;
+   __enable_irq();
+   
+   return 1;
+}
+
+
+/**
+ * \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, char * c)
+{
+   if (! q->fill )
+      return 0;
+      
+   __disable_irq();
+   q->fill--;
+   *c = q->data[q->tail++];
+   __enable_irq();
+   
+   return 1;
+}
+
+int Qfree( tinyQ_t* q )
+{
+    return (Q_SIZE - q->fill);
+}
+
+void Qinit( tinyQ_t * q )
+{
+    memset( q, 0, sizeof(q) );
+}