Compile error with relay example



  • I'm writing a sketch with the 1.5 version of MySensors and based on the relay example that's on this site. When I compile I get a lot of errors about stuff not being declared. I'm assuming that the example on the site is correct. What am I missing here?

    The compile errors:

    Arduino: 1.6.4 (Windows 8.1), Board: "LilyPad Arduino, ATmega328"
    
    In file included from C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp:12:0:
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.h:39:28: error: 'DEFAULT_CE_PIN' was not declared in this scope
       MyGateway(uint8_t _cepin=DEFAULT_CE_PIN, uint8_t _cspin=DEFAULT_CS_PIN, uint8_t _inclusion_time = 1, uint8_t _inclusion_pin = 3, uint8_t _rx=6, uint8_t _tx=5, uint8_t _er=4);
                                ^
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.h:39:59: error: 'DEFAULT_CS_PIN' was not declared in this scope
       MyGateway(uint8_t _cepin=DEFAULT_CE_PIN, uint8_t _cspin=DEFAULT_CS_PIN, uint8_t _inclusion_time = 1, uint8_t _inclusion_pin = 3, uint8_t _rx=6, uint8_t _tx=5, uint8_t _er=4);
                                                               ^
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp: In constructor 'MyGateway::MyGateway(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)':
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp:27:167: error: no matching function for call to 'MySensor::MySensor(uint8_t&, uint8_t&)'
     MyGateway::MyGateway(uint8_t _cepin, uint8_t _cspin, uint8_t _inclusion_time, uint8_t _inclusion_pin, uint8_t _rx, uint8_t _tx, uint8_t _er) : MySensor(_cepin, _cspin) {
                                                                                                                                                                           ^
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp:27:167: note: candidates are:
    In file included from C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.h:15:0,
                     from C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp:12:
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MySensor.h:145:2: note: MySensor::MySensor(MyTransport&, MyHw&)
      MySensor(MyTransport &radio =*new MyTransportNRF24(), MyHw &hw=*new MyHwDriver()
      ^
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MySensor.h:145:2: note:   no known conversion for argument 1 from 'uint8_t {aka unsigned char}' to 'MyTransport&'
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MySensor.h:136:7: note: MySensor::MySensor(const MySensor&)
     class MySensor
           ^
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MySensor.h:136:7: note:   candidate expects 1 argument, 2 provided
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp: In member function 'void MyGateway::begin(rf24_pa_dbm_e, uint8_t, rf24_datarate_e, void (*)(char*))':
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp:41:20: error: 'setupRepeaterMode' was not declared in this scope
      setupRepeaterMode();
                        ^
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp:78:39: error: 'setupRadio' was not declared in this scope
      setupRadio(paLevel, channel, dataRate);
                                           ^
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp:79:36: error: 'BASE_RADIO_ID' was not declared in this scope
      RF24::openReadingPipe(WRITE_PIPE, BASE_RADIO_ID);
                                        ^
    C:\Users\Sebastiaan\Documents\Arduino\libraries\MySensors\MyGateway.cpp:81:23: error: cannot call member function 'void RF24::startListening()' without object
      RF24::startListening();
                           ^
    Error compiling.
    
      This report would have more information with
      "Show verbose output during compilation"
      enabled in File > Preferences.
    

    And the sketch

    #include <Adafruit_NeoPixel.h>
    #ifdef __AVR__
      #include <avr/power.h>
    #endif
    
    // MySensors
    #include <MySigningNone.h>
    #include <MyTransportNRF24.h>
    #include <MyHwATMega328.h>
    #include <MySensor.h>
    #include <SPI.h>
    
    MyTransportNRF24 radio(RF24_CE_PIN, RF24_CS_PIN, RF24_PA_LEVEL_GW);
    MyHwATMega328 hw;
    MySensor gw(radio, hw);
    
    // Initialize leds
    #define ledPin 8
    #define numPixels 24
    
    Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, ledPin, NEO_GRB + NEO_KHZ400);
    
    int pinOff = 3;
    int pinWhite = 4;
    int pinRed = 5;
    int pinGreen = 6;
    int pinBlue = 7;
    int power = 0;
    
    void setup()
    {
      Serial.begin(9600);
      pinMode(pinOff, INPUT);
      pinMode(pinWhite, INPUT);
      pinMode(pinRed, INPUT);
      pinMode(pinGreen, INPUT);  
      pinMode(pinBlue, INPUT);
      strip.begin();
      
      // Turn light off
      strip.show();
      Serial.println("Led light ready");
      Serial.print("Power is: ");
      Serial.println(power);
    }
    
    void loop() {
      int off = digitalRead(pinOff);
      int white = digitalRead(pinWhite);
      int red = digitalRead(pinRed);
      int green = digitalRead(pinGreen);
      int blue = digitalRead(pinBlue);
      
      if(off == 0) {
        //Off button pushed
        Serial.println("Off button pushed");
        turnOff();
        delay(2000);
      }
      
      if(white == 0) {
        Serial.println("White button pushed");
        turnWhite();
        delay(2000);
      }
      
      if(red == 0) {
        Serial.println("Red button pushed");
        turnRed();
        delay(2000);
      }
      
      if(green == 0) {
        Serial.println("Green button pushed");
        turnGreen();
        delay(2000);
      }
      
      if(blue == 0) {
        Serial.println("Blue button pushed");
        turnBlue();
        delay(2000);
      }
    }
    
    void turnOff() {
      Serial.println("Turning lights of");
      strip.setBrightness(0);
      strip.show();
    }
    
    void turnWhite() {
      Serial.println("Setting light to white");
      for(int i=0;i<numPixels;i++) {
        strip.setPixelColor(i, 255, 255, 255);
      }
      strip.setBrightness(255);
      strip.show();
    }
    
    void turnRed() {
      Serial.println("Setting light to red");
      for(int i=0;i<numPixels;i++) {
        strip.setPixelColor(i, 255, 0, 0);
      }
      strip.setBrightness(255);
      strip.show();
    }
    
    void turnGreen() {
      Serial.println("Setting light to green");
      for(int i=0;i<numPixels;i++) {
        strip.setPixelColor(i, 0, 255, 0);
      }
      strip.setBrightness(255);
      strip.show();
    }
    
    void turnBlue() {
      Serial.println("Setting light to blue");
      for(int i=0;i<numPixels;i++) {
        strip.setPixelColor(i, 0, 0, 255);
      }
      strip.setBrightness(255);
      strip.show();
    }
    
    

  • Admin

    Remove the old library files before copying in the new...



  • Thank you! That worked.
    Should have tried that...


Log in to reply
 

Suggested Topics

0
Online

11.2k
Users

11.1k
Topics

112.5k
Posts