BINGO!

(more to come)

Well, now it is working.

After that I got “synchronized rubbish” (see my other posts) disabling CRC, I discovered that all my troubles were due to a wrong setting of address, by my side.

My fault. Of course I have to say that if I had had a chance to read back what I had written to the transceiver, I would probably had gotten it :wink:

(BTW I had even put a resistor in series to VCC, to see if the RF24 was switching on and off, and possibly transmitting, to monitor the current sunk!)

After than that, I adjusted it and moved beyond. Still I was not getting things working, when CRC was put back into. Found out that I was waiting too little (300uS rather than 500 for a 16 byte packet) at the end of TX. Funny is that I had already tried reducing the PAYLOAD to 4 … with no success: it was a con-cause.

Latest, an error in an assembly-driven routine for SPI-input precluded the good reception of first byte… but I spotted this one easily with the oscilloscope. That routine had already been used before… maybe a hidden bug (a banking issue…)

Now I’m resetting thing to the proper place: exact payload for my needs (home automation devices, general-purpose), optimization. I was working at 500KHz Clock and now I set it full-steam 1MHz (500nSec as from spec).

Reduced also delays here and there (after setting TX, after setting RX, after Config…, inter-char).

I’ll post my timing (SPI does not seem critical at all, despite first impression and comments found out there…) for use by those who’ll come follow… :smiley:

Next step is checking the maximum distance covered :wink: !

PS: for the record, I’m using a 5V USB 18F2550, powering the RF device via its VUSB (now it may seem strange, but it already worked for me in the past), and the 5V-3V is done via simple 1K resistors. Needless to say I was wondering if it was because of that… the malfunctioning… BUT it was not!

Thanks for your attention

DarioG:
PS: for the record, I’m using a 5V USB 18F2550, powering the RF device via its VUSB

You might want to check the specs on that… my understanding is that Vusb is only rated for a tiny amount of external draw, just sufficient for a pull-up resistor that indicates the device’s speed.

jasonharper:

DarioG:
PS: for the record, I’m using a 5V USB 18F2550, powering the RF device via its VUSB

You might want to check the specs on that… my understanding is that Vusb is only rated for a tiny amount of external draw, just sufficient for a pull-up resistor that indicates the device’s speed.

Of course you may be right. I don’t know exactly how much power is available down there, I supposed that some 20mA were ok. I did the same, time ago, with a SPI EEPROM 8-MBit and 3 of those devices (prototipes) have been working for 1 year now.

I know that a LDO 5->3.3 isn’t going to cost at all, but I just wanted to try! If it’ll ever go into production, we’ll double check that thing.

DarioG:
I’ll post my timing (SPI does not seem critical at all, despite first impression and comments found out there…) for use by those who’ll come follow…

This makes sense, since you said that you were using Shockburst. This is the primary purpose of Shockburst mode, in that you can send a signal anywhere from basically DC to 1 Mbps and the MCU will accept it. Direct mode is the one that requires that you be almost exactly at 1 Mbps.

You are right Brennen, but my issue was that, despite datasheet info and spec, many people on the forum were complaining that they were not precise and rather you needed to do some “fine tuning” of them…

For example: “transmit data at a lower rate, say 10Kbps” … even if you were transmitting Shockburst @1Mbps.

That’s why I thought there was a speed issue.