I use DA14531 TINY module with Codeless SDK 6.380.10.4 and factory compiled codeless_531_standalone_set_two.hex image along with TI's HDC1000 sensor. Problems occur when I read or write to sensor registers.
By reading a register, the commands are as follows (see attached console session):
Here 0x40 is the sensor I2C address, and 0xFE is the sensor register address. This way the 2-byte sensor's manufacturer ID should be read. However, only the 1st ID byte is read and by reading the 2nd byte the module geherates just 8 SCL pulses to the sensor (instead of 9) and hangs. See attached Logic Analyser image. Pull-up I2C resistors are 4.7K, so they are not an issue. After about 3 minutes the module resets itself and prints +READY in the terminal window. All previous configuration of I2C pins is reset and forgotten.
By writing to the senswor config register, the module composes the right number of SCL pulses, but does not compose the STOP condition at the end of communication and leaves the SCL line low. The writing is done by the following command, see the logic analyser image attached:
where 2 is the sensor register address, and 0 is the value to write.
I also tried other sensors and combinations of 1- and 2-byte registers. Nothing works as expected.
Question: is it a known issue with the module and one should wait for a new firmware release or there is a way to fix it?