/* RadioLib Non-Arduino Raspberry Pi Example This example shows how to use RadioLib without Arduino. In this case, a Raspberry Pi with WaveShare SX1302 LoRaWAN Hat using the pigpio library. Can be used as a starting point to port RadioLib to any platform! See this API reference page for details on the RadioLib hardware abstraction https://jgromes.github.io/RadioLib/class_hal.html For full API reference, see the GitHub Pages https://jgromes.github.io/RadioLib/ */ // include the library #include // include the hardware abstraction layer #include "PiHal.h" // create a new instance of the HAL class // use SPI channel 1, because on Waveshare LoRaWAN Hat, // the SX1261 CS is connected to CE1 PiHal* hal = new PiHal(1); // now we can create the radio module // pinout corresponds to the Waveshare LoRaWAN Hat // NSS pin: 7 // DIO1 pin: 17 // NRST pin: 22 // BUSY pin: 4 SX1261 radio = new Module(hal, 7, 17, 22, 4); // the entry point for the program int main(int argc, char** argv) { // initialize just like with Arduino printf("[SX1261] Initializing ... "); int state = radio.begin(); if (state != RADIOLIB_ERR_NONE) { printf("failed, code %d\n", state); return(1); } printf("success!\n"); // loop forever for(;;) { // send a packet printf("[SX1261] Transmitting packet ... "); state = radio.transmit("Hello World!"); if(state == RADIOLIB_ERR_NONE) { // the packet was successfully transmitted printf("success!"); // wait for a second before transmitting again hal->delay(1000); } else { printf("failed, code %d\n", state); } } return(0); }