nrf24l01+ RPi2 direct connection problem
-
Hello,
I followed the nrf24l01+ direct RPi2 connection guide here:
http://forum.mysensors.org/topic/1151/tutorial-raspberry-pi-nrf24l01-direct-connectionI have had librf24-bcm.so.1.0 installed from tmrh20.
Unfortunately, I was not able to compile it from librf24-bcm folder:g++ -Wall -fPIC -Ofast -mfpu=vfp -mfloat-abi=hard -mtune=arm1176jzf-s -march=armv7-a -D BCM2835_PERI_BASE=0x -c RF24.cpp gcc -Wall -fPIC -Ofast -mfpu=vfp -mfloat-abi=hard -mtune=arm1176jzf-s -march=armv7-a -D BCM2835_PERI_BASE=0x -c bcm2835.c bcm2835.c: In function ‘bcm2835_init’: bcm2835.c:1207:28: error: invalid suffix "x" on integer constant bcm2835.c:1208:28: error: invalid suffix "x" on integer constant bcm2835.c:1209:28: error: invalid suffix "x" on integer constant bcm2835.c:1210:28: error: invalid suffix "x" on integer constant bcm2835.c:1211:28: error: invalid suffix "x" on integer constant bcm2835.c:1212:28: error: invalid suffix "x" on integer constant bcm2835.c:1213:28: error: invalid suffix "x" on integer constant bcm2835.c:1214:28: error: invalid suffix "x" on integer constant bcm2835.c:1228:83: error: invalid suffix "x" on integer constant bcm2835.c:1232:81: error: invalid suffix "x" on integer constant bcm2835.c:1236:81: error: invalid suffix "x" on integer constant bcm2835.c:1239:83: error: invalid suffix "x" on integer constant bcm2835.c:1242:83: error: invalid suffix "x" on integer constant bcm2835.c:1246:83: error: invalid suffix "x" on integer constant bcm2835.c:1249:83: error: invalid suffix "x" on integer constant bcm2835.c:1253:79: error: invalid suffix "x" on integer constant Makefile:52: recipe for target 'bcm2835.o' failed make: *** [bcm2835.o] Error 1When I run PiGatewaySerial, I see the following:
pi@raspberrypi2 ~/Raspberry $ sudo ./PiGatewaySerial Starting PiGatewaySerial... Protocol version - 1.4 Created PTY '/dev/pts/1' Gateway tty: /dev/ttyMySensorsGateway ================ SPI Configuration ================ CSN Pin = CE0 (PI Hardware Driven) CE Pin = Custom GPIO22 Clock Speed = 8 Mhz ================ NRF Configuration ================ STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0 RX_ADDR_P0-1 = 0xa8a8e1fc00 0xa8a8e1fc00 RX_ADDR_P2-5 = 0xff 0xc4 0xc5 0xc6 TX_ADDR = 0xa8a8e1fc01 RX_PW_P0-6 = 0x20 0x20 0x20 0x00 0x00 0x00 EN_AA = 0x3b EN_RXADDR = 0x06 RF_CH = 0x4c RF_SETUP = 0x23 CONFIG = 0x0e DYNPD/FEATURE = 0x3f 0x06 Data Rate = 250KBPS Model = nRF24L01+ CRC Length = 16 bits PA Power = PA_LOW read: 1-1-0 s=255,c=0,t=17,pt=0,l=3:1.5 send: 1-194-1-0 s=255,c=0,t=17,pt=0,l=3,st=ok:1.5 read: 1-1-0 s=255,c=3,t=6,pt=1,l=1:0 send: 1-194-1-0 s=255,c=3,t=6,pt=1,l=1,st=ok:0 read: 1-1-0 s=255,c=3,t=11,pt=0,l=17:Sensebender Micro send: 1-194-1-0 s=255,c=3,t=11,pt=0,l=17,st=ok:Sensebender Micro read: 1-1-0 s=255,c=3,t=12,pt=0,l=3:1.2 send: 1-194-1-0 s=255,c=3,t=12,pt=0,l=3,st=ok:1.2 read: 1-1-0 s=1,c=0,t=6,pt=0,l=0: send: 1-194-1-0 s=1,c=0,t=6,pt=0,l=0,st=ok: read: 1-1-0 s=2,c=0,t=7,pt=0,l=0: send: 1-194-1-0 s=2,c=0,t=7,pt=0,l=0,st=fail: read: 1-1-0 s=199,c=0,t=13,pt=0,l=0: send: 1-194-1-0 s=199,c=0,t=13,pt=0,l=0,st=fail: read: 1-1-0 s=1,c=1,t=0,pt=7,l=5:23.2 send: 1-194-1-0 s=1,c=1,t=0,pt=7,l=5,st=fail:23.2 read: 1-1-0 s=2,c=1,t=1,pt=2,l=2:57 send: 1-194-1-0 s=2,c=1,t=1,pt=2,l=2,st=fail:57 read: 1-1-0 s=199,c=1,t=38,pt=4,l=4:3143 send: 1-194-1-0 s=199,c=1,t=38,pt=4,l=4,st=fail:3143 read: 1-1-0 s=255,c=3,t=0,pt=1,l=1:88 send: 1-194-1-0 s=255,c=3,t=0,pt=1,l=1,st=fail:88 read: 1-1-255 s=255,c=3,t=7,pt=0,l=0:Nothing can be seen in Domoticz.
Unfortunately, I cannot reinstall my RPi to re-compile librf24-bcm.so.1.0 as it is production system.Any ideas please?
-
Hello.
I think that the problem related to the messsage:
error: invalid suffix "x" on integer constant
come from a problem in the Makefile of the librf24-bcm.
There you can find the following line:IOBASE := $(shell cat /proc/iomem | grep bcm2708_vcio | cut -f 1 -d "-")
This try to find the memory base address of the peripherals in the Raspberry that is variable between the different models.
In my Raspberry the /proc/iomem file does not contain any information about bcm2708_vcio and the string returned is empty (in my case should be 0x20000000)
You could try to hard code the correct value in the Makefile.
Hope this help
-
@salvato Thanks very much!
The makefile has to be changed toThis is for the standard PI
amend the following:
#define BCM2835_PERI_BASE 0x3F000000I can confirm - now it works and everything compiles fine!
-
Hi guys, i have the same problem with compiling librf24-bcm library on RPI2. I have changed line "#define BCM2835_PERI_BASE 0x20000000" to "#define BCM2835_PERI_BASE 0x3F000000" in bcm2835.h file but it didnt help. I still get compiling error "bcm2835.c:1253:79: error: invalid suffix "x" on integer constant
Makefile:52: recipe for target 'bcm2835.o' failed". What else need to be changed ? thanks -
Hi guys, i have the same problem with compiling librf24-bcm library on RPI2. I have changed line "#define BCM2835_PERI_BASE 0x20000000" to "#define BCM2835_PERI_BASE 0x3F000000" in bcm2835.h file but it didnt help. I still get compiling error "bcm2835.c:1253:79: error: invalid suffix "x" on integer constant
Makefile:52: recipe for target 'bcm2835.o' failed". What else need to be changed ? thanks -
Wow nice and easy to follow. I had the error but the error thread helped me.
Just wondering why does it say its running "MySensors Gateway USB
Version: 1.4"
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login