- Posts: 3333
18 channels for DSM2 / DSMX ?
- vlad_vy
- Offline
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
Last version of changed source files for X-Plus channels:
DELETED
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
Last version of changed source files for X-Plus channels (can be build for Devo7e):
DELETED
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
name=Model17
mixermode=Advanced
[radio]
protocol=DSM2
num_channels=20
fixed_id=123456
tx_power=10mW
[protocol_opts]
Telemetry=Off
Resolution=Steps:2048
X-Plus=On
1) DSM2 < 8 channels 1024 = tested = OK
2) DSM2 > 7 channels 1024 = tested = OK
3) DSM2 > 7 channels 2048 = tested = OK (DSM2 Rx must support High Resolution)
4) DSMX any number of channels = tested = OK
5) DSM2/DSMX X-Plus channels, 13 to 20 channels = ???
I havn't X-Plus Rx and XPlus8 module.
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
DELETED
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
if 'X-Plus' = 'Off', number of channels can be 1 to 12 only.
If 'X-Plus' = 'On', number of channels can be 13 to 20 only.
Last version of changed source files for X-Plus channels (can be build for Devo7e):
DELETED
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
So it might be the wrong place to implement such dependencies.
I personally would prefer finding them where the values are changed by the user, possibly with a new PROTOCMD_SETDEPENDENCIES (or whatever) which can be invoked in the config pages.
This refers also to the PROTOCMD_GETOPTIONS where you set some values - completely unexpectable from my point of view. Although values are corrected here only you can never make sure that they are correct when they are needed (e.g. if the options are never asked for).
The settings are made to the model properties so they should be done where the model is configured.
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
P.S. Probably X-Plus never will be implemented, as it happened with most of DSM telemetry.
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
If the addition is of use for people I don't know why it should not be integrated (as far as the resources are sufficient and not needed for important tasks). Let's complete 3.1 and see...
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
const void *DSM2_Cmds(enum ProtoCmds cmd)
{
switch(cmd) {
case PROTOCMD_INIT: initialize(0); return 0;
case PROTOCMD_DEINIT: return 0;
case PROTOCMD_CHECK_AUTOBIND: return 0; //Never Autobind
case PROTOCMD_BIND: initialize(1); return 0;
case PROTOCMD_NUMCHAN:
if (Model.proto_opts[PROTOOPTS_XPLUS] == XPLUS_ON) {
if (Model.num_channels < 13)
Model.num_channels = 13;
Model.proto_opts[PROTOOPTS_RESOLUTION] = RESOLUTION_2048;
}
if ((Model.num_channels < 8) && (Model.protocol == PROTOCOL_DSM2))
Model.proto_opts[PROTOOPTS_RESOLUTION] = RESOLUTION_1024;
return (void *)(Model.proto_opts[PROTOOPTS_XPLUS] == XPLUS_ON ? 20L : 12L);
case PROTOCMD_DEFAULT_NUMCHAN: return (void *)7L;
case PROTOCMD_CURRENT_ID: return Model.fixed_id ? (void *)((unsigned long)Model.fixed_id) : 0;
case PROTOCMD_GETOPTIONS:
if (Model.protocol == PROTOCOL_DSMX)
Model.proto_opts[PROTOOPTS_RESOLUTION] = RESOLUTION_2048;
return dsm_opts;
case PROTOCMD_SETOPTIONS:
if (Model.protocol == PROTOCOL_DSMX)
Model.proto_opts[PROTOOPTS_RESOLUTION] = RESOLUTION_2048;
if (Model.proto_opts[PROTOOPTS_XPLUS] == XPLUS_ON) {
if (Model.num_channels < 13)
Model.num_channels = 13;
Model.proto_opts[PROTOOPTS_RESOLUTION] = RESOLUTION_2048;
}
if ((Model.num_channels < 8) && (Model.protocol == PROTOCOL_DSM2))
Model.proto_opts[PROTOOPTS_RESOLUTION] = RESOLUTION_1024;
break;
case PROTOCMD_TELEMETRYSTATE:
return (void *)(Model.proto_opts[PROTOOPTS_TELEMETRY] == TELEM_ON ? 1L : 0L);
case PROTOCMD_RESOLUTIONSTATE:
return (void *)(Model.proto_opts[PROTOOPTS_RESOLUTION] == RESOLUTION_2048 ? 1L : 0L);
case PROTOCMD_XPLUSSTATE:
return (void *)(Model.proto_opts[PROTOOPTS_XPLUS] == XPLUS_ON ? 1L : 0L);
default:
break;
}
return NULL;
}
If I will remove code from 'PROTOCMD_GETOPTIONS', then switching to DSMX protocol do not change 'Resolution' to 'Steps:2048' in case Devo10. Since DSMX is always 2048 it does not matter, just for not to confuse users who open protocol options.
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
Yes.vlad_vy wrote: I think this code will be more clear
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- DavidT
- Offline
- Posts: 8
Thanks, David.
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- FDR
- Offline
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
All tested and works with all possible DSM2/X Rx and modified MultiWii, not tested with original Spektrum XPlus module and Rx only.
vlad_vy wrote: 1) DSM2 <8 channels 1024 = tested = OK
2) DSM2 >7 channels 1024 = tested = OK
3) DSM2 >7 channels 2048 = tested = OK (DSM2 Rx must support High Resolution)
4) DSMX any number of channels = tested = OK
5) DSM2/DSMX X-Plus channels, 13 to 20 channels = ???
I havn't X-Plus Rx and XPlus8 module.
Please Log in or Create an account to join the conversation.
- Cereal_Killer
- Offline
Now that I've switched to S.BUS orangeRX's I'm wanting to get more than 12 channels. 18 are available in cleanflight but I think only 16 are controllable. Is there a current build with 16 channels active on DSMX or do I have to build my own?
Taranis X9E | DEVO 10 | Devo U7E | Taranis Q7
What I do in real life: rivergoequestrian.com/
Please Log in or Create an account to join the conversation.
- mwm
- Offline
So current builds don't include vlad_vy's code, so you'll have to build your own. His code is over a year old, so I have no idea how well that will work with the current builds, or what to check out to get it. And you'll notice that there's no 7e files in his code. Probably because upping the channel limit on the 7E simply runs out of space.
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.
- Theoretiker
- Offline
this thread is very old but is there an easy why to enable the XPlus in DSMX for Devo 7e.
We use the transmitter for tiny rc trucks and the receiver supports up to 18 channels, so it would be great if the Devo73 will support all 18 channels.
regards Oliver
Made some tiny radio controlled vehicles in scale 1:87
2x Devo 7e with chip modification, 4x3 way swithes, 3in1 transmitter chip
1x Devo 10
1x Devo F12e
Webseite: www.der-theoretiker.de
Youtube: www.youtube.com/user/Mikromodelle
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Protocol Development
- 18 channels for DSM2 / DSMX ?