Multiple active RF modules?
- mwm
- Topic Author
- Offline
In looking over the stuff in protocol/spi, it looks like we leave the chips disable most of the time, enabling them on a per-interaction basis, then disabling them when that's done. This is a good start, as we could theoretically talk to more than one chip at a time. It doesn't mean it will work. I can see an number of possible issues.
IIUC, rf module code mostly at least partly out of ISRs. If so, then running multiple RF modules means we have to worry about making sure that we don't try and switch modules when one is already enabled. Also, that we don't lose interrupts when we're talking to one.
Which raises the second issue: can we process things fast enough to do this? If so, how many modules can we use at once?
I can see how the UI would work: just another option on model setup, that selects a second protocol from "None" and the set of protocols that don't need the rf module used by the first protocol. Number of channels for it is an extra protocol option. Or maybe number of channels just becomes a protocol option, though that seems inconvenient for most models.
If this works, the next interesting question is having multiple modules of the same type. For instance, adding a CYRF chip to a current multimodule installation. If we can work out the UI issues, I don't see why not. After that, the question becomes how many we can have active at once.
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Please Log in or Create an account to join the conversation.
- Richard96816
- Offline
- Posts: 208
Sounds like a good time to re-evaluate or redefine what a channel is. Perhaps an open source receiver to go with our open source transmitters. And a little data compression or data scheduling. I think we discussed this recently.
The dual module approach would probably go together much faster, though. A mostly hardware solution.
Modules should probably be multiplexed in hardware, so it isn't possible to select two at once.
Please Log in or Create an account to join the conversation.
- Thomas.Heiss
- Offline
- Posts: 698
great idea.
If you think in that direction, maybe you can even get ANTENNA DIVERSITY up and running on DSMx like DX18, DX9, DX8G2?
But that would probably mean to get rid of the 1st antenna mount and have it layouted top like Spektrum has.
Where and how to put the 2nd antenna?
This is my 9-12 channels thread poll (to get some ideas): www.deviationtx.com/forum/6-general-disc...s-servos-gyros#43598
X-Plus:
Somewhere I read informations about Spektrum X-Plus 8 that there was already some code but not merged into nightly-build and not that much tested??? Need to find threads or links...
Maybe we could get this XPlus8 running (if any developer has X-Plus module) first before thinking about the hard work to get two HF modules running? Or might that be not that hard?
That is the hard part with DeviationTX. A developer even needs to own the more expensive hardware to fully test it...
I am also not too sure if one pilot would even use a modded DEVO transmitter (lack of declaration of conformity >10mw, missing DSMx/FrSkyX conformity, etc.) to fly something a plane that big that requires all that channels??
Thomas
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1891
From a slightly different angle, would it be worthwhile to be able to control multiple receivers with a single protocol? You'd have multiple fixed id's in the model. At least the nRF device allows changing the tx address and channel at any time - are the other radios similar? Some other internal state data might need to be maintained for each receiver. Though using multiple modules would probably involve less (or no) work inside the protocols.
Please Log in or Create an account to join the conversation.
- FDR
- Offline
If you use two different protocols, they will have different timings, so they will have collisions from time to time.
Probably the transmit time is short, but receiving the telemetry information probably need to be longer to be safe.
Furthermore there are protocols, which transmit and receive quite often, for example the DEVO protocol transmits every 2.4ms, and receives the telemetry in-between.
I have a feeling, that it should be easier to implement the dual RX mode using the same protocol (and RF module of course), by simply shifting the timings not to overlap each other.
The other aspects (for example the GUI needs) are clear. You need two protocol selection and protocol options, double channel count and (fixed) ID, etc.
However the big question is what for?
Beside the DEVO 12, the others do not have too much physical inputs to transmit.
One advantage would be that I could use two cheap 6ch RXs instead of one quite expensive 12ch...
With some further development it could be used as a real wireless trainer option too, but for that we would need to implement RX side of the protocol too...
Please Log in or Create an account to join the conversation.
- RoGuE_StreaK
- Offline
- Posts: 486
Please Log in or Create an account to join the conversation.
- mwm
- Topic Author
- Offline
However, there's a bug in the deviation implementation of the DSM protocols that cause some of the Spektrum all-in-one boards to go bonkers if you use more than 7 channels in deviation, and the 350Qx is one of those. So I can't use 12 channels. This is why I want this.
As for the collisions - how bad would that be? First, if we're actually sitting idle most of the time, then they should be extremely rare. And when they do happen - the requirements are soft real time. We already survive dropped packets, this would just add a few more. If telemetry is an issue, that can be turned off on most protocols. Of course, those are also exactly the conditions when you want RSSI information, though we don't currently provide Tx-side RSSI, and AFAIK only FrSky supports it.
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Please Log in or Create an account to join the conversation.
- FDR
- Offline
Then shouldn't we just need to implement those DSM modes?mwm wrote: However, there's a bug in the deviation implementation of the DSM protocols that cause some of the Spektrum all-in-one boards to go bonkers if you use more than 7 channels in deviation, and the 350Qx is one of those. So I can't use 12 channels. This is why I want this.
If we don't want to implement the reportback of the rx at the binding stage, we can use protocol options for that...
Please Log in or Create an account to join the conversation.
- mwm
- Topic Author
- Offline
FDR wrote:
Then shouldn't we just need to implement those DSM modes?mwm wrote: However, there's a bug in the deviation implementation of the DSM protocols that cause some of the Spektrum all-in-one boards to go bonkers if you use more than 7 channels in deviation, and the 350Qx is one of those. So I can't use 12 channels. This is why I want this.
If we don't want to implement the reportback of the rx at the binding stage, we can use protocol options for that...
Ok, I'm completely confused - but I haven't really been following the DSM protocol implementation. I'm not sure what the reportback feature is, so don't know if that would fix the problem. I had assumed that the cause of the problem was unknown and nobody had looked at it. After all, there's a trivial workaround that can be used in all but a very few rare cases - like the one I ran into. If the fix is known, the only reason I can think of for not fixing it is that it runs the 7E build out of ram or rom, which might not be helped by making it a protocol option.
Last time I looked - and it has been a while - our DSM implementations worked fine for all the standalone Rx's running spektrum-licensed code, whether you had more than 8 channels or not. Ditto for the OrangeRx & LemonRx re-implementations. It even worked properly some (many? most?) of the AIO boards used on Horizon Hobby products.
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Please Log in or Create an account to join the conversation.
- FDR
- Offline
As for today we don't receive the answer of the RX, but we adjust the mode according to the channel count, however we do not cover all the combinations.
Since most of the Spectrum receivers support most of that combinations, they work, but others may not...
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Development
- Multiple active RF modules?