Hi, how is the new nrf_drv_twi supposed to be used for reading registers? The sequence for that is pretty much industry standard:
> Device address
< Ack
> 0x00 (register)
< Ack
< Data
> Ack
this code will write the address twice (one w and one r) rather then doing a write and then expecting data to be clocked from the peripheral:
nrf_drv_twi_tx(&twi, MAX7315_ADDRESS, (uint8_t*)&buf, 1, true);
nrf_drv_twi_rx(&twi, MAX7315_ADDRESS, (uint8_t*)&buf, 1, false);