RFM69 ATC not working?
-
@gohan
I just tried with the node on MySensors 2.2.0, but I get the same result. I cannot get the gateway to compile with 2.2.0, I get the following errors:In file included from ./MySensors.h:49:0, from examples_linux/mysgw.cpp:83: ./drivers/RFM69/new/RFM69_new.cpp: In function ‘bool RFM69_initialise(uint32_t)’: ./MyConfig.h:716:26: error: ‘DEFAULT_RFM69_IRQ_NUM’ was not declared in this scope #define MY_RFM69_IRQ_NUM DEFAULT_RFM69_IRQ_NUM ^ ./drivers/RFM69/new/RFM69_new.cpp:230:18: note: in expansion of macro ‘MY_RFM69_IRQ_NUM’ attachInterrupt(MY_RFM69_IRQ_NUM, RFM69_interruptHandler, RISING); ^~~~~~~~~~~~~~~~ In file included from ./MySensors.h:347:0, from examples_linux/mysgw.cpp:83: ./hal/transport/MyTransportRFM69.cpp: In function ‘uint8_t transportReceive(void*)’: ./hal/transport/MyTransportRFM69.cpp:80:54: error: ‘RFM69_recv’ was not declared in this scope return RFM69_recv((uint8_t*)data, MAX_MESSAGE_LENGTH); ^ In file included from ./MySensors.h:343:0, from examples_linux/mysgw.cpp:83: ./drivers/RFM69/new/RFM69_new.cpp: At global scope: ./drivers/RFM69/new/RFM69_new.cpp:749:12: warning: ‘void RFM69_encrypt(const char*)’ defined but not used [-Wunused-function] LOCAL void RFM69_encrypt(const char *key) ^~~~~~~~~~~~~ ./drivers/RFM69/new/RFM69_new.cpp:599:12: warning: ‘void RFM69_ATCmode(bool, int16_t)’ defined but not used [-Wunused-function] LOCAL void RFM69_ATCmode(const bool onOff, const int16_t targetRSSI) ^~~~~~~~~~~~~ ./drivers/RFM69/new/RFM69_new.cpp:340:15: warning: ‘uint8_t RFM69_receive(uint8_t*, uint8_t)’ defined but not used [-Wunused-function] LOCAL uint8_t RFM69_receive(uint8_t *buf, const uint8_t maxBufSize)Do you have the gateway running with 2.2.0? And ATC works for the RFM69?
-
@mfalkvidd
And if you turn on ATC? Does that work? Are you on 2.3.0? -
@mfalkvidd
And if you turn on ATC? Does that work? Are you on 2.3.0? -
-
@gohan
I couldn't get the RSSI measurement on the gateway to work, so I'm not doing that.I want to get ATC to work. As ATC uses RSSI to optimize power, a correct RSSI measurement (on the node) is needed. ATC (and so the RSSI measurement) works well on an Arduino gateway, but not on a RPi.
As I don't have a software background and am still newish to MySensors, I'm hoping someone on the forum knows what to do. In the meantime, I'll keep digging myself :)
-
Was there any follow up to this issue?
I can confirm that ATC does not work using Rpi gateway. Well, it kind of works when you set very low MY_RFM69_ATC_TARGET_RSSI_DBM. I tried -100dBm and then the node is finally decreasing TX power to -2dbm. Anyway, when using Rpi as a gateway I can see (from node perspective) very low (-90) TX RSSI, whereas the same parameter is -26 when using arduino serial gateway (with the same close distance between node and the gateway).
Since the TX RSSI is very low, then the ATC works only when you set your target to lower than that, like mine -100 setting for test purposes.