avago wrote:You have to set up with SPI speed at 5Mhz, then switch down to 2.5Mhz to receive the data
Does this
have to run at 5MHz, or could the bus be left at 2.5MHz for all SPI? (e.g. is a higher speed necessary to prepare things quickly enough for reception?)
avago wrote:So far I've worked out byte 3 - 12 is the temperature *10, so currently 1.9C. I suspect the previous nibble is the sign.
There must be other bits involved, or else 25.5 degC would be the maximum recordable temperature. Also, I guess a big chunk of the data will be date/time (DCF-77 or similar) - I'm sure I found a page relating to this data on Fine Offset stations, but I've not been able to re-locate it.
avago wrote:I'm using the nFFS pin as interrupt, with FFIT pulled high with a 1k.
Did you write these the wrong way round? (e.g. instead of nFFS pulled high, FFIT used as interrupt).
Also, what's command 0xb000? I can't find any command in the datasheet that starts with bits '1011'.
Last night I tried doing it all at 2.5Mhz and got nothing useful. 10MHz setup is fine, with 2.5Mhz to receive data. Lower than 2.5M didnt work. I can't get any sense out of the status word 0x0000 for the FIFO output. The Hope examples in C show it should work, and I'm sending the correct extra 8 clocks, but no output. It is possible that I'm checking too quickly after the interrupt. I'll tinker a but more as it's more useful to have the SPI running at one speed, especially as I'm running other devices on it.
Yes, 25.5 would be a bit limiting. In my excitement I overlooked this, but in my defense it did occur to me this morning. The next nibble to the left must be the sign bit and the rest, allowing +/- 204.8C It got down to 0.5C last night so I never found out the sign bit. Soon.
B000 is the fifo read. It's on page 18 of the IC datasheet, before AFC, and after synchron pattern.
I'm not convinced that DCF info is sent. Or pressure. I think they are both built into the base unit, as I got both of these on the display without batteries in the transmitter.
I didnt write them the wrong way around, I simply wrote them incorrectly. nIRQ is the interrupt, nFFS pulled high. Oh FFS. It was late, I was tired.... I've just checked on the scope and FFIT is the complement of nIRQ. nIRQ goes low to alert you.
And CRC is present on first 9 bytes, with the result in the 10th (thanks to
http://www.susa.net/wordpress/2012/08/r ... nd-rfm12b/) for finding that one, and most of the rest.