Skip to content
  • MySensors
  • 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

Porting Radiohead RFM95/96/98W library to MySensors

Scheduled Pinned Locked Moved Development
lorarfm95w
6 Posts 2 Posters 4.5k 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
    • S Offline
      S 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
      • S 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
          • S Offline
            S 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

              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

              With your input, this post could be even better 💗

              Register Login
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              14

              Online

              12.0k

              Users

              11.2k

              Topics

              113.4k

              Posts


              Copyright 2025 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
              • MySensors
              • OpenHardware.io
              • Categories
              • Recent
              • Tags
              • Popular