Update UC3 platform driver support to use the bitmasks defined in the header files...
[pub/USBasp.git] / Projects / Magstripe / Lib / CircularBitBuffer.c
index c1b2103..b316963 100644 (file)
@@ -1,22 +1,22 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
-              
+     Copyright (C) Dean Camera, 2011.
+
   dean [at] fourwalledcubicle [dot] com
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
   Copyright 2010  Denver Gingerich (denver [at] ossguy [dot] com)
 */
 
 /*
   Copyright 2010  Denver Gingerich (denver [at] ossguy [dot] com)
-  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
 
-  Permission to use, copy, modify, distribute, and sell this 
+  Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
   software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in 
+  without fee, provided that the above copyright notice appear in
   all copies and that both that the copyright notice and this
   all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting 
-  documentation, and that the name of the author not be used in 
-  advertising or publicity pertaining to distribution of the 
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
   The author disclaim all warranties with regard to this
   software without specific, written prior permission.
 
   The author disclaim all warranties with regard to this
@@ -41,7 +41,7 @@ void BitBuffer_Init(BitBuffer_t* const Buffer)
 {
        /* Reset the number of stored bits in the buffer */
        Buffer->Elements        = 0;
 {
        /* Reset the number of stored bits in the buffer */
        Buffer->Elements        = 0;
-       
+
        /* Reset the data in and out pointer structures in the buffer to the first buffer bit */
        Buffer->In.CurrentByte  = Buffer->Data;
        Buffer->In.ByteMask     = (1 << 0);
        /* Reset the data in and out pointer structures in the buffer to the first buffer bit */
        Buffer->In.CurrentByte  = Buffer->Data;
        Buffer->In.ByteMask     = (1 << 0);
@@ -56,10 +56,10 @@ void BitBuffer_StoreNextBit(BitBuffer_t* const Buffer,
        /* If the bit to store is true, set the next bit in the buffer */
        if (Bit)
          *Buffer->In.CurrentByte |= Buffer->In.ByteMask;
        /* If the bit to store is true, set the next bit in the buffer */
        if (Bit)
          *Buffer->In.CurrentByte |= Buffer->In.ByteMask;
-       
+
        /* Increment the number of stored bits in the buffer counter */
        Buffer->Elements++;
        /* Increment the number of stored bits in the buffer counter */
        Buffer->Elements++;
-       
+
        /* Check if the current buffer byte is full of stored bits */
        if (Buffer->In.ByteMask == (1 << 7))
        {
        /* Check if the current buffer byte is full of stored bits */
        if (Buffer->In.ByteMask == (1 << 7))
        {
@@ -68,8 +68,8 @@ void BitBuffer_StoreNextBit(BitBuffer_t* const Buffer,
                  Buffer->In.CurrentByte++;
                else
                  Buffer->In.CurrentByte = Buffer->Data;
                  Buffer->In.CurrentByte++;
                else
                  Buffer->In.CurrentByte = Buffer->Data;
-                 
-               /* Reset the storage bit mask in the current buffer byte to the first bit */            
+
+               /* Reset the storage bit mask in the current buffer byte to the first bit */
                Buffer->In.ByteMask = (1 << 0);
        }
        else
                Buffer->In.ByteMask = (1 << 0);
        }
        else
@@ -81,7 +81,7 @@ void BitBuffer_StoreNextBit(BitBuffer_t* const Buffer,
 
 /** Function to retrieve the next bit stored in the given bit buffer. */
 bool BitBuffer_GetNextBit(BitBuffer_t* const Buffer)
 
 /** Function to retrieve the next bit stored in the given bit buffer. */
 bool BitBuffer_GetNextBit(BitBuffer_t* const Buffer)
-{      
+{
        /* Retrieve the value of the next bit stored in the buffer */
        bool Bit = ((*Buffer->Out.CurrentByte & Buffer->Out.ByteMask) != 0);
 
        /* Retrieve the value of the next bit stored in the buffer */
        bool Bit = ((*Buffer->Out.CurrentByte & Buffer->Out.ByteMask) != 0);
 
@@ -90,17 +90,17 @@ bool BitBuffer_GetNextBit(BitBuffer_t* const Buffer)
 
        /* Decrement the number of stored bits in the buffer counter */
        Buffer->Elements--;
 
        /* Decrement the number of stored bits in the buffer counter */
        Buffer->Elements--;
-       
-       /* Check if the current buffer byte is empty of stored bits */  
+
+       /* Check if the current buffer byte is empty of stored bits */
        if (Buffer->Out.ByteMask == (1 << 7))
        {
                /* Check if the end of the buffer has been reached, if so reset to start of buffer, otherwise advance to next bit */
                if (Buffer->Out.CurrentByte != &Buffer->Data[sizeof(Buffer->Data) - 1])
                  Buffer->Out.CurrentByte++;
                else
        if (Buffer->Out.ByteMask == (1 << 7))
        {
                /* Check if the end of the buffer has been reached, if so reset to start of buffer, otherwise advance to next bit */
                if (Buffer->Out.CurrentByte != &Buffer->Data[sizeof(Buffer->Data) - 1])
                  Buffer->Out.CurrentByte++;
                else
-                 Buffer->Out.CurrentByte = Buffer->Data;               
-               
-               /* Reset the retrieval bit mask in the current buffer byte to the first bit */          
+                 Buffer->Out.CurrentByte = Buffer->Data;
+
+               /* Reset the retrieval bit mask in the current buffer byte to the first bit */
                Buffer->Out.ByteMask = (1 << 0);
        }
        else
                Buffer->Out.ByteMask = (1 << 0);
        }
        else
@@ -112,3 +112,4 @@ bool BitBuffer_GetNextBit(BitBuffer_t* const Buffer)
        /* Return the retrieved bit from the buffer */
        return Bit;
 }
        /* Return the retrieved bit from the buffer */
        return Bit;
 }
+