- Fri Aug 26, 2016 6:53 pm
#191462
Hello everyone! I've been scouring the internet for days and haven't come up with a solution yet, so I'm hoping someone here has some ideas. I'm making a wireless liquid level monitoring system and want to use the HopeRF RFM69HCW modules for this project. However, for reasons I won't go into here, I need to use the Intel Curie module. Since it's only available on the Arduino 101 board at this point, that means I need to make Arduino 101 and RFM69HCW talk to each other over SPI. I have no trouble getting this to work with a pair of Arduino Pro Minis, but I cannot for the life of me get the 101 to work with the RFM69's.
I've quadruple-checked the pins and I'm certain that I can use the 101's GPIO or ICSP headers for SPI communication, and have tried both. I'm using the SFE_RFM69HCW_example sketch that Sparkfun makes available for use with the breakout boards they sell. The sketch loads into the board without any issues, and appears to run properly on the 101. But there's no communication between radios.
My current theory is that the 101 is so much faster than the other Arduino boards that the SPI library was written for that the clock pin is toggling too fast for the RFM69 to keep up with. So then the fix would be to slow down the SPI clock. I have no idea how to do that though. Some of the methods like SPI.setClockDivider are no longer supported. It appears that the change has to be done in SPISettings with SPI.beginTransaction() but since this is using the SPI library I'm not sure where to find those (I've looked).
So there it is. I can't get the Arduino 101 to communicate with the RFM69HCW over SPI. If anyone knows of a way to fix this I'd LOVE to hear it. Thank you!!
I've quadruple-checked the pins and I'm certain that I can use the 101's GPIO or ICSP headers for SPI communication, and have tried both. I'm using the SFE_RFM69HCW_example sketch that Sparkfun makes available for use with the breakout boards they sell. The sketch loads into the board without any issues, and appears to run properly on the 101. But there's no communication between radios.
My current theory is that the 101 is so much faster than the other Arduino boards that the SPI library was written for that the clock pin is toggling too fast for the RFM69 to keep up with. So then the fix would be to slow down the SPI clock. I have no idea how to do that though. Some of the methods like SPI.setClockDivider are no longer supported. It appears that the change has to be done in SPISettings with SPI.beginTransaction() but since this is using the SPI library I'm not sure where to find those (I've looked).
So there it is. I can't get the Arduino 101 to communicate with the RFM69HCW over SPI. If anyone knows of a way to fix this I'd LOVE to hear it. Thank you!!