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