PDA

View Full Version : CMS Buttons and Axis vs GUI Buttons and Axis



Rickie Lee
13th May 2010, 03:18 AM
Hi All:
I have once again read thru the Dummies Guide and the CH Products guide but cannot get "when do I program up front in GUI and when do I program in back in CMS controls." Since now having FS, PT, PP, and Yoke I am redoing all my maps. Seems easier for me (unless I'm misunderstanding) that I am redoing all my maps as a one controller (combined contollers) map. When I do that it seems I have two complete sets of programmable areas. GUI and CMS. They both appear able to do the exact same thing (which I think is probably where I'm falling off the logic train). Can someone please explain when I should be using the GUI area and when should I be using the CMS area?
Thanks a bunch !!

Bob Church
13th May 2010, 07:04 AM
Hi Rickie,

>> I have once again read thru the Dummies Guide and the CH Products guide but cannot get "when do I program up front in GUI and when do I program in back in CMS controls." Since now having FS, PT, PP, and Yoke I am redoing all my maps. Seems easier for me (unless I'm misunderstanding) that I am redoing all my maps as a one controller (combined contollers) map. When I do that it seems I have two complete sets of programmable areas. GUI and CMS. They both appear able to do the exact same thing (which I think is probably where I'm falling off the logic train). Can someone please explain when I should be using the GUI area and when should I be using the CMS area? <<

Actually, that's not true. Use the GUI whenever you can, which is essentially when you want to send characters or buttons to the sim. If you can do it in the GUI, it's much easier to do.

Use CMS when you need to accomplish something that the GUI won't do. Sequences, things like that. The GUI is less efficient. It doesn't make a lot of difference if you're sending a single key or string, but it has to buffer all the output, then send it along to the PC when the character buffer empties. CMS doesn't. For example, if you want to send 5 chaff and 5 flare characters, one of the characters quarter second. You could do it in the GUI, use CHARDLY to put enough delays in to spread them out. A quarter second delay between them would take bout 5 CHARDLY characters. and would look something like:

c CHARDLY CHARDLY CHARDLY CHARDLY f CHARDLY CHARDLY CHARDLY CHARDLY c CHARDLY CHARDLY.....

You get the idea. You'd end up needing. You'd need 50 CHARDLYs, 5 "f" characters and 5 "c" characters. Each of them take about the time set for Character Rate on the Program Settings tab, and it takes 2 periods on the f and c characters. So, 20 character times to send the characters, another 50 character times to send the CHARDLYs.
Somewhere around 5 seconds overall.

You could also do it in CMS with a timer and a little logic and get exactly the same effect. The difference is that the GUI programming stacks up all those character in a buffer and until it plays them all back the stick is dead, at least on a single-core processor, so you have no control at all for that 5 seconds. On the other hand the CMS side doesn't have to stall the process, it just has to send the character once each time. Overall the time would be the same, but the script turns things loose after it's sent each character, no hit on the processing speed really and you'd have axis and button control respond quickly enough to be unnoticeable.

If you're only send 2 or 3 characters, it problably doesn't make a lot of difference. If it's "gear down" or something like that. When it gets more complex, CMS is better. I've seen maps that seem to hang the machine for 30 or 40 seconds. Using CMS, it wouldn't really be that noticeable, basicly because it can send the CHARDLY and then move on, where if you use the GUI method, you just sort of continue on your current heading while everybody shoots at you. It all just depends on what you're trying to do.

As for always ending up with a combined controller, there's nothing wrong with that if the combination has enough buttons you need to handle. It will handle whatever the controllers need to do. If you come up short on axes and buttons, you can alway add more using the CMS Controls if you program for CMS. If not, you can just add another device. It doesn't even really need to be a controller. If you've got a 25 button MFP and use modes and shifts, you can get it to produce as many as 400 different buttons using the shift, modes, and the red/green button sets. But you can force them into a sim, you have to send them out as if they came from a joystick and went through DX. So you can, for example, add 32 buttons to your ProPedals. Every controller you've got on the machine will handle 8 axes, 32 buttons, and a POV, a total 512 buttons, and 128 axes that can be driven by the CMS script, the actual controller, it doesn't matter where they come from.

Actually, the only difference between a combined map and a split map is that on the combined map, everything is sent to one CM Device. As soon as you reference another CM Device you've got a map that can handle many more commands. If you're just going to drive and shoot, a WWI sim for instance, it doesn't matter. An F16 or a 747 in FS will probably be a different story.

I like to use DX Mode if the sim has a button for the command, too. The scripted button will respond more quickly since it doesn't necessarily have to wait on the character buffer. With character there's another problem. The HID keyboards (which is what the CM emulates) only maitains one set of flags for the CTL, SHF, ALT and WIN keys and just assumes that the flags apply to all the character the it sends. In MSFS, the F1, F2, F3, and F4 characters generally hand the engine, but then ALT Fi for pitch I think, is like ALT F1, so you've got no throttle available. The all look like pitch commands. Probably not what you want, but FS accepts DX axis commands and since it assigns them individually, there's no chance for the conflict to occur.

So, it comes down to "no real answer". It just depends on what you're trying to achieve, and CMS adds a lot of options that really limit what the GUI can do. If you've got enough buttons and axes on what looks like a single controller, it's a lot easier to do. Just a lot less powerful.

Does that help?

Best regards,

- Bob

The StickWorks
http://www.stickworks.com

Rickie Lee
13th May 2010, 04:02 PM
Bob:
That helps alot. It does bring up one question in my mind tho. If I understand all you wrote (before I experiment more) it seems your are saying the CMS is faster than the GUI.
If that is so, it seems that I am better off mapping buttons through the CMS screen rather than the GUI screen. Correct? (in GUI I would go thru each button, insert the appropriate comand/ character
from my cmc file, but now if CMS is faster I would not use GUI but go straight to the CMS screen and still use the cmc file commands but in CMS not in GUI) ??
Thanks Bob

Bob Church
13th May 2010, 08:31 PM
Hi Rickie,

It's not really inherently faster. DX Mode is faster as far as the response time goes, it doesn't matter whether the GUI or CMS. It's faster when when what you're trying to do takes some amount of time because the GUI code has to execute it all in one pass, which slows down everything else because it has to wait. CMS only does what it can do "now", but when it runs up against a DELAY or something that will take some time to complete it just saves the state and gets on with the next script operation. On the next pass, it will try again, but it never actually "stands still". The GUI code does have to wait until the operation is complete. If you can use DX buttons, that's the quickest. Characters take time, buttons are virtually instantaneous. If you have to use a character, that very likely happens faster than you end up holding the button down, so 1 or "a few" characters probably aren't really noticeable either. They're about as fast as you could get them processed just as using the keyboard so that's not going to be a big hit usually. It's when you need to generate lots of keys or something else that takes some time that CMS really makes the difference. I usually use the GUI if it will do what I need. When it starts to bog down, or you simply can't do it in the GUI, then CMS can provide a significant increase. As a rule of thumb, use the GUI and DX Mode (or character mode if you have to) if you can get it to operate acceptably. If there are operations that bog the map down, then it's time to start looking at the CMS options.

I set it up to operate on three levels, really. Direct Mode, which works like it would without the CM installed, but isn't programmable. The next level is the GUI. Most functions will work there and it's easier. Then run through the functions and the ones that are slow enough to cause problem becaiise pf speed or complexity, then drob down to CMS and work it out there. It really just has to be judged on a case-by-case basis, there isn't necessarily a "best way". It depend on what you need to do. Sometimes it's obvious what will work, but aif it operates to your liking, It's done. It doesn't really matter how you get to that point.

Best regards,

- Bob

The StickWorks
http:// www.stickworks.com

Rickie Lee
14th May 2010, 12:42 AM
Bob:
Thanks a zillion. I finally really understand!

Bob Church
14th May 2010, 12:53 AM
Hi Rickie,

You're welcome, sir! I'm glad it was some help. I know it's not obvious, but if you do it awhile you lkind it gets kind of intuitive. There are still a lot of gray areas, but once you understand the process it's a little easier to get what you want. Or just more confused. :)

Best regards.

- Bob

The StickWorks
http://www.stickworks.com