USB HID Joystick & PPM-In program

More
09 May 2013 15:42 #9752 by vlad_vy
Replied by vlad_vy on topic USB HID Joystick & PPM-In program

PhracturedBlue wrote: vlad, when you say 'abssnt channels' you mean the case where the # of selected channels is != 8?

And yes, supporting PPM9 is a bug. There are only 8 supported PPM channels.


Yes, in case 6ch mode there is not any need to assign PPMx to Ch7 and Ch8. In essence, they can be disabled.

Please Log in or Create an account to join the conversation.

More
09 May 2013 17:01 - 09 May 2013 17:04 #9755 by Hexperience
Replied by Hexperience on topic USB HID Joystick & PPM-In program

BitOne wrote: Interesting data from the ER9x implementation.

Extract from the ER9x documentation, page 15 ("PPM In") code.google.com/p/er9x/source/browse/tru...%20Users%20Guide.pdf

This menu allows the PPMin (trainer) inputs to be configured. It enables the RAW PPM inputs to be selected to replace the sticks for training purposes. The student transmitter does not need to have the same model setup as the instructor. All the mixes on the instructors Tx will be applied to the student inputs. If, for example, you have expo on your sticks, this will be applied to the raw trainer inputs when they are selected.


This is how it would work if you used "FPV" mode. (Personally I would just call it PPMin and leave it at that).

I'm not going to get down on PB and everyone for trying to make things as simple as possible, but it almost seems like it's getting a little too easy to use.

PPM in is all you need for training, fpv and anything else. If you take the time to learn how the mixer works, and we have access to all the raw inputs, you can do any magic you want!

Same thing for the model configs... it amazes me that people ask for the same config over and over again... "FBL heli please..." If they take the time to learn how to do it, then I can tell you its faster to make a new config than to download one and copy it over.

SORRY.... rant over... :(

And really, truly, deviation is amazing. I love it, and I don't expect it to be a clone of er9x. I just want to make sure that we never loose the ability to really be creative with the mixer.

There are 10 types of people in this world. Those that understand binary and those that don't.
Last edit: 09 May 2013 17:04 by Hexperience.

Please Log in or Create an account to join the conversation.

More
09 May 2013 18:24 - 09 May 2013 18:29 #9760 by BitOne
Replied by BitOne on topic USB HID Joystick & PPM-In program
Hi Hexperience,

By providing the link to the Futaba FAQ and the extract from the ER9x documentation, I just wanted to give some hints for the question from PhracturedBlue "How do other transmitter handle that ?".

I wasn't implying that the actual implementation was useless. And I sincerely apologize to PhracturedBlue if my posts sounded like a rant against DeviationTX (and Deviation is the reason why I own a Devo 8s, so thanks PB for it).

Trainer is a new feature in Deviation. So, it's always a good idea to look around to avoid reinventing the wheel and benefits from solutions to common problems that have already been answered.

And some feedback from users who will have an intensive usage of a new feature is always interesting to add meaning to the software.

But the real and final decision will always belongs to the Deviation developers. And that the way it must be, as it's a hobby project.

So please take my inputs as they are: just some feedback on the trainer feature by a soon-to-be user of this feature.

And to finish on the mixer: I agree that it should be well known and used by most pilots using Deviation, as it's crazy powerful.

So if the final solution is to have PPM In that I could link to virtual channel and use it in the mixer, it's fine to me, even if it means having to change all the model I want to fly with a buddy box.

But I could feel that it make this feature less accessible for a lot of people.

I have the feeling that Deviation is beginning to appeal to wider masses, as the new standard GUI for heli pilot proves it in a way, by providing an easier to use, common solutions to common problems, interface. Even if it's less powerful than the mixer.
Last edit: 09 May 2013 18:29 by BitOne. Reason: Simplifying

Please Log in or Create an account to join the conversation.

More
09 May 2013 22:36 - 09 May 2013 22:37 #9771 by Hexperience
Replied by Hexperience on topic USB HID Joystick & PPM-In program
I agree with everything you just said, and if my rant seemed like it was directed at you I'm the one who should apologize (and I am)...

Everyone has a voice in this forum... from new users to micro processor programmers and everyone in between.

I completely understand the need for both types of gui. And to be honest.. I don't even remember now what got me going about it.

When I quoted your post, I was agreeing that I would like to see the trainer mode work the way it does in er9x. I wasn't trying to say anything about your content in the post...

If I had my way the deviation gui would look like this: :)


There are 10 types of people in this world. Those that understand binary and those that don't.
Attachments:
Last edit: 09 May 2013 22:37 by Hexperience.

Please Log in or Create an account to join the conversation.

More
10 May 2013 07:55 - 10 May 2013 07:56 #9788 by BitOne
Replied by BitOne on topic USB HID Joystick & PPM-In program

Hexperience wrote: If I had my way the deviation gui would look like this: :)

Yes, the most powerful user interface ever !

I think we are on the same page, even if I would have prefer a little more informative PS1 ;)
Last edit: 10 May 2013 07:56 by BitOne.

Please Log in or Create an account to join the conversation.

More
13 May 2013 04:11 #9909 by PhracturedBlue
Replied by PhracturedBlue on topic USB HID Joystick & PPM-In program
I added a 2nd train mode. You can now choose whether to apply the PPMin to mapped outputs, to mapped inputs, or as new inputs.
I think that will give sufficient flexibility to everyone, while keeping the effort to configure the trainer as easy as possible.

Right now, the settings are:
Train1 : Map PPM-In to output channels
Train2 : Replace stick inputs with PPM-In
Input : Create new inputs called 'PPMIn' that can be used in the mixers

These names are terrible and need to be changed. If anyone has any ideas for concise names for these modes, let me know.

Please Log in or Create an account to join the conversation.

More
13 May 2013 07:42 - 13 May 2013 07:56 #9917 by BitOne
Replied by BitOne on topic USB HID Joystick & PPM-In program
Wonderful !

Thank you very much PhracturedBlue (when do you sleep guy ?) ;)

For the name, do you have a max length ?

It could be:
- Train1: CHANNELS (or CHAN)
- Train2: STICKS (or STCK)
- Input: MIXER-IN (or MIXIN) <= not very happy with this one (the STICKS input will be sent to the mixer too, and it looks too much like the Futaba MIX mode while being functionally really different). ADDITIONAL INPUTS (or ADD-IN) is maybe more clear about what it is: it creates new inputs for the transmitter.
Last edit: 13 May 2013 07:56 by BitOne.

Please Log in or Create an account to join the conversation.

  • rbe2012
  • rbe2012's Avatar
  • Offline
  • So much to do, so little time...
More
13 May 2013 18:36 #9936 by rbe2012
Replied by rbe2012 on topic USB HID Joystick & PPM-In program
The first look as "direct" or "straight-through", the second like "remote", the third is very interesting but I have no catchword for this...

Please Log in or Create an account to join the conversation.

More
13 May 2013 18:52 #9940 by sbstnp
Replied by sbstnp on topic USB HID Joystick & PPM-In program
3rd could be EXTEND

Devo 10 + 4in1
Spektrum Dx9
FrSky Taranis + TBS Crossfire

Please Log in or Create an account to join the conversation.

More
13 May 2013 19:49 #9941 by PhracturedBlue
Replied by PhracturedBlue on topic USB HID Joystick & PPM-In program
Thanks guys,
I'll change it to 'Channel', 'Stick', and 'Extend'
I think that is a clear enough distinction.

Please Log in or Create an account to join the conversation.

More
13 May 2013 20:36 #9943 by Hexperience
Replied by Hexperience on topic USB HID Joystick & PPM-In program

PhracturedBlue wrote: I added a 2nd train mode. You can now choose whether to apply the PPMin to mapped outputs, to mapped inputs, or as new inputs.
I think that will give sufficient flexibility to everyone, while keeping the effort to configure the trainer as easy as possible.

Right now, the settings are:
Train1 : Map PPM-In to output channels
Train2 : Replace stick inputs with PPM-In
Input : Create new inputs called 'PPMIn' that can be used in the mixers

These names are terrible and need to be changed. If anyone has any ideas for concise names for these modes, let me know.


Sorry guys... I know I'm missing something here, but if you have #2 and #3 above when would you ever use #1?

My brain keeps telling me there is some overlap here, but I can't put my finger on it.

PPM-in as an input should be available all the time, much like a virtual channel. There's no need to select it on or off?? (Unless it's simply to save CPU cycles somehow, but if it's not listed as an input in one of the mixers, it would never get polled would it?)

Trainer mode input could be configured at the TX level, but applied at the model level. So in the TX pages you set that PPMin1 = ELE channel (stick replacement only) and you are able to center it there. PPMin2 = AIL etc.
Also on this page you set the switch to use for trainer mode.

Then in the model config, you simply say if this model can be a trainer or not, and if it can, then when ever the switch is pulled, those PPMin inputs take over the sticks. If the trainer option is NOT on for a model, then all the PPMin inputs are available to the mixers... This is how it's done in er9x. Basically just 2 modes. Train (replace the sticks) or NOT Train, all PPMin available to the mixer.

Again... just putting thoughts down on "paper"...

Cheers!

There are 10 types of people in this world. Those that understand binary and those that don't.

Please Log in or Create an account to join the conversation.

More
13 May 2013 22:00 #9952 by PhracturedBlue
Replied by PhracturedBlue on topic USB HID Joystick & PPM-In program
You do not want to have ppmin as both a primary input and as a toggle-able input/output at the same time.

The 3rd mode is absolutely capable of implementing the 1st 2 modes. However it would be tedious to program all the mixers for it. Mode 1/2 are basically like templates to make it possible to quickly setup train mode. The alternative would be to actually do just that and create a few templates to make master-trainer mode easy to set up. I think the current solution is easier to use/understand though.

I'm not sure there is much value in having both mode 1 and 2, but the amount of additional code to support both is minimal. Most likely users will just choose one or the other depending on their needs. Once I have some mechanism to transfer models between Deviation transmitters, mode-1 may be more interesting as it would mean the trainee is flying in exactly the same way they would if they were solo.

Please Log in or Create an account to join the conversation.

More
14 May 2013 04:47 #9971 by vlad_vy
Replied by vlad_vy on topic USB HID Joystick & PPM-In program
With any 'PPM In' choice (Channel, Stick, Extend) I can select PPMx as input for channel. Is it correct?

Please Log in or Create an account to join the conversation.

More
14 May 2013 04:58 #9972 by PhracturedBlue
Replied by PhracturedBlue on topic USB HID Joystick & PPM-In program
no that would be a bug

Please Log in or Create an account to join the conversation.

  • rbe2012
  • rbe2012's Avatar
  • Offline
  • So much to do, so little time...
More
14 May 2013 10:49 - 14 May 2013 13:56 #9974 by rbe2012
Replied by rbe2012 on topic USB HID Joystick & PPM-In program
I have some strange behavior with PPM in.
I use my Devo8 as master and a WK2402 as trainee tx.
For not having "None" as channel in channel mode and the ability to select channels up to Ch49 I filed already an issue at bitbucket.

When I have the 2402 connected and select channel mode or stick mode, the values for ch3 (throttle) differ - from -62 to +92% in stick mode and from -79 to +95% in channel mode. This is reproducible whatever I do - switching the txs in any combination off and on, resetting the model config and starting with a new one. Nothing changes anything.
The other sticks AIL, ELE, RUD deliver correct values from -99 to +100%.

Ch7 is very strange: It shows values between -326 and +326%: when ch3 moves from -79 to 95% it shows -322% at -79%, increases with ch3 until ch3 reaches 74%, then ch7 jumps from -326 to +326%. With further increase of ch3 ch7 decreases until +157%. Ch7 also moves when I move one of the other sticks so in combination of different movements every value between -326% and +326% can be reached.
I compared it to my sim with the WK2402: I can not select the number of channels in ClearView so I can not see what ch7 does. The rest is working. With FMS all seems ok, with easyFly3 RUD is on ch6 and ch4+5 jumping between -100,0,100. (BTW: when I connect my Devo8 with more than 7 channels ELE is not working; the same with easyFly3 and FMS). The values of ch3 are not reaching -100% so the -79%-value I have seen can be a limitation of my tx model.

My questions:
  1. Is it normal that a 4-channel-tx offers values at ch7?
  2. How can the read values <-100% resp. >+100%?
  3. Can the big jump with sign change point to a problem with wrapping around the values?

--DELETED--

I am not sure how much of the behavior I have seen is intended but I think it not not completely ready yet.
Last edit: 14 May 2013 13:56 by rbe2012.

Please Log in or Create an account to join the conversation.

  • rbe2012
  • rbe2012's Avatar
  • Offline
  • So much to do, so little time...
More
14 May 2013 12:19 - 14 May 2013 13:11 #9976 by rbe2012
Replied by rbe2012 on topic USB HID Joystick & PPM-In program
I tried a Spektrum DX4e as slave. Similar results like with WK2402, Ch7 moves too.
Also after trimming the DX4e to the 0-point the max/min values are only more or less +/-100% (about 90-115%)
Should we have a way to trim the PPM inputs like we have with the sticks?

The strange movements of ch7 do not happen with a WK2401 as slave.

I can select PPMx as input for mixer in every mode, but this only works in the extended mode (seems to be intended). Vlad has mentioned this too. What happens with those inputs when I switch the PPM in mode from extended to channel or stick? Stay as they are? Replaced with some default ("None")?

PPMx does not work for crosses. How do I ask for the value? I use "ppmChannels[Model.ppm_map[PPM_Channel_Number]]". Correct? Or better without mapping: "ppmChannels[val]"?
EDIT: PPM as input for crosses is working now (without mapping). But is there a point where I can get the values and the conditions for the different modes are checked? Actually I do this in main_page.c what is not the correct place, I believe.
Last edit: 14 May 2013 13:11 by rbe2012.

Please Log in or Create an account to join the conversation.

More
14 May 2013 14:17 #9977 by PhracturedBlue
Replied by PhracturedBlue on topic USB HID Joystick & PPM-In program
I also see the problem with Channel7 sometimes. It depends on how I configure the slave. I thought it was because I had my devo12 configured for more than 9 PPMOut channels, but perhaps not. I'll investigate further.

If you see values <-100 or >100, then the PPM configuration is probably wrong. As I mentioned somewhere above, we need to find a way to calibrate the PPMin. Each radio has different center and offsets, and if these are set wrong in the master, you won't get the proper values.

As for using PPM in the crosses, you should never use the ppmChannels variable.
Instead use:
MIXER_GetChannel(1 + NUM_INPUTS + NUM_OUT_CHANNELS + NUM_VIRT_CHANNELS + channel, 0);

We can add a macro so you don't need to do the math.

Please Log in or Create an account to join the conversation.

  • rbe2012
  • rbe2012's Avatar
  • Offline
  • So much to do, so little time...
More
14 May 2013 16:05 #9978 by rbe2012
Replied by rbe2012 on topic USB HID Joystick & PPM-In program

PhracturedBlue wrote: Instead use:
MIXER_GetChannel(1 + NUM_INPUTS + NUM_OUT_CHANNELS + NUM_VIRT_CHANNELS + channel, 0);

Thank you, PB. I will try this later (working on the save_col-thing...).
The math is ok if you mean calculating the channel (I do the reverse to calculate the index from the channel), so a macro seems not necessary.

Please Log in or Create an account to join the conversation.

More
14 May 2013 16:57 - 14 May 2013 16:58 #9979 by PhracturedBlue
Replied by PhracturedBlue on topic USB HID Joystick & PPM-In program

vlad_vy wrote: With any 'PPM In' choice (Channel, Stick, Extend) I can select PPMx as input for channel. Is it correct?


After further consideration, I've decided to leave it the way it is. There would be a bunch of complexity to only allow selecting PPM when it is active. I already have a similar case for the 'Ch' values. You can select up to 'Ch12' on the mixer regardless of how many channels are actually enabled. Maybe some day I'll rework it, but I don't think it is worth it right now.

Note that these values are not actually set (just like any 'Ch' value beyond the configured # of channels) when PPMIn is not in 'Extend' mode. So you can't use Extend and Train together.
Last edit: 14 May 2013 16:58 by PhracturedBlue.

Please Log in or Create an account to join the conversation.

  • rbe2012
  • rbe2012's Avatar
  • Offline
  • So much to do, so little time...
More
14 May 2013 17:47 - 14 May 2013 17:47 #9980 by rbe2012
Replied by rbe2012 on topic USB HID Joystick & PPM-In program
Good decision, I think. Better we have a working config where some values are constant defaults (=0?) than configs who are only valid under special conditions.
PB, must we have PPMin profiles? If you think about some kind of calibration for the inputs it will be different for the different tx. And such things as channel directions and allocation can differ too (e.g. WK vs. DX). I would appreciate to save the PPMin configuration separated from the model and include them in different model configs.
Last edit: 14 May 2013 17:47 by rbe2012.

Please Log in or Create an account to join the conversation.

Time to create page: 0.108 seconds
Powered by Kunena Forum