10 years, 7 months ago.

CC1101 Library - Definition of RDmiso Parameter

Hello Athanassios,

I am just starting to use the mbed system and am trying your cc1101 library and demo application.

Could you please help me by clarifying the 5th parameter, RDmiso in the CC1101 constructor? I am not clear what signal I should connect to the pin defined here.

I am using the new ST Nucleo boards and working with the L152RE.

I am connecting the radio's mosi, miso, and clock to PA_7, PA_6, and PA_5. I have CSN connected to PA_8. I am using PA_9 in the constructor, but don't know what signal from the radio should be connected to PA_9. I also have the radio's GDO0 pin connected to PA_10 and specified in the next line of code. (excerpt below)

Thanks in advance for any help you can give me.

Best Regards, Laz

Excerpt from CC1101.cpp CC1101 cc1101(PA_7, PA_6, PA_5, PA_8, PA_9); Radio: 3=mosi, 5=miso, 4=clock, 7=csn. ??=RDmiso DigitalIn gdo0(PA_10); pin connected to gdo0 pin of CC1101 for checking that received a new packet Radio: 8=GDO0

Question relating to:

1 Answer

10 years, 6 months ago.

I've been playing around with this a bit, though somewhat unsuccessfully at the moment, but as I understand it, and also from studying other implementations of libraries for the TI CC1101 radio, this is how it works. The short version is that before performing any operation with the CC1101 over the SPI but (such as reset, Read Register or Write Register), the library must wait until the CC1101 asserts MISO low before proceeding with the SPI operation. For this reason, this library expects you to connect the MISO pin of the CC1101 radio to 2 locations on the mbed - to the MISO pin of the mbed, but additionally to a GPIO configured as an INPUT so that the library can watch that pin and wait for MISO to go low. Hope this explains it?

Accepted Answer

Hi Jason,

Thanks for your reply. Your explanation makes sense and is in sync with the TI library for the msp430.

I have been working with little cc1101 modules I buy on eBay for £5 and making them work nicely on atmega 328p processors. I have worked with the panstamp library and had good results. This library doesn't use an extra pin to monitor MISO. I'll have a closer look at their code to see what it's doing.

I tried connecting the radio's MISO line to an extra input on the mbed with no luck. I see that the example application configures the radio for 433MHz. My boards are tuned to run at 868 MHz. I am assuming that the frequency mismatch is the remaining problem. I need to work on the register settings to set that up.

I will post some results when I get this working. Please do the same of you get results.

Thanks and best regards, Laz

posted by Laz R. 03 Jun 2014

Laz, you might also want to read this as a way to make the "RDmiso" concept work more elegantly without needing another GPIO, which as it stands, does seem like a somewhat clunky mechanism. http://mbed.org/forum/mbed/topic/2374/

posted by Jason Tay 03 Jun 2014