I suspect the shift clock was happening too soon after the data change, so I added a small delay.
`//Sets the pin to HIGH or LOW depending on pinState
digitalWrite(myDataPin, pinState);
// hold data for 1ms before clocking it in
delay(1);
//register shifts bits on upstroke of clock pin
digitalWrite(myClockPin, 1);`
I suspect the shift clock was happening too soon after the data change, so I added a small delay.