Shift registers working

Revision:
1:9cc13bd590df
Parent:
0:a0e3fd47970f
--- a/ShiftReg.cpp	Fri Nov 09 01:03:30 2012 +0000
+++ b/ShiftReg.cpp	Tue May 07 13:19:27 2019 +0000
@@ -1,63 +1,50 @@
 #include "mbed.h"
 #include "ShiftReg.h"
 
-#define MY_DEBUG 0
-
-ShiftReg::ShiftReg
-(PinName data
-,PinName store
-,PinName clock
-): _ds(data), _st(store), _sh(clock)
-{
-}
-
-
-void ShiftReg::ShiftByte
-(int8_t  data
-,BitOrd  ord
-)
+ShiftReg::ShiftReg(PinName data, PinName store, PinName clock ): _ds(data), _st(store), _sh(clock){}//Constructor
+void ShiftReg::ShiftByte (uint16_t  data, BitOrd  ord )
 {
-    uint8_t mask;
-    
-    if (ord == MSBFirst) mask = 0x80;
-    else                 mask = 0x01;
-    
-    for (int i = 0; i < 8; i++)
+    uint16_t mask;
+    if (ord == MSBFirst) 
+    {       
+        mask = 0x8000;
+    }
+    else
+    {
+        mask = 0x0001;
+    }
+    for (uint8_t i = 0; i < 16; i++)
     {
-        if (data & mask) _ds = 1;
-        else             _ds = 0;
-
-#if MY_DEBUG > 0
-        printf("%d ", _ds.read());
-#endif /* MY_DEBUG */
-
-        if (ord == MSBFirst) mask = mask >> 1;
-        else                 mask = mask << 1;
+        //_ds = data;
         
+        if (data & mask)
+        {
+            _ds = 1;
+        }
+        else
+        {
+            _ds = 0;
+        }
+        if (ord == MSBFirst)
+        {   
+            mask = mask >> 1;
+        }
+        else
+        {
+            mask = mask << 1;
+        }
         _sh = 0;
         _sh = 1;
     }
-
-#if MY_DEBUG > 0
-    printf("\n");
-#endif /* MY_DEBUG */
-
 }
-
-void
-ShiftReg::ShiftBit
-(int8_t  data
-)
+void ShiftReg::ShiftBit(int8_t  data)
 {
     _ds = data;
     _sh = 0;
     _sh = 1;
 }
 
-void 
-ShiftReg::Latch
-(
-)
+void ShiftReg::Latch()
 {
   _st = 1;
   _st = 0;