I am not using a pwm channel for rssi, only the 109 mavlink injected rssi values. With the RFD modules (as far as I know) it is not possible to set up a pwm based rssi reporting.
edit. I have spoken with the RFD guys and they told me, that the rssi values only start to get injected, when heartbeat packets are received (so when I connect to MissionPlanner).
Hi David, so your proposal to fake the rssi until MP connects is probably the best option. I actually have a pair of RFD900s that work very well. I just have not played with their settings for a while. Then ULRS and DL settings just confuse matters. You could send me a Pull Request, or I can just do a little patch. Thank you for your valuable input.
I created a pull request (my first one ever) for you. Hope this helps, maybe we should make a #define for it in config.h. RFD specific settings or similar.
Also I have discovered a different issue. While flying the yaapu scipt keeps repeating my current flight mode and sometimes stabilized, even though I don´t have stabilized configured. Also it sometimes tells me “armed” and “disarmed” randomly. Ever encountered this before? Is this an issue with MAV2PT or the yaapu script?
Maybe you didn’t flash the latest? Could you check it out and let me know?
I think it might be useful for non-rfd900 users to also have a dummy rssi as default. It will get overwritten by a true rssi when/if one arrives. The upside is that we don’t always have the confusing “can’t connect” issue. We could make the value easily identifiable, like 66%
Is there any chace you would port the code to the RFD transmitter module ? It has an ESP8266, which is already implemented in your code. You would only (probably) have to change the pins.
Hi David, I flashed mav2pt_v2.54 onto the txmod this morning, using their OTA, and everything seems to work fine. You might need to play around with the S.Port out pin to suit your circumstances.
If you use AP mode the IP will be the same as the txmod.
If you need to re-flash the txmod firmware, simply use the mav2pt OTA.
EDIT: The mav2pt OLED display also works on the esp8266 if you would like to use it.
I compiled using both the Arduino IDE and PlatformIO, using the NodeMCU 1.0 (ESP-12E) board profile. I used D6 for the S.Port, but you could change to any unused pin.
#elif (Target_Board == 4) // ESP8266 Platform
#if (ESP8266_Variant == 1) // Node MFU 12F
#define MavStatusLed D0 // Mavlink Status LED
#define BufStatusLed 99 // None
// D4 // TXD1 - Debug log out
#define FC_Mav_rxPin D9 // RXD0 default
#define FC_Mav_txPin D10 // TXD0 default
#define Fr_rxPin D5 // GP10 SPort - Not used in single wire mode
#define Fr_txPin D6 // GPIO SPort - Use me
#define SCL D1 // I2C OLED board
#define SDA D2 // I2C OLED board