Skip to content
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. Porting Radiohead RFM95/96/98W library to MySensors
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

Porting Radiohead RFM95/96/98W library to MySensors

Scheduled Pinned Locked Moved Development
lorarfm95w
6 Posts 2 Posters 4.0k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • alexsh1A Offline
    alexsh1A Offline
    alexsh1
    wrote on last edited by
    #1

    Hello all,

    I know that there were a few old threads about people are trying to port Radiohead library to MySesnors.
    https://forum.mysensors.org/topic/285/porting-mysensors-to-work-with-the-radiohead-library/252
    https://forum.mysensors.org/topic/3826/radiohead/5
    https://forum.mysensors.org/topic/3692/my-simple-sniffer-dongle/4

    I am currently looking at RFM95W transceiver. This is a long range transceiver from HopeRF and it is not compatible with RFM69.

    These files were copied into /drivers/RFM95
    0_1467460398339_RadioHead.zip

    I have created MyTransportRFM95.cpp under /core/

    MyTransportRFM95.cpp (I commented the lines I am working on now):

    /**
     * The MySensors Arduino library handles the wireless radio link and protocol
     * between your home built sensors/actuators and HA controller of choice.
     * The sensors forms a self healing radio network with optional repeaters. Each
     * repeater and gateway builds a routing tables in EEPROM which keeps track of the
     * network topology allowing messages to be routed to nodes.
     *
     * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
     * Copyright (C) 2013-2015 Sensnology AB
     * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
     *
     * Documentation: http://www.mysensors.org
     * Support Forum: http://forum.mysensors.org
     *
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License
     * version 2 as published by the Free Software Foundation.
     */
    
    #include "MyConfig.h"
    #include "MyTransport.h"
    #include <stdint.h>
    #include "drivers/RFM95/RH_RF95.h"
    
    RH_RF95 rf95(MY_RFM95_SPI_CS, RFM95_INT_PIN);
    uint8_t _address;
    
    bool transportInit() {
    	// Start up the radio library (_address will be set later by the MySensors library)
    	if (_rf95.init()) {
    
    rf95.setFrequency(MY_RFM95_FREQUENCY);
    rf95.setTxPower(MY_RFM_POWER, false); 
    
    
    //		#ifdef MY_RFM95_ENABLE_ENCRYPTION
    //			uint8_t _psk[16];
    //			hwReadConfigBlock((void*)_psk, //(void*)//EEPROM_RF_ENCRYPTION_AES_KEY_ADDRESS, 16);
    //			_rf95.encrypt((const char*)_psk);
    //			memset(_psk, 0, 16); // Make sure it is purged //from memory when set
    //		#endif
    //		return true;
    //	}
    //	return false;
    }
    
    //void transportSetAddress(uint8_t address) {
    //	_address = address;
    //	_rf95.setAddress(address);
    //}
    
    //uint8_t transportGetAddress() {
    //	return _address;
    //}
    
    bool transportSend(const uint8_t* data, uint8_t len) {
    	return _rf95.send(data,len);
    }
    
    bool transportAvailable() {
        uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
        uint8_t len = sizeof(buf);
        _rf95.available();
    }
    
    boot transportReceive(unint8_t* buf, unit8_t* len) {
    	  _rf95.waitPacketSent();	
    return _rf95.recv(buf, len);	
    // TO BE IMPLEMENTED - CHECK IF ACK WORKS
    }	
    
    void transportPowerDown() {
    	_rf95.sleep();
    }
    
    

    I had to add the following to MyConfig.h:

    /**********************************
    *  RFM95 Driver Defaults
    ***********************************/
    
    /**
     * @def MY_RFM95_FREQUENCY
     * @brief RFM69 frequency to use (434.0 for 433MHz, 868.0 for 868MHz or 915.0 for 915MHz).
     *
     * This must match the hardware version of the RFM95 radio.
     */
    #ifndef MY_RFM95_FREQUENCY
    #define MY_RFM95_FREQUENCY   433.0
    #endif
    /**
     * @def MY_RFM95_POWER
     * @brief RFM95 Power. 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:
     */
    #ifndef MY_RFM95_POWER
    #define MY_RFM95_POWER     23
    #endif
    
    /**
     * @def MY_RFM95_NETWORKID
     * @brief RFM95 Network ID. Use the same for all nodes that will talk to each other.
     */
    #ifndef MY_RFM95_NETWORKID
    #define MY_RFM95_NETWORKID     100
    #endif
    
    /**
     * @def MY_RF95_INT_PIN
     * @brief RF95 INT pin.
     */
    #ifndef MY_RF95_INT_PIN
    #define MY_RF95_INT_PIN RF95_INT_PIN
    #endif
    
    /**
     * @def MY_RF95_SPI_CS
     * @brief RF95 SPI chip select pin.
     */
    #ifndef MY_RF95_SPI_CS
    #define MY_RF95_SPI_CS RF95_SPI_CS
    #endif
    
    /**
     * @def MY_RF95_RST
     * @brief RF95 IRQ pin number.
     */
    #ifndef MY_RF95_RST
    #define MY_RF95_RST MY_RF95_RST
    #endif
    
    // Enables RFM95 encryption (all nodes and gateway must have this enabled, and all must be personalized with the same AES key)
    //#define MY_RFM95_ENABLE_ENCRYPTION
    
    
    

    I currently cannot understand how to address it to a particular node and was not able to find examples. Any ideas please?

    @scalz May be you can share what you have please?

    1 Reply Last reply
    0
    • scalzS Offline
      scalzS Offline
      scalz
      Hardware Contributor
      wrote on last edited by
      #2

      @alexsh1
      does it compile like this? because you can't use the radiohead lib as is..unfortunately! it needs some refactoring..
      As sharing poc means support..I'm sorry, i have not so much time for helping for the moment, so I prefer to stay local for the moment. i would like to take a bit of time to finish multiple cool thing i am working on, then i will share ;)
      could be soon, i prefer not saying..

      alexsh1A 1 Reply Last reply
      0
      • scalzS scalz

        @alexsh1
        does it compile like this? because you can't use the radiohead lib as is..unfortunately! it needs some refactoring..
        As sharing poc means support..I'm sorry, i have not so much time for helping for the moment, so I prefer to stay local for the moment. i would like to take a bit of time to finish multiple cool thing i am working on, then i will share ;)
        could be soon, i prefer not saying..

        alexsh1A Offline
        alexsh1A Offline
        alexsh1
        wrote on last edited by
        #3

        @scalz I understand - it does take a lot of time to complete a project. You are effectively re-writing a library. I would probably have to leave it as well as I have 4-5 project to be completed.

        I have not tried compiling yet and there is no point in trying - I'm stuck on setAddress and getAddress. This means that the GW will be screaming to all nodes rather than to a specific one.

        If the library requires refactoring then this is beyond my abilities I'm afraid.

        1 Reply Last reply
        0
        • alexsh1A Offline
          alexsh1A Offline
          alexsh1
          wrote on last edited by
          #4

          For now as I expected, I have got a lot of compiling errors:

          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::maxMessageLength()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/RFM95/RH_RF95.cpp:273: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::sleep()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::RH_RF95(unsigned char, unsigned char, RHGenericSPI&)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::RH_RF95(unsigned char, unsigned char, RHGenericSPI&)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::validateRxBuf()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::clearRxBuf()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::recv(unsigned char*, unsigned char*)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::printRegisters()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::setFrequency(float)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::setModeIdle()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::handleInterrupt()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::isr0()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::_deviceForInterrupt'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::isr1()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::isr2()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::setModeRx()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::available()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::setModeTx()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::send(unsigned char const*, unsigned char)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::setTxPower(signed char, bool)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::setModemRegisters(RH_RF95::ModemConfig const*)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::setModemConfig(RH_RF95::ModemConfigChoice)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::setPreambleLength(unsigned int)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::init()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\libraries\RadioHead\RH_RF95.cpp.o: In function `RH_RF95::maxMessageLength()':
          
          C:\Users\Alex\Documents\Arduino\libraries\RadioHead/RH_RF95.cpp:273: multiple definition of `RH_RF95::_interruptCount'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o:C:\Users\Alex\Documents\Arduino\libraries\MySensors/core/MyHwATMega328.cpp:28: first defined here
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o: In function `transportInit()':
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:65: undefined reference to `RFM69::initialize(unsigned char, unsigned char, unsigned char)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o: In function `transportSetAddress(unsigned char)':
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:74: undefined reference to `RFM69::setAddress(unsigned char)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o: In function `transportSend(unsigned char, void const*, unsigned char)':
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:74: undefined reference to `RFM69::sendWithRetry(unsigned char, void const*, unsigned char, unsigned char, unsigned char)'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o: In function `transportAvailable(unsigned char*)':
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:74: undefined reference to `RFM69::TARGETID'
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:74: undefined reference to `RFM69::receiveDone()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o: In function `transportReceive(void*)':
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:74: undefined reference to `RFM69::DATALEN'
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:74: undefined reference to `RFM69::DATA'
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:74: undefined reference to `RFM69::DATA'
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:74: undefined reference to `RFM69::TARGETID'
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:74: undefined reference to `RFM69::ACKRequested()'
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:76: undefined reference to `RFM69::sendACK(void const*, unsigned char)'
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:76: undefined reference to `RFM69::DATALEN'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o: In function `transportPowerDown()':
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/ATSHA204/sha256.cpp:76: undefined reference to `RFM69::sleep()'
          
          C:\Users\Alex\AppData\Local\Temp\builda48d38f42caede56591e0131dd831bf8.tmp\sketch\LightLuxSensor.ino.cpp.o: In function `RFM69':
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/RFM69/RFM69.h:94: undefined reference to `vtable for RFM69'
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/RFM69/RFM69.h:94: undefined reference to `vtable for RFM69'
          
          C:\Users\Alex\Documents\Arduino\libraries\MySensors/drivers/RFM69/RFM69.h:98: undefined reference to `RFM69::_mode'
          
          collect2.exe: error: ld returned 1 exit status
          

          There is a lot of work to be done on Radiohead lib :worried:

          1 Reply Last reply
          0
          • scalzS Offline
            scalzS Offline
            scalz
            Hardware Contributor
            wrote on last edited by scalz
            #5

            @alexsh1
            yep, it's better to be rewrited as archi is a bit different.
            same thing multiple projects on my side. i'll try to do my best :)

            1 Reply Last reply
            0
            • alexsh1A Offline
              alexsh1A Offline
              alexsh1
              wrote on last edited by
              #6

              @scalz I manage to narrow it down only to "drivers/ATSHA204" compile issues, which is signing.

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              12

              Online

              11.7k

              Users

              11.2k

              Topics

              113.0k

              Posts


              Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • OpenHardware.io
              • Categories
              • Recent
              • Tags
              • Popular