So the data should only be coming from one chip at a time. I call getTemp(*) for CH1-CH9 in order, and since the Chip Select (CS) pins for each chip come from a separate pin on the Uno, I should be able to call for data from each chip individually. If I call getTemp(CH1), the CS pin for chip 1 receives a signal, sending temperature data to the SO data bus. During this loop, any data that comes to the Uno should only be from that chip. Does that make sense?
Yes, it makes sense. But you asserted that you were getting data from chip 1 and chip 2. I asked how you knew that this was the case (since all the SO pins are tied together) and you didn't answer.
As for the decoupling caps, I initially thought the same thing as you, but I based my design on the other *.brd file in my first post. I also emailed Ryan Mclaughlin, who has designed breakout boards for the MAX chips, and made sure I wasn't missing a connection to ground. He said I wasn't. Do you think he is incorrect? Thanks.
I looked at that other board and it shows NO ground connections for anything. This would prevent the chips, the LEDs and the decoupling caps from working. I'm guessing the author provided an incomplete design. He may be assuming a flood fill ground plane on the bottom side of the board but there should be vias to connect the top traces to ground where necessary.
The very first diagram in the datasheet (
http://www.adafruit.com/datasheets/MAX31855.pdf) clearly shows a 0.1uF decoupling capacitor connected to Vcc and GND.