Commit ee7f6035 authored by TMRh20's avatar TMRh20

Merge pull request #2 from cornet/fix-rpi-build-scripts

Makefile fixes
parents e682b7dd c004c554
......@@ -21,13 +21,15 @@ LIB=librf24-bcm
# shared library name
LIBNAME=$(LIB).so.1.0
# Where to put the header files
HEADER_DIR=${PREFIX}/include/RF24
# The recommended compiler flags for the Raspberry Pi
CCFLAGS=-Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s
# make all
# reinstall the library after each recompilation
all: librf24-bcm install
all: librf24-bcm
# Make the library
librf24-bcm: RF24.o bcm2835.o
......@@ -44,12 +46,18 @@ bcm2835.o: bcm2835.c
clean:
rm -rf *.o ${LIB}.*
install: all install-libs install-headers
# Install the library to LIBPATH
install:
@echo "[Install]"
install-libs:
@echo "[Installing Libs]"
@if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
#@install -m 0755 ${LIB}.a ${LIBDIR}
@install -m 0755 ${LIBNAME} ${LIBDIR}
@ln -sf ${LIBDIR}/${LIBNAME} ${LIBDIR}/${LIB}.so.1
@ln -sf ${LIBDIR}/${LIBNAME} ${LIBDIR}/${LIB}.so
@ldconfig
install-headers:
@echo "[Installing Headers]"
@if ( test ! -d ${HEADER_DIR} ) ; then mkdir -p ${HEADER_DIR} ; fi
@install -m 0644 *.h ${HEADER_DIR}
# Optimized Raspberry Pi RF24 and RF24 Network Libraries
Optimized Raspberry Pi RF24 and RF24 Network Libraries
=============================================
General Documentation: http://tmrh20.github.io
Library functions are mostly the same.
See the included examples for RPi specific usage
##Raspberry Pi - PreConfig
## Raspberry Pi - PreConfig
### Possible pre-configuration:
If SPI is not already enabled, load it on boot:
####Possible pre-configuration:
If SPI is not already enabled, load it on boot:
```
sudo raspi-config
```
A. Update the tool via the menu as required
B. Select Advanced and enable the SPI kernel module
C. Update other software and libraries:
```
sudo apt-get update
sudo apt-get upgrade
```
RPi - RF24 Quick-Start
======================
# RPi - RF24 Quick-Start
A. Make a directory to contain the RF24 and possibly RF24Network lib and enter it:
```
mkdir ~/rf24libs
cd ~/rf24libs
```
B. Clone the RF24 Repo
```
git clone https://github.com/tmrh20/RF24.git rtemp
```
C. Copy the RPi library folder to the current directory, and delete the rest
```
mv rtemp/RPi/RF24 ./
rm -r rtemp
cd RF24
```
D. Build the library, and run an example file:
```
sudo make
sudo make install
cd examples
sudo make
make
sudo ./gettingstarted
```
RPi - RF24Network Quick-Start
=============================
# RPi - RF24Network Quick-Start
A. Enter the same directory that contains the RF24 library folder
```
cd ~/rf24libs
```
B. Clone the RF24Network Repo
```
git clone https://github.com/tmrh20/RF24Network.git ntemp
```
C. Copy the RF24Network folder to the current directory, and delete the rest
```
mv ntemp/RPi/RF24Network ./
rm -r ntemp
cd RF24Network
```
D. Build the library
```
sudo make
cd examples
sudo make
sudo ./helloworld_rx OR sudo ./helloworld_tx
```
Connection Info
===============
# Connection Info
Using pin 15/GPIO 22 for CE, pin 24/GPIO8 (CE0) for CSN
......@@ -79,23 +77,22 @@ Can use either RPi CE0 or CE1 pins for radio CSN.
Choose any RPi output pin for radio CE pin.
**Constructor:**
```
RF24 radio(RPI_V2_GPIO_P1_15,BCM2835_SPI_CS0, BCM2835_SPI_SPEED_8MHZ);
or
RF24 radio(RPI_V2_GPIO_P1_15,BCM2835_SPI_CS1, BCM2835_SPI_SPEED_8MHZ);
```
RF24 radio(RPI_V2_GPIO_P1_15,BCM2835_SPI_CS0, BCM2835_SPI_SPEED_8MHZ);
or
RF24 radio(RPI_V2_GPIO_P1_15,BCM2835_SPI_CS1, BCM2835_SPI_SPEED_8MHZ);
**Pins:**
|NRF24L01 | RPI | P1 Connector |
|-----|-----------|-------------|
| VCC | rpi-3v3 | (17) |
| GND | rpi-gnd | (25) |
| CE | rpi-gpio22 | (15) |
| CSN | rpi-gpio8 | (24) |
| SCK | rpi-sckl | (23) |
| MOSI | rpi-mosi | (19) |
| MISO | rpi-miso | (21) |
| NRF24L01 | RPI | P1 Connector |
|----------|------------|--------------|
| VCC | rpi-3v3 | (17) |
| GND | rpi-gnd | (25) |
| CE | rpi-gpio22 | (15) |
| CSN | rpi-gpio8 | (24) |
| SCK | rpi-sckl | (23) |
| MOSI | rpi-mosi | (19) |
| MISO | rpi-miso | (21) |
See http://www.airspayce.com/mikem/bcm2835/index.html for BCM2835 class documentation.
......@@ -104,7 +101,6 @@ in use for SPI, and to include a millis() function.
****************
Based on the arduino lib from J. Coliz <maniacbug@ymail.com>.
the library was berryfied by Purinda Gunasekara <purinda@gmail.com>.
then forked from github stanleyseow/RF24 to https://github.com/jscrane/RF24-rpi
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment