Hi all...
I'm wondering if I can add dragonlink RSSI connection to the APM1, and have it report in the MAVlink stream to the minimOSD.
Not coming up with much in my searches.
Thanks
JC
Tags:

I can't think of an easy way to do this right now. What format does the dragonlink RSSI connection come in? Is it an analog voltage? If so then you could potentially add it via one of the analog ports on the APM, with a bit of code to insert the result into the RC_CHANNELS_RAW packet.
That would require a few lines of code changes, but not a lot. Let me know if you want to explore doing this and I could give you some (untested!) code to try.
Cheers, Tridge

Thanks Tridge, it is analog voltage from my understanding.
If you've got a couple of lines that would help in a Git repo, I can grab it myself, or just let me know what I should be looking at.
I assume I'll need to look at the OSD code as well to recognize and format the information. I'll get with Sandro and see if he's done anything on that front yet.
Let me know! Thank you!
JC

Hi John,
What we'd need to do is work out what port it will use, then put the port number in APM_Config.h like this:
#define RADIO_RSSI_PORT 1234
Then the patch would be something like this:
--- a/ArduPlane/GCS_Mavlink.pde
+++ b/ArduPlane/GCS_Mavlink.pde
@@ -396,7 +396,11 @@ static void NOINLINE send_servo_out(mavlink_channel_t chan)
static void NOINLINE send_radio_in(mavlink_channel_t chan)
{
+#ifdef RADIO_RSSI_PORT
+ uint8_t rssi = analogRead(RADIO_RSSI_PORT) / 32;
+#else
uint8_t rssi = 1;
+#endif
mavlink_msg_rc_channels_raw_send(
chan,
millis(),
once you confirm it works we could add it as a EEPROM config option, maybe called RSSI_PORT. Also note that I've just guessed a scaling factor of 32 - I have no idea what the right scaling factor should be.
This patch takes advantage of the fact that the RC_CHANNELS_RAW MAVLink message already has an rssi field, its just that we've always set it to 1 previously.
Cheers, Tridge

Tridge,
Is this where I should look for RSSI feedback?
I did this in GCS_Mavlink, and then #define RADIO_RSSI_PORT 7 in the config file.
static void NOINLINE send_radio_in(mavlink_channel_t chan)
{
//uint8_t rssi = 1;
#ifdef RADIO_RSSI_PORT
uint8_t rssi = analogRead(RADIO_RSSI_PORT) / 32;
#else
uint8_t rssi = 1;
#endif
//----------------------------------
mavlink_msg_rc_channels_raw_send(
etc, etc...
Getting a good compile but no data, am I looking in the right places?
Thank you very much!
JC
Permalink Reply by Nguyen Ha Minh on April 28, 2012 at 10:43am Hi guys, any progress on this?? Cheers
Minh

I actually just got the RSSI line hooked up into AN7 today.
Going to patch the code and see what happens.
Permalink Reply by Gábor Zoltán on May 4, 2012 at 3:47pm Hi John,
Sounds promising! ;)
Can you give us a how to? :)
I would like to put my recivers rssi signal to my osd. :)
Permalink Reply by Gábor Zoltán on May 17, 2012 at 7:10am I have other questions.
Is it possible to mix channels, like throttle to rudder?
Other thing is: I used to use ailerons as break. It works great in manual mode, but in stabilised mode, ailerons move opposite.
THX
Permalink Reply by Gábor Zoltán on July 8, 2012 at 8:03am What happened? :)
Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.24 members
720 members
203 members
1355 members
207 members
© 2013 Created by Chris Anderson.
Powered by
