I'm back.
Well akuma, that are the results
, it seems that there must be another problem, I really don't know. I'm too conditioned by the target circuit as I can't desolder the chip (is partially under a servo motor), I can't try to write it before reading it (I need to put the content of the chip in another circuit), seeing the circuit it seems that the DI and DO are tied together (between them a resistor maybe a pullup or pulldown) ... too many constraints for a first approach.
Well, who said that this will easy
. (that's the funny part)
Here are the tests I did:
RAW3WIRE>]0b110 _^:2 0x00 ! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ 0x08 BYTES:
0x00 0x12 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>
That makes sense as you said on the last post.
RAW3WIRE>]0b110 _^:2 0x00 !! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x24 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>
Ok, if we shift another bit it gets multiplied by 2, try to read 3 bits this time:
RAW3WIRE>]0b110 _^:2 0x00 !!! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x48 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>
Another left shift. from where comes that zeros? as DO go to high impedance and maybe is tied to a pullup resistor, umm, they must be ones ¿?, try another one:
RAW3WIRE>]0b110 _^:2 0x00 !!!! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x90 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>
Here we go wit another one:
RAW3WIRE>]0b110 _^:2 0x00 !!!!! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x01 0x20 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>
Well it continues shifting to the left. Trying some of crazy one: ]0b110 _^:2 0x00 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! r:8[
RAW3WIRE>]0b110 _^:2 0x00 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x02 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 1
READ BIT: 0
READ BIT: 0
READ BIT: 1
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ 0x08 BYTES:
0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>
Well we have 101 travelling to the left, and?, well I am not really really sure that I'm at 16bits mode (it seems it because there is no trace to that pin at least visually, because I cant access to it (I can't remove the upside motor), but the 8bit results are saying the same:
RAW3WIRE>]0b110 _^:3 0x00 ! r:8[
CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
0x03 CLOCK TICKS
WRITE: 0x00
READ BIT: 0
READ 0x08 BYTES:
0x00 0x24 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
CS ENABLED
RAW3WIRE>
Well I'm flying blind
, any suggestion?
I will be out working until tomorrow so I will not answer or can do tests in 18 hours (more or less), but on Friday night I will have another circuit on which I can remove or break the motor to have direct access to the eeprom and work in better conditions.
Until tomorrow, see you and thanks, regards from Spain.