Jump to content
The simFlight Network Forums

landing light switches


Recommended Posts

Hi

In a real Baron 58 you get 1 switch for left landing light and one for right landing light.

In Fs you have just one switch to control both.

I found in fs 2004 control list these values.

LANDING_LIGHT_LEFT

LANDING_LIGHT_RIGHT

If I asign it to a switch you can see the light moving left or right.

Of course this is not the efect i want.

I want to asign a switch for each.

IF (SWITCH LEFT){LANDING LIGHT FULL LEFT}

IF (SWITCH RIGHT){LANDING LIGHT FULL RIGHT}

IF (SWITCH LEFT & SWITCH RIGHT){LANDING LIGHT CENTERED}

That would give the effect of having a switch for each side.

This would be possible if I find an ofset where I can send value to control angle of light.

I find ofset for landing light to put it on or of, but no one to control angle degree of it.

If can find LANDING_LIGHT_LEFT

LANDING_LIGHT_RIGHT

There is an ofset somwhere isn't?

Thank you

Link to comment
Share on other sites

I found in fs 2004 control list these values.

LANDING_LIGHT_LEFT

LANDING_LIGHT_RIGHT

If I asign it to a switch you can see the light moving left or right.

Of course this is not the efect i want.

Those controls (there are others for moving the light beam all over the place) are actually intended for use with helicopters on search and rescue operations and the like. They are really steerable spotlight controls.

I find ofset for landing light to put it on or of, but no one to control angle degree of it.

If can find LANDING_LIGHT_LEFT

LANDING_LIGHT_RIGHT

There is an ofset somwhere isn't?

No. I have only translated some controls into offsets -- to be precise, those which were operable via offsets in previous releases, especially FS98. This was for compatibility.

You should understand that with many of the offsets, in FS2004 (or even earlier), FSUIPC has to react to your writing a value and send the appropriate control to FS on your behalf. That is all that is happening internally. FS has become increasingly procedural like this, with tightly protected black-box style C++ classes and private data. This is very very different from when I started, in FS98/FS2000 days, when most of its operations were dealt with by real offsets and real values in the GLOBALS.DLL!

You can still use any FS control you want, via an offset. Just write it to offset 3110, that is why that facility is provided.

Regards

Pete

Link to comment
Share on other sites

Since I am not a c++ programmer but verry interested at it, can you explain more about what is ofset 3110 and 3114?

Now you have confused me. I thought you were a programmer, otherwise why did you say "this would be possible if I find an ofset"? Now I gave you an offset you don't know how to program it?

Why not just program a button or switch for the controls you need instead. It is much easier than writing a program!

I am good with Epl , cfg files and Fsuipc stuff.

If you use EPIC, just use the button programming in FSUIPC for the controls you want.

I use fs interogate only to see ofset value.

Why? If you cannot program to use the offsets? I don't understand.

Regards,

Pete

Link to comment
Share on other sites

What I can do is to find an ofset then use:

FSUIPC_WRITE to send or read a value from it.

Before i use fs interogate to find the ofset I want.

I do this when i do not find the proper Pigeon hole i want.

If I use FSUIPC_WRITE_1=x,2,3110

I would be able to send a 16 bit value to ofset 3110.

But how to assign 3110 to LANDING_LIGHT_SET ?

Link to comment
Share on other sites

What I can do is to find an ofset then use:

FSUIPC_WRITE to send or read a value from it.

Fair enough, but that does seem a complicated way to do it when EPIC and EPL has methods to send button events, and in FSUIPC you have all the flexibility you need to program any such event to action any FS control. In fact you can program button events to write to FSUIPC offsets too -- see the FSUIPC documentation.

If I use FSUIPC_WRITE_1=x,2,3110

I would be able to send a 16 bit value to ofset 3110.

But how to assign 3110 to LANDING_LIGHT_SET ?

You simply send the numeric value for the control LANDING_LIGHT_SET to offset 3110. But it isn't 16-bit, it is 32-bit. So you'll have to send the upper half (first) to 3112 then the lower half to 3110 (the "actionable" offset is always the one stated in the SDK).

If it needs a parameter, that too may be 32-bit, so before touching 3112 and 3110 you'll have to send the upper half of the parameter to 3116 then the lower half to 3114.

The numeric equivalents of all the FS controls are given in the List of FS2004 Controls included in the FSUIPC Zip file. The list of the numeric equivalents of all of the Added FSUIPC controls is given in the Advanced User's Guide.

But I still think it would be far easier and certainly more efficient for you to use the facilities intended for this sort of thing, i.e. the buttons. After all, EPIC has access to 16 x 32 = 512 of them! Surely you've not used them all up?

Regards,

Pete

Link to comment
Share on other sites

pete this may be a stupit question but you wrote

quote:

But I still think it would be far easier and certainly more efficient for you to use the facilities intended for this sort of thing, i.e. the buttons. After all, EPIC has access to 16 x 32 = 512 of them! Surely you've not used them all up?

Regards,

Pete

I have the epic hardware and i do not understand how you access the 512 buttons. the main bd. has the exp. buss. the exp. bd allows 255 buttons. ie the 40 pin ribbon cable. where do the rest of the buttons come from?. ron.

Link to comment
Share on other sites

I have the epic hardware and i do not understand how you access the 512 buttons. the main bd. has 4 joystk ports and the exp. buss. the exp. bd allows 128 buttons. ie the 40 pin ribbon cable. where do the rest of the buttons come from?. ron.

Software. Do not confuse switches you connect to the EPIC with what the EPIC can signal to the PC via the EPL programming and the HID definitions you can make. Even way back in the days of MSDOS and ISA Epic cards I was using EPL to program many "software" buttons. It is one of the major advantages and flexibilities of the EPIC -- the interface the USB version presents to Windows is all software definable in your EPL.

I don't know if Ralph ever extended the USB version to 16 joystick devices -- the EPL and firmware I have only does up to 8. The old ISA card did 16, but that was via my own driver.

On each device you can have 6 axes, 1 (or maybe 2 now, on directinput) POVs, and 32 buttons. Even if you can only define 8 joysticks, that still gives you 256 buttons to play with.

Same with axes. The ISA EPIC only allowed 16 hardware axis attachments, but you could have 16 x 6 total axes recognised in Windows -- the other 80 were "soft axes", programmable in software to send any values you liked. This is again usable in FS2004 now that I've added axis assignment with "Raw" mode capabilities to FSUIPC.

I think Ralph now calls the "soft axes" something else. Maybe he calls the software buttons something else too.

Sorry, I certainly cannot help with modern USB EPIC programming in any way. Last time I messed with that was years ago. but there are EPL users forums and groups around. And Ralph is helpful when you ask him these things.

Regards,

Pete

Link to comment
Share on other sites

Since last week I tried many ways to send a value to LANDING_LIGHTS_SET without sucess.

Last think I did.

In my EPL code:

void Landing_lingts_btn.On(void){nqw(SetU3,16bit_value;}

This sent a 16bit value to U3 in epicinfo.cfg

In my epicinfo.cfg:

LANDING_LIGHTS_SET=U3

Of course I sent a 16bit to a 32 bit but i was sure to see some reaction.

Nothing at all.

I can do in my epicinfo.cfg:

FSUIPC_WRITE_9=U3,4,3110

But I dont understand how this ofset will control LANDING_LIGHTS_SET.

How to asign fs control to this ofset?

You see, I assume that LANDING_LIGHTS_SET would be the control where I can send a value and control the angle of the light.

I can easly assign an epic btn. to LANDING_LIGHTS_SET in FS9.cfg.

But this will result in a kind of beam scrolling left to right and this is not what I want.

Link to comment
Share on other sites

In my epicinfo.cfg:

LANDING_LIGHTS_SET=U3

Of course I sent a 16bit to a 32 bit but i was sure to see some reaction.

Nothing at all.

I think EpicInfo only knows a few axis controls. Certainly not that one. Aren't they listed in the documentation?

I can do in my epicinfo.cfg:

FSUIPC_WRITE_9=U3,4,3110

But I dont understand how this ofset will control LANDING_LIGHTS_SET.

How to asign fs control to this ofset?

I'm afraid you misunderstand still. Is the SDK documentation really so obscure, and my previous messages too? It is the CONTROL NUMBER you have to write to 3110. Look that up in the List of FS controls! You first need to write the value you want for it to 3114. I have told you this before!

You see, I assume that LANDING_LIGHTS_SET would be the control where I can send a value and control the angle of the light.

If that is what it does, yes. Are you sure? I've never tried it. But the offset 3110 is where you send the CONTROL, not the VALUE. The value goes to 3114, first.

The problem with trying to do this with EPIC soft axes is that you only have 16 bits. The control numbers for FS controls all need 32 bits, so you will have to write a value to 3114, then the upper part of the control number to 3112 then the lower part to 3110, in that order. It is writing to 3110 which triggers the action.

I can easly assign an epic btn. to LANDING_LIGHTS_SET in FS9.cfg. But this will result in a kind of beam scrolling left to right and this is not what I want.

Is LANDING_LIGHTS_SET acceptable to FS9 in its CFG? It usually deletes anything which doesn't figure in its assignments. If it is in its assignments, then why not do it there?

What I don't understand is why you are making it so complicated, and seemingly ignoring the advice I give you. If you can now make the EPIC send a button event, why not simply assign the button action to the LANDING LIGHT SET control in FSUIPC, and use the parameter facility there to set a fixed value? You can have different EPIC (virtual) buttons for different fixed values.

Alternatively, if you really want to use an axis, like U3, then check out the axis assignment facilities in FSUIPC 3.536 (in the Interim Versions announcement above). You would need to use 'RAW' mode to prevent the automatic Windows calibration changing the value.

Please review the assistance I've been trying to provide in this thread. You seem to be missing things, judging by what you have written this time.

Regards,

Pete

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.