some registers I am able to write successfully to, but some registers I am not, problem is I am getting ACK on the I2C bus in both cases.
for example in the beginning of the ADE7953 datasheet:
I've done that using our I2C ( using Nordic's chip ) and I am getting ACKS back from the ADE, when I am dumping the registers to the terminal I can see that these registers remain unchanged, therefore connected logic analyzer to the I2C bus:
for me it looked okay and we have a ADE7953 eval board so I connected the Logic analyzer to the I2C pins on the eval board and observe how the ADE7953 interface board writes to these registers for example for register 0xFE( the unlock register )
it appears that the interface board writes successfully to the eval board ?
but when I read back the register to validate:
using the ADE7953 evaluation software:
although on our production unit (not the val board ) with ADE7953 I am able to write successfully to the PGA registers (modifying the gain for current )
and I am able to use the DISNOLOAD register successfully too, but then again I am getting acks when writing to registers AP_NOLOAD and VAR_NOLOAD and when I read them I am getting the same values as if they were never changed ( default values )
this is ofc after disabling NOLOAD feature (using DISNOLOAD) and validating that DISNOLOAD is set before writing to these registers as noted in the datasheet here: