Porting Radiohead RFM95/96/98W library to MySensors
-
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/4I 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.zipI 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?
-
@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..
-
@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.
-
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
-
@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
-
@scalz I manage to narrow it down only to "drivers/ATSHA204" compile issues, which is signing.