We are using the MPL3115A2 barometeric and temperature sensor in a project. Periodically, the chip just stops providing data and the only way to get it to work again is to power cycle it.
Specifically, the STATUS REGISTER bit PTDR never gets set to a value of 1. (The entire register is actual 0). This registers as an error in our code and times out.
We can read the control registers (so it is not a communication issue). They appear to be the same values (Control Reg 1, 2, 3, 4, 5 as 0x39 0x00 0x11 0x00 0x00) whether it is working or not (they never seem to change when the error occurs). When we read the control register bit SBYB, it is a 1.
We have tried setting SBYB to Standby and then back to Active and had the same issue. Also tried to reinitialize everything and still would not provide data.
We need help figure out what is causing this or how to recover from it. Perhaps we have the chip configured incorrectly.
We are using a non FIFO option with a reading frequency (oversample ratio of 128). We are polling the device as needed and not using any of the events (even though they may be set to on).
This never seems to happen immediately after startup but after a period of time. (We are trying to test it to see if there is a pattern in the time but we don't have any data yet).
Any help is greatly appreciated. Glad to answer questions.