Giter Club home page Giter Club logo

rf24's People

Contributors

a-lurker avatar avamander avatar ax7884 avatar cornet avatar dsbaha avatar fab672000 avatar gcopeland avatar gnulnulf avatar hallard avatar interneedus avatar ivankravets avatar jfktrey avatar jorihardman avatar k2os avatar komby avatar lnxbil avatar maniacbug avatar mannkind avatar martin-mat avatar nerdralph avatar prophet-roshak avatar reixd avatar spaniakos avatar stanleyseow avatar tmrh20 avatar zephyrr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rf24's Issues

Receiving on RPi working, sending not working.

I'm testing RPi pongtest and Arduino pingtest.

It seems that RPi is able to receive but not to send data back. I tested with 2 arduino communicating, and it works. But when I use RPi it doesn't. Here is my printDetails, and a part of the output. Other thing that is strange is that RPi doesn't receive a lot of messages on arduino it receive all of then, maybe because RPi is executing more tasks on background and receiving messages while pongtest is sleeping?

You can see that Pipes 0 and 1 are correct since they are invert from one to other. So do you have any idea what could this be? I'm thinking that maybe a RPi timing issue. Mine RPi is Version 1.0 with 256 ram running "Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l GNU/Linux"

RPi pongtest:
RF24/examples/pingpair/
ROLE: Pong back
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xf0f0f0f0d2 0xf0f0f0f0e1
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0xf0f0f0f0d2
RX_PW_P0-6 = 0x08 0x08 0x00 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR = 0x03
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0f
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_HIGH

RF24/examples/pingpair/
ROLE: Ping out
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xf0f0f0f0e1 0xf0f0f0f0d2
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0xf0f0f0f0e1
RX_PW_P0-6 = 0x08 0x08 0x00 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR = 0x03
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0f
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_HIGH

RPi output:
Got payload 1359...Sent response.
Got payload 12790...Sent response.
Got payload 14060...Sent response.
Got payload 16601...Sent response.
Got payload 17870...Sent response.
Got payload 19140...Sent response.

Arduino Output:
Failed, response timed out.
Now sending 1359...failed.

Failed, response timed out.
Now sending 2629...failed.

Failed, response timed out.
Now sending 3900...failed.

Failed, response timed out.
Now sending 5171...failed.

Failed, response timed out.
Now sending 6440...failed.

Failed, response timed out.
Now sending 7710...failed.

Failed, response timed out.
Now sending 8980...failed.

Failed, response timed out.
Now sending 10251...failed.

Failed, response timed out.
Now sending 11521...failed.

Failed, response timed out.
Now sending 12790...failed.

compiler warnings

It would be nice to have a clean compile without the "hide warnings" option.

root@raspberrypi:/usr/src/rf24-gnulnulf/RF24/librf24-rpi/librf24# make
g++ -Wall -fPIC -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -c RF24.cpp
RF24.h: In constructor âRF24::RF24(std::string, uint32_t, uint8_t)â:
RF24.h:60:11: warning: âRF24::spispeedâ will be initialized after [-Wreorder]
RF24.h:51:11: warning: âuint8_t RF24::csn_pinâ [-Wreorder]
RF24.cpp:241:1: warning: when initialized here [-Wreorder]
g++ -Wall -fPIC -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -c gpio.cpp
g++ -Wall -fPIC -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -c spi.cpp
gcc -Wall -fPIC -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -c compatibility.c
g++ -shared -Wl,-soname,librf24.so.1 -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -o librf24.so.1.0 compatibility.o gpio.o spi.o RF24.o
root@raspberrypi:/usr/src/rf24-gnulnulf/RF24/librf24-rpi/librf24#

need reset

after the scanner example in rpi the nrf needs to be resetted to make it work in the other examples.

by dauhee » Sat Feb 23, 2013 3:46 am
I can do the following to reset the config:
radio.write_register(0x00,0x0f);
only after modifying the RF24.h file to make the method public instead of protected - this enables comms to resume without power cycle.

This seems not to work

Cannot establish communication

I am trying to establish a connection between my Arduino Uno and RPi.

I followed the connections and run the Getting Started example on the Arduino and "pongtest" on the Pi

Output on Arduino -

�­¼8)>±û8<«<²)=��á'kmcû»%?'ãpdq1>6ãh>1>�ñ4{"j#bca(�&UOê��eTY)`

RF24/examples/GettingStarted/

ROLE: Pong back

*** PRESS 'T' to begin transmitting to the other node

STATUS       = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1    � = 0xf0f0f0f0e1 0xf0f0f0f0d2
RX_ADDR_P2-5    � = 0xc3 0xc4 0xc5 0xc6
TX_ADDR      = 0xf0f0f0f0e1
RX_PW_P0-6  � = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA        = 0x3f
EN_RXADDR   � = 0x03
RF_CH        = 0x4c
RF_SETUP    � = 0x07
CONFIG       = 0x0f
DYNPD/FEATURE   � = 0x00 0x00
Data Rate    = 1MBPS
Model        = nRF24L01+
CRC Length   = 16 bits
PA Power     = PA_HIGH
*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK

Now sending 7010...failed.

Failed, response timed out.

Now sending 8286...failed.

Failed, response timed out.

Now sending 9560...failed.

Failed, response timed out.

Now sending 10833...failed.

Failed, response timed out.

Output on Pi -

RF24/examples/pingpair/
ROLE: Pong back
SPI device   = /dev/spidev0.0
SPI speed    = 8000000
CE GPIO  = 25
STATUS       = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1     = 0xf0f0f0f0d2 0xf0f0f0f0e1
RX_ADDR_P2-5     = 0xc3 0xc4 0xc5 0xc6
TX_ADDR      = 0xf0f0f0f0d2
RX_PW_P0-6   = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA        = 0x00
EN_RXADDR    = 0x03
RF_CH        = 0x4c
RF_SETUP     = 0x03
CONFIG       = 0x0f
DYNPD/FEATURE    = 0x00 0x00
Data Rate    = 1MBPS
Model        = nRF24L01+
CRC Length   = 16 bits
PA Power     = PA_LOW

Now when I change to "R" mode, output on Arduino :

*** CHANGING TO RECEIVE ROLE -- PRESS 'T' TO SWITCH BACK

Output on Pi running "pingtest"

RF24/examples/pingpair/
ROLE: Ping out
SPI device   = /dev/spidev0.0
SPI speed    = 8000000
CE GPIO  = 25
STATUS       = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1     = 0xf0f0f0f0e1 0xf0f0f0f0d2
RX_ADDR_P2-5     = 0xc3 0xc4 0xc5 0xc6
TX_ADDR      = 0xf0f0f0f0e1
RX_PW_P0-6   = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA        = 0x00
EN_RXADDR    = 0x03
RF_CH        = 0x4c
RF_SETUP     = 0x07
CONFIG       = 0x0f
DYNPD/FEATURE    = 0x00 0x00
Data Rate    = 1MBPS
Model        = nRF24L01+
CRC Length   = 16 bits
PA Power     = PA_MAX
Now sending 3411559399...ok...Failed, response timed out.
Now sending 3411560616...ok...Failed, response timed out.
Now sending 3411561831...ok...Failed, response timed out.

I cannot establish communication between the 2 devices. I have checked, double checked and triple checked the connections. They're all correct. Using connections as mentioned in http://hack.lenotta.com/arduino-raspberry-pi-switching-light-with-nrf24l01/

Also, both devices are in the same room so range is not a problem.

Wiring.h aware

Rename functions or, when the functions and classes are the same, use the wiring option.

spi send multi bug in spi

the cs is toggled during multi byte spi. The one in PinDA works better but needs some cleanup. The GPIO is not needed for CS when using the hardware spi.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.