pascallanger / DIY-Multiprotocol-TX-Module

Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models.
https://www.rcgroups.com/forums/showthread.php?t=2165676&goto=newpost
GNU General Public License v3.0
1.65k stars 439 forks source link

FrSky X9Lite with TBS MPM Module - No Telemetry #491

Closed mikeller closed 3 years ago

mikeller commented 3 years ago

Setup:

Reproduction:

Expected Behaviour:

Actual Behaviour:

pascallanger commented 3 years ago

I don't know this TBS module. Was it working with the original firmware it came with? Can you do pictures of the inside? Apart from the telemetry, is the module working? What are the LEDs doing?

mikeller commented 3 years ago

@pascallanger: It is this one: https://www.team-blacksheep.com/products/prod:tbs_mpm

The pre-installed firmware reported as 1.3.1.92 as well, and it had the same problem (RC working, but 'No telemetry') - I then did some tests with custom firmware with telemetry inversion / telemetry inversion switching disabled, without success, and flashed back to vanilla.

IMG_0909 IMG_0908

kilrah commented 3 years ago

So it never worked even with the original firmware? Seems hardware related then... Did you try stock OpenTX?

mikeller commented 3 years ago

@kilrah: Yes, it never worked with the original firmware that the MPM came with. I did try stock OpenTX, but this does not support 'MULTI' as an option for 'External RF', so that wasn't going to work (unless I am misunderstanding something).

kilrah commented 3 years ago

When I said "stock OpenTX" I meant downloaded from OpenTX Companion.

OpenTX distributed by FrSky doesn't include multi indeed.

mikeller commented 3 years ago

The vanilla version that I originally tested with was the 2.3.10 (7ac1ecb6) that companion23 downloads and installs (opentx-x9lite-afhds3-faichoice-flexr9m-lua-en-2.3.10-otx.bin) - I am assuming that this from OpenTX and not FrSky? Looks like this version is built without support for 'MULTI'.

kilrah commented 3 years ago

Just tried that same file and multi is here... do you get "multimodule" in "Firmware options" on the version page? Have you turned off internal RF?

mikeller commented 3 years ago

@kilrah: Interesting. I flashed vanilla OpenTX again, and this time 'MULTI' is showing up - not sure what went wrong the last time round. And yes, I'd tried with 'Internal RF' disabled both times round. But unfortunately, the end effect is the same - 'No Telemetry'. :disappointed:

kilrah commented 3 years ago

Telemetry will definitely not work if internal is on, but should be fine when off. Can check on my radio and a multi tomorrow but it really seems likely theres something wrong with the module...

mikeller commented 3 years ago

@kilrah: Internal was definitely off when testing. Thanks for verifying.

it really seems likely theres something wrong with the module...

Do you mean as in 'DOA hardware'?

kilrah commented 3 years ago

Possibly... 2 more things to check, firstly an OpenTx build without faichoice (it's for disabling telemetry after all) and that you didn't check "disable telemetry" in the external RF settings

mikeller commented 3 years ago

@kilrah:

an OpenTx build without faichoice

Didn't help.

you didn't check "disable telemetry" in the external RF settings

'No Telem' was never checked for the external module.

kilrah commented 3 years ago

OK, so with an x9 lite with opentx-x9lite-afhds3-faichoice-flexr9m-lua-en-2.3.10-otx.bin and a irangex lite with multi-stm-serial-aetr-v1.3.1.92.bin everything is fine here, as expected no telem if internal is on and working when it's off... even when FAI mode is enabled. Guess it must be the module then, either defect or bad design...

I've dropped TBS a message.

IMG_20201224_094429

mikeller commented 3 years ago

@kilrah: Not entirely sure how your last comment relates to the problem described in this issue? Is the 'irangex lite' the same hardware as the TBS MPM (maybe @tbs-trappy can confirm), and this is a case of DOA hardware?

tbs-trappy commented 3 years ago

the hardware is identical to RadioMaster protocol. I am not familiar with iRangeX lite hardware. certainly not ruling out DOA, if e.g. one pin would not connect then telemetry would not show up, correct? perhaps a quick test with multimeter to test the telemetry input pin passes all the way to the top board could rule out the most likely case of the wire being faulty?

mikeller commented 3 years ago

Thanks @tbs-trappy. Is this the correct pinout for the module port on the X9 Lite and the TBS MPM module:

image

Can you please let me know what pins the RC signal and telemetry are meant to be on on this connector?

tbs-trappy commented 3 years ago

yes, we do not have a connection for 6, 7 and 8 though.

kilrah commented 3 years ago

Telemetry comes on the S.Port pin 1 and control on pin 5 (pins 1 to 5 are basically a JR module slot, 1 being bottom)

mikeller commented 3 years ago

Thanks @tbs-trappy and @kilrah, I will be doing some logic analysing then.

mikeller commented 3 years ago

Ok, this is what I get on startup:

image

Looks like the module sends inverted data on the S.Port pin for about 1.3 seconds, and from then on only sends periodical spikes. This is how one of the spikes looks like:

image

On closer look, the initial 'data' on S.Port also turns out to be only spikes:

image

Just for fun I uncommented #define INVERT_TELEMETRY in _Config.h and rebuilt, but even with this (resulting in uninverted telemetry) the output on the S.Port pin is just spikes:

image

So to me it looks like (@tbs-trappy to confirm):

pascallanger commented 3 years ago

You need to also comment this line to change the telemetry polarity otherwise OpenTX will switch it back: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/2098cdc5e04e22e84ceb8559ceb74b2dd5d83b48/Multiprotocol/_Config.h#L301 Not saying it will help but at least you will have control.

mikeller commented 3 years ago

@pascallanger: I have already tried that. But as the first three and the last screenshots above show, even with INVERT_TELEMETRY_TX the line level ends up being low in vanilla Multiprotocol, with INVERT_TELEMETRY not defined, or high when INVERT_TELEMETRY is defined.

mikeller commented 3 years ago

I did some more testing with different combinations of TX_INV_on/off and RX_INV_on/off, and tried setting the UART TX pin to OD, without success. Without getting access to schematics for the module from @tbs-trappy I don't think there is much more that can be done to debug this.

pascallanger commented 3 years ago

Check what you have at the input of the inverter (C86) and output.

mikeller commented 3 years ago

@pascallanger: Is this on the TBS MPM board? Mine does not have component numbers on the silk screen, do you have a picture / diagram?

pascallanger commented 3 years ago

This is the component marking, small chip right next to the STM 32

mikeller commented 3 years ago

@pascallanger: I suspected so. I am currently mobile and I don't think I'll be able to probe this one without shorting and breaking it - do you have an engineering sample of this module?

pascallanger commented 3 years ago

Like I've said at the beginning of this thread i've never seen this module... And I have no TX with this connector either...

tbs-trappy commented 3 years ago

please let me know if you need an engineering sample. I've asked RadioMaster (the designer and manufacturer) to look at this page however I have not yet received a response from them.

pascallanger commented 3 years ago

Engineering samples would be great in any case. But I mean you must have tested this module type before selling it on a radio. Was it working? What was the setup?

mikeller commented 3 years ago

Happy to do some more testing with this, but I am currently traveling and have limited access to testing gear. I'll be able to do more in-depth testing after 18 Jan. Probably a good question to ask RadioMaster is if they have specifically tested telemetry feedback (can be verified by getting the multiprotocol version to show under 'Status' in in the OpenTX module configuration), and what TX model(s) they have tested this with - one suspicion is that this could be caused by different electrical properties (pull up / down) on the SmartPort pin on the TX module. Just to recap, what TX models is this module designed to work on:

tbs-trappy commented 3 years ago

@mikeller @pascallanger please send me an email I will make sure to send you a unit each.

We have verified telemetry working. I've personally flown a few packs with a whoop, tested the "feel" and checked the telemetry screen on the Tango 2. I don't own a X9/Xlite, but I don't see any reason why it shouldn't work there either. Although the module is predominantly for TBS Tango 2 customers, it's supposed to work with other remotes sporting the same connector.

I will push RM's engineers again to see if I can get a response, in the meantime thanks for looking at this and I'll wait for your email to send out a unit to you guys.

kilrah commented 3 years ago

The module only being tested on the Tango and there being a drive strength issue or such with the X-Lites was also my guess,

mikeller commented 3 years ago

@kilrah: Thanks for the insight. With 'drive strength issue' do you mean that the pull ups / pull downs on the TX aren't strong enough? Also, to make my testing a bit less potshot-y, do you know if the X9 Lite expects the input on the S.Port pin to be inverted (low at rest) or uninverted (high at rest)?

kilrah commented 3 years ago

Thanks for the insight. With 'drive strength issue' do you mean that the pull ups / pull downs on the TX aren't strong enough?

Possibly... Would be good to look at the signal with a scope to see how it looks like. Polarity should be like any other frsky radio, so inverted TTL.

mikeller commented 3 years ago

Good point @kilrah. I currently only have a cheapo knock-off Saleae logic analyser with me, so I can not look at the signal form - but it is well possible that the form is right but the levels are off. And thanks for clarifying the polarity - this reduces one variable in the guesswork.

pascallanger commented 3 years ago

Short this diode and try again: image That should do the trick. If it works as I assume, replace the diode by a small resistor like 470Ohm and you are good to go.

mikeller commented 3 years ago

@pascallanger: Did a quick test with the non-return diode shorted out, and with a 1k shunt over it. Unfortunately this did not change anything, which is what I'd expected, considering that the pull up on the S.Port pin also had not fixed it.

pascallanger commented 3 years ago

1K is going to be too much. Just shorten the diode has shown and use an official firmware so we know what you are running.

mikeller commented 3 years ago

@pascallanger: See my comments above.

sfjuocekr commented 3 years ago

Do you get the with FlySky only or also with others?

I get the same no telemetry status when I switch to my cheapo receiver and I have it turned off:

IMG_20210116_003359

Then when I connect it:

IMG_20210116_003452

This receiver doesn't even have telemetry, so I don't really care :D

edit: this usually only happens the first time I power up the radio and go into the menu, if I switch protocols it doesnt show the telemetry "error".

mikeller commented 3 years ago

@sfjuocekr: This is about the telemetry between the multiprotocol module and the TX - this should be independent of the over the air RC protocol selection.

sfjuocekr commented 3 years ago

Ah, so "No telemetry" reflects TX <> MULTI and "No MULTI_TELEMETRY" reflects MULTI <> RX (edit: and apparently also when the disable telemetry checkbox is checked)?

Mildly confusing as the wiki page on the X10 suggests they are the same.

kilrah commented 3 years ago

On the Module status line they both mean Multi->TX and nothing else.

sfjuocekr commented 3 years ago

Ok, then what @mikeller said was a wrong assumption. Yes, this receiver has no telemetry but it wasn't even bound so this status did reflect a lack of telemetry from the module.

I get the MULTI_TELEMETRY status on first boot up sporadically and only noticed it with FlySky2A selected.

kilrah commented 3 years ago

Yes, this receiver has no telemetry but it wasn't even bound so this status did reflect a lack of telemetry from the module.

That's exactly what he said...

sfjuocekr commented 3 years ago

I know, but I guess the "No MULTI_TELEMETRY detected" in my example is then just a freak coincidence if it has nothing to do with with telemetry to the RX?

It goes away if I switch protocols, most of the times it works it just shows "No MULTI_TELEMETRY detected" sporadically.

kilrah commented 3 years ago

It has nothing to do with telemetry to RX indeed and that's what we've all been saying.

ryancummings commented 3 years ago

Just dropping in to report I'm having the same "No Telemetry" error using the TBS MPM with my X9 Lite S. The message is present regardless of module protocol or rx bind.

tbs-trappy commented 3 years ago

we've just had a closer look into this.

our test units are indeed working, however they are on firmware v1.3.1.59. It seems that the latest units are shipping with a more recent firmware which does not work. Do you see any changes that could be the cause? The latest firmware is also not working on Tango 2, btw.