Skip to content
RadioHead Packet Radio library for 433MHz/868MHz Pi-Gate® board
C++ C Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
RHutil
STM32ArduinoCompat
examples
tools
LICENSE
MANIFEST
README.md
RHCRC.cpp
RHCRC.h
RHDatagram.cpp
RHDatagram.h
RHGenericDriver.cpp
RHGenericDriver.h
RHGenericSPI.cpp
RHGenericSPI.h
RHHardwareSPI.cpp
RHHardwareSPI.h
RHMesh.cpp
RHMesh.h
RHNRFSPIDriver.cpp
RHNRFSPIDriver.h
RHReliableDatagram.cpp
RHReliableDatagram.h
RHRouter.cpp
RHRouter.h
RHSPIDriver.cpp
RHSPIDriver.h
RHSoftwareSPI.cpp
RHSoftwareSPI.h
RHTcpProtocol.h
RH_ASK.cpp
RH_ASK.h
RH_CC110.cpp
RH_CC110.h
RH_MRF89.cpp
RH_MRF89.h
RH_NRF24.cpp
RH_NRF24.h
RH_NRF51.cpp
RH_NRF51.h
RH_NRF905.cpp
RH_NRF905.h
RH_PI-GATE.cpp
RH_PI-GATE.h
RH_RF22.cpp
RH_RF22.h
RH_RF24.cpp
RH_RF24.h
RH_RF69.cpp
RH_RF69.h
RH_RF95.cpp
RH_RF95.h
RH_Serial.cpp
RH_Serial.h
RH_TCP.cpp
RH_TCP.h
RadioHead.h
bcm2835.h
project.cfg
radio_config_Si4460.h

README.md

pi-gate ®
RadioHead Packet Radio library for 433MHz/868MHz
pi-gate® board

pi-gate ®

Version 1.67

This is a fork of the original RadioHead Packet Radio library for embedded microprocessors. It provides a complete object-oriented library for sending and receiving packetized messages via Semtech SX1276 chip on a range of embedded microprocessors.

Please read the full documentation and licensing from the original author site

features added with this fork

=================================

  • Added driver for pi-gate® board
  • Added samples for pi-gate® board

Driver code is located under /RH_PI-GATE.cpp and /RH_PI-GATE.h.
Sample code for Raspberry PI is located under /examples/raspi/pi-gate folder.

Installation on Raspberry PI

================================

You need install bcm2835 library

This library consists of a single non-shared library and header file, which will be installed in the usual places by make install

For Raspberry 2 - 3 change the line
#define BCM2835_PERI_BASE               0x20000000
to
//#define BCM2835_PERI_BASE               0x20000000
#define BCM2835_PERI_BASE               0x3F00000000
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.55.tar.gz
tar zxvf bcm2835-1.55.tar.gz
cd bcm2835-1.xx
./configure
make
sudo make check
sudo make install

Clone repository

cd
sudo apt update
sudo apt install git
git clone https://github.com/gerrylenz/pi-gate

Problems

The bcm2835 library hang/crash with kernel 4.14.xx - 4.14.54
Latest stable firmware with kernel 4.9.80 is raspbian-2018-03-14 download

Solved

Add "dtoverlay=gpio-no-irq" in /boot/config.txt

Coding

================================

Connection and pins definition

Boards pins (Chip Select, IRQ line, Reset and TXE) definition are set in the /examples/raspi/pi-gate/GateDefinitions.h file. In your code, you need to include the file definition like this

#include "GateDefinitions.h"

Create an instance of a driver for 2 modules

//for 433Mhz Gate
RH_SX1276 rf433(RF433_CS_PIN, RF433_IRQ_PIN, RF433_RST_PIN);
//for 868Mhz Gate
RH_SX1276 rf868(RF868_CS_PIN, RF868_IRQ_PIN, RF868_RST_PIN, RF868_TXE_PIN);

Create samples

cd pi-gate/examples/raspi/pi-gate/
make
sudo ./multiserver
You can’t perform that action at this time.