Hi Chuck @cjwilde ,
That makes sense.
>> If we read the pressure before a new value is ready, will we read the old value or some indeterminate value?
It depends. Usually, you will read the old value, but if by chance 2 of the three output registers were updated and the last one would not, you will concatenate strings of bits from different readings, this resulting in a pretty random number. Note that the ODR (1Hz) could slightly vary from device to device (being e.g. 1Hz for DUT1 data and 1.05Hz for DUT2 ones), so your code (with constant delays) could work for the majority of the samples, but could fail for a limited number of other devices.
>> Since we want to read the pressure once per second, does it matter whether we use the one-shot mode or the polling mode? It seems like the one-shot mode might make more sense for us.
You are right, I believe that the one-shot mode makes more sense for you application, and it might help you to save power during the application cycle. For completeness, you should check the P_DA bit of the STATUS (27h).
Or you might characterize "a priori" the actual ODR for every device and then, but I believe this is an "expensive" activity.
Or otherwise synchronize the acquisition using the embedded FIFO (e.g. lps22hb_multi_read_fifo.c), but the code might be a little more complicated.
-Eleon