adafruit / RadioHead

A github'ified version of http://www.airspayce.com/mikem/arduino/RadioHead/
Other
187 stars 117 forks source link

Feather Huzzah SPI Error #13

Closed ghost closed 6 years ago

ghost commented 6 years ago

Hi, I got the following error in arduino 1.8.5 on Arch Linux using the Feather Huzzah and RadioHead 1.62, Given this code is from this repos examples folder, and contains an if block specifically for the ESP8266, I would assume this library should be compatible. Additionally there are wiring tutorials specifically for the ESP8266 Huzzah FeatherWing on Adafruit.com, So I'm a bit confused why this isn't compiling.

/root/Arduino/libraries/RadioHead/RHHardwareSPI.cpp:283:2: error: invalid preprocessing directive #warn
 #warn "ESP8266 SPI support not yet available. Please feel free to submit a patch"
  ^
exit status 1
Error compiling for board Adafruit Feather HUZZAH ESP8266.
// Feather9x_RX
// -*- mode: C++ -*-
// Example sketch showing how to create a simple messaging client (receiver)
// with the RH_RF95 class. RH_RF95 class does not provide for addressing or
// reliability, so you should only use RH_RF95 if you do not need the higher
// level messaging abilities.
// It is designed to work with the other example Feather9x_TX

#include <SPI.h>
#include <RH_RF95.h>

/* for Feather32u4 RFM9x
#define RFM95_CS 8
#define RFM95_RST 4
#define RFM95_INT 7
*/

/* for feather m0 RFM9x
#define RFM95_CS 8
#define RFM95_RST 4
#define RFM95_INT 3
*/

/* for shield 
#define RFM95_CS 10
#define RFM95_RST 9
#define RFM95_INT 7
*/

/* Feather 32u4 w/wing
#define RFM95_RST     11   // "A"
#define RFM95_CS      10   // "B"
#define RFM95_INT     2    // "SDA" (only SDA/SCL/RX/TX have IRQ!)
*/

/* Feather m0 w/wing 
#define RFM95_RST     11   // "A"
#define RFM95_CS      10   // "B"
#define RFM95_INT     6    // "D"
*/

#if defined(ESP8266)
  /* for ESP w/featherwing */ 
  #define RFM95_CS  2    // "E"
  #define RFM95_RST 16   // "D"
  #define RFM95_INT 15   // "B"

#elif defined(ESP32)  
  /* ESP32 feather w/wing */
  #define RFM95_RST     27   // "A"
  #define RFM95_CS      33   // "B"
  #define RFM95_INT     12   //  next to A

#elif defined(NRF52)  
  /* nRF52832 feather w/wing */
  #define RFM95_RST     7   // "A"
  #define RFM95_CS      11   // "B"
  #define RFM95_INT     31   // "C"

#elif defined(TEENSYDUINO)
  /* Teensy 3.x w/wing */
  #define RFM95_RST     9   // "A"
  #define RFM95_CS      10   // "B"
  #define RFM95_INT     4    // "C"
#endif

// Change to 434.0 or other frequency, must match RX's freq!
#define RF95_FREQ 915.0

// Singleton instance of the radio driver
RH_RF95 rf95(RFM95_CS, RFM95_INT);

// Blinky on receipt
#define LED 13

void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(RFM95_RST, OUTPUT);
  digitalWrite(RFM95_RST, HIGH);

  Serial.begin(115200);
  while (!Serial) {
    delay(1);
  }
  delay(100);

  Serial.println("Feather LoRa RX Test!");

  // manual reset
  digitalWrite(RFM95_RST, LOW);
  delay(10);
  digitalWrite(RFM95_RST, HIGH);
  delay(10);

  while (!rf95.init()) {
    Serial.println("LoRa radio init failed");
    while (1);
  }
  Serial.println("LoRa radio init OK!");

  // Defaults after init are 434.0MHz, modulation GFSK_Rb250Fd250, +13dbM
  if (!rf95.setFrequency(RF95_FREQ)) {
    Serial.println("setFrequency failed");
    while (1);
  }
  Serial.print("Set Freq to: "); Serial.println(RF95_FREQ);

  // Defaults after init are 434.0MHz, 13dBm, Bw = 125 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on

  // The default transmitter power is 13dBm, using PA_BOOST.
  // If you are using RFM95/96/97/98 modules which uses the PA_BOOST transmitter pin, then
  // you can set transmitter powers from 5 to 23 dBm:
  rf95.setTxPower(23, false);
}

void loop()
{
  if (rf95.available())
  {
    // Should be a message for us now
    uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
    uint8_t len = sizeof(buf);

    if (rf95.recv(buf, &len))
    {
      digitalWrite(LED, HIGH);
      RH_RF95::printBuffer("Received: ", buf, len);
      Serial.print("Got: ");
      Serial.println((char*)buf);
       Serial.print("RSSI: ");
      Serial.println(rf95.lastRssi(), DEC);

      // Send a reply
      uint8_t data[] = "And hello back to you";
      rf95.send(data, sizeof(data));
      rf95.waitPacketSent();
      Serial.println("Sent a reply");
      digitalWrite(LED, LOW);
    }
    else
    {
      Serial.println("Receive failed");
    }
  }
}
ladyada commented 6 years ago

!? are you running the right version of the library cause that line is commented out https://github.com/adafruit/RadioHead/blob/master/RHHardwareSPI.cpp#L112

ghost commented 6 years ago

Version 1.62 as downloaded from adafruit.com. The Radiohead website is pretty hard to navigate so I couldn't find any other downloads. Maybe I missed something...

-sent from my OnePlus X

On Sun, Jul 29, 2018, 1:48 PM ladyada notifications@github.com wrote:

!? are you running the right version of the library cause that line is commented out https://github.com/adafruit/RadioHead/blob/master/RHHardwareSPI.cpp#L112

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/adafruit/RadioHead/issues/13#issuecomment-408693883, or mute the thread https://github.com/notifications/unsubscribe-auth/AIIciOpimH4f4MRVwIuVaidhLx_cmRv2ks5uLfVqgaJpZM4VlHVz .

ladyada commented 6 years ago

you should be using this repo, the one here :)

ghost commented 6 years ago

My bad. Didn't connect the dots that I could just clone this repo... Sorry about that, just not in my usual software developer mindset with Arduino projects yet I guess. Thanks for the help 😊

-sent from my OnePlus X

On Sun, Jul 29, 2018, 1:50 PM ladyada notifications@github.com wrote:

you should be using this repo, the one here :)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/adafruit/RadioHead/issues/13#issuecomment-408694026, or mute the thread https://github.com/notifications/unsubscribe-auth/AIIciHlFB7Qda2DsPeij0fhX7fkxVF8Dks5uLfX3gaJpZM4VlHVz .

ladyada commented 6 years ago

easy fix! :D