Ahora veo que SI responde cuando hay un error. En si hay cosas que falta explicaciones, y tal ves esten en las hojas que sacaste del datasheet estan.
Responde los siguientes 2 bytes:
010i.iiii Address of updated peripheral (41 - 5F)
111y.yyyy End (Slave --> Master)
| ||||
| |||Bit0 =1 -> Data to communicate (1 or more registers change)
| ||Bit1 =1 -> RTX Error
| |Bit2 =1 -> Power-On
| Bit3 =1 -> Local mode(only requests, not settings)
Bit4 =1 -> Device Engaged
Y aca viene el problema... Supuestamente uno puede escribir a las direcciones 00 hasta 1F (0x20 a 0x3F)), el problema es que la respuesta que deberia ser tambien de 00 hasta 1F (0x40 a 0x5F), parece no serlo, El cual comienza con un 01 hasta 1F, Es decir la direccion 00, parece no ser correcta o no tiene respuesta (ya que no es un valor valido de respuesta). Seguramente debe haber algun error en el manual ya que sino faltaria 1 direccion de equipo. Otra de las cosas, es que tenes 4 DIP Switch en la placa, como es posible setear 5 bits con eso ?, o que bits esta usando. Tal ves sea que la direccion de respuesta sea 1 mas de lo enviado, y por eso posee 5 bits. Puede haber multiples causas, pero vamos a apoyarnos en esta ultima.
Por tu parte, veo que la respuesta del circuito dice que se trata del dispositivo numero 1, es decir 01, y el cual nosotros usabamos 00, al menos eso responde con el 0x41 ( A no ser que el 0 responda como 1).
Y luego vienen el estado, el cual te devuelve un 0xED o 0b1110 1101
Si observamos los bits. Tenemos que:
Bit 0: Se pidio el cambio de un registro, Correcto
Bit 1: No hubo error de transmision ( o sea el checksum estaba bien )
Bit 2: Esta en modo Power-On, ya que el Start lo despierta.
Bit 3: El que mas me extraña es este bit, Segun en el datasheet, si esta en 1, el dispositivo esta en "Local Mode", por lo cual NO se puede setear registro, solamente leerlos.
No se si en las otras hojas que quitaste dice algo de esto.
Bit 4: Finalmente este bit, nos indica que no se realizo la operacion.
Mi pregunta ahora es ... Como sacarlo del Local Mode, tal ves un Jumper. No veo comando que lo haga.
-------------------------------------------------------
Posibles solucion para explicar si es correcta la direccion del dispositivo.
Si tenes un solo equipo conectado, se podria probar enviar el comando: COMMAND 71 (Peripheral identification request)
De esa forma, ya que SI se puede pedir cosas, saber si la direccion es realmente 0x00 o si es 0x01
20 71 A9 B1 C0Si responde correctamente, es decir con cerca de 11 bytes, entonces es correcta la direccion 0x00, sino habra que probar con la direccion 0x01.