It seems as though when I have a read problem, its normally minor, and is a single bit error.
I notice that the errors have a tendency for 0s to be incorrectly interpreted as 1s.
So I get AB instead of 2B, AB instead of 8B, 5F instead of 5E, D7 instead of D3. These are all single-bit errors, and they are all got-1-needed-0 errors. Its not the particular bit position, across those, we see a 1st bit, a 3rd bit, a last bit, and 6th bit (counting from the left MSB) position errors.
The previous and next bytes are correct, so it’s not a “shifting” problem. My SX is seeing an edge where it should be seeing a high.
I’m going to give something a shot. I’m going to double-check my 1’s situation by checking the value of the pin right before I write a “1”, if its a zero, I’m going to jump and write a 0 instead. Can’t hurt….