Jump to content
The simFlight Network Forums

Help with lua script for tiller


Recommended Posts

Hi pete,

I recently purchased a cockpitsonic tiller. Unfortunatly it is not a game hid usb so fsuipc can not see it. I ama cockpitbuilder and use prosim and ehid ( a utility which uses xml and communicates with prosim)

I understand that for tiller to work, fsuipc has to control it. Unfotrunately is nit composed of a leo bodnar joystick usb board. I also understand that via lua script we can identify the tiller and hopefully make it work with fsuipc.

I have an xml file that has the identification of the hardware. In addition through properties of the usb i can get details of the specs of the tiller.

I was wondering if you help me with the steps to make it work ( isnthe above logic correct). Give me an example of the lua script and so i can replace it with the product hardware specs.

I hope you can help.

I am a reistered fsuipc and widex user.

Thank you.

Link to comment
Share on other sites

I have an xml file that has the identification of the hardware. In addition through properties of the usb i can get details of the specs of the tiller.

I was wondering if you help me with the steps to make it work ( isnthe above logic correct). Give me an example of the lua script and so i can replace it with the product hardware specs.

 

You'll need to look at the HID examples for Lua, in the Lua packages provided. I would find it very difficult to help at all with no information. you'll need to try, see what you get, then come back with your results and maybe then I can see what you can do.

 

Pete

Link to comment
Share on other sites

Thanks pete,

 

I was looking at the examples and the one that comes to mind is the event.offsetmask.

 

However, I was wondering if I can use it directly in fsuipc. i use the offsets of steering tiller from fsinterrogator and link to the hardware offsets from the xml file (specific for hardware). Would that work as a workaround to using lua.

 

I am not a software expert so the logic may be wrong. is there a possibility for it to work through fs-interrogator instead? Logically, we have two variables. The hardware specifics addresses linked to the offsets for fs for the tiller in order to have communication between each other. Is this correct?

 

Your guidance is much appreciated.

Link to comment
Share on other sites

I was looking at the examples and the one that comes to mind is the event.offsetmask.

 

That's not an "example", it's a Lua function. The examples are programs, in the ZIP package, files with .lua filetypes!

 

I may have misunderstood you, but I thought you were talking about interfacing a hardware tiller device which isn't a standard joystick type and for which therefore you needed to use the Lua HID facilities in the com library. Are you now saying you have a driver for the device and can make it write through FSUIPC to offsets?

 

Perhaps you ought to explain more specifically what it is you think you need to do?

 

Pete

Link to comment
Share on other sites

Thanks pete for your reply.

To clarify, you are right it is not a joystick hid that can be seen by windows or fsuipc. It is seen as other hid usb device, unfortunately.

It does come with a driver that is called ehid, a german company uwe schneider makes it if you google it. It communicates with prosim, but not with fsx directly, hence there is an xml file with the specs of the tiller hardware whic interfaces with prosim. However, prosim does not have a tiller functionality. Therefore the link between the hardware via ehid via prosim is broken.

Since lua is complicted for me, i was thinking of using fs interrogator as the link between the hardware and fsx.. We need fsuipc to identify the hardware as it has a tiller functionality.

Now the question if i post the xml file would you be able to help. The xml file has the specs of the hardware. We need to link to fsuipc.

I hope this is understandable. At least this is my own understanding of the issue.

Do we need to use lua, or can we just do it through fsuipc, on the premise xml file may have the needed spec info to establish communication. This is the issue the tiller works fine. I can even calibrate it using ehid.

Many thanks.

Link to comment
Share on other sites

TTo clarify, you are right it is not a joystick hid that can be seen by windows or fsuipc. It is seen as other hid usb device, unfortunately.

It does come with a driver that is called ehid, a german company uwe schneider makes it if you google it. It communicates with prosim, but not with fsx directly, 

 

But I assume it communicates with ProSim via FSUIPC offsets? I think EHID is not ProSim-specific, it is used with other cockpit packages too, like SimAvionics and Project Magenta, is it not?

 

Since lua is complicted for me, i was thinking of using fs interrogator as the link between the hardware and fsx.

 

But FSInterrogate is simply a utility to allow you to read and write FSUIPC offsets by hand, i.e. using the keyboard. It doesn't interface to anything but FSUIPC. There are no hardware drivers!

 

We need fsuipc to identify the hardware as it has a tiller functionality.

 

 

 

FSUIPC knows nothing at all about hardware. The Lua com library does allow you to read and write to any USB or serial port device, but you have to do some programming. There's no other way unlist your EHID driver is writing the tiller value to an FSUIPC offset somewhere -- if it is, then the rest is very easy.

 

on the premise xml file may have the needed spec info to establish communication

 

XML is just a collection of data definitions. It is not a program in its own right. What program is using the data in the XML, and what then happens?

 

Pete

Link to comment
Share on other sites

thanks pete.

That was helpful. I think fs2phidget may be the answer. Since the tiller is not a leo bodnar joystick. There is a high likelihood it is a phidget.

I saw on forums that interfacing fsuipc and fs2phidgits has been a success and will be easier to do than lua script.

I will attempt it.

Thanks again.

Link to comment
Share on other sites

Hi pete..

The tiller is not made of a phidget board unfotunately.

Ehid reads the xml definitions of the hardware and communicates wih prosim. How, i do not know.

From what you say fsinterrogater wont work either.

This leaves us with lua as it reads hardeware. The xml file only give the hardeware identifications, which will help in lua scripting.

Now i just need a lua file for a tiller interface for fsuipc. Hopefully, i can substitute the hardware with specs of the tiller i own.

Who can help me with a lua script for a tiller. As i do not know what to do given by lackof prgramming skills.

Thanks.

Link to comment
Share on other sites

This leaves us with lua as it reads hardeware. The xml file only give the hardeware identifications, which will help in lua scripting.

Now i just need a lua file for a tiller interface for fsuipc. Hopefully, i can substitute the hardware with specs of the tiller i own.

Who can help me with a lua script for a tiller. As i do not know what to do given by lackof prgramming skills.

 

Haven't you even looked at any of the examples yet? Try HidDemo.lua, for instance. Take a look at that.

 

For a normal joystick HID device things are relatively simple. If the device has its own protocol and formats it will need effort by you to decode the data. My HidScanner program will help a lot there as it gives a breakdown of the positions for most standard inputs. You can download that from the Download Links subforum.

 

Pete

Link to comment
Share on other sites

Ok pete

I did the hid scanner and got the details of the tiller device.

I also experimenting with lua script based on demo file.

I have a question. Can i use lua file just to open the hid device only and the may can do the offset programming in fsuipc rather than in lua script. Or do i have to identify axis or buttons in lua before fsuipc can see them. Not enough just to identify device.

This will reduce script writing. As tiller offset are easy to prgram in fsuipc. I just need fsuipc to see the device.

Is this logic right. Many thanks

Link to comment
Share on other sites

I have a question. Can i use lua file just to open the hid device only and the may can do the offset programming in fsuipc rather than in lua script. Or do i have to identify axis or buttons in lua before fsuipc can see them. Not enough just to identify device.

This will reduce script writing. As tiller offset are easy to prgram in fsuipc. I just need fsuipc to see the device.

Is this logic right. Many thanks

 

No. FSUIPC does NOT see hardware at all! It is an interface into FS, not to hardware. The buttons and switches it sees are only seen because Windows sees them and supplies the values. You seem to have a complete misunderstanding of what FSUIPC is!

 

To interface any hardware which isn't recognised by Windows as a joystick or keyboard or mouse you need a driver which either makes the device look like a joystick or keyboard or mouse, or supplies values direct into FSUIPC's offsets.. You can write one in Lua, because FSUIPC's Lua libraries include COM and HID functions to read and write serial port and USB devices. But you have to do the programming! Either that, or use the driver your device came with -- i.e. EHID.

 

Pete

Link to comment
Share on other sites

Thanks pete again.

 

Fully understood. I got fsuipc to open the lua file and identify the tiller. :razz:

 

Now I only have to do the script for the offsets. My tiller's board is buttons rather than axis. (HIDscanner proof)

 

I am researching now how to do the offsets. Any help on that part of the script or to guide me where I can find script for this, would be much appreciated.

 

Many thanks.

Link to comment
Share on other sites

If you want to use FSUIPC's tiller option, along with an assigned and calibrated rudder, so that effectiveness gradually transfers from one to the other on the ground, you simply need to find the FSUIPC tiller control number (there's a list in the Advanced Users manual), and write the axis value to offset 3114 using IPC.writeSD, then the control number to 3110 in the same way.

If you prefer, you can use FSX's own steering axis -- look up the control number for that in the FSX controls list.

I'm very surprised your "tiller" only has button inputs. That seems crazy. Not sure how you'd want to use that. You need a proper axis really. You'd have to maintain an axis value and use the buttons to increment and decrement it. Ugh!

Link to comment
Share on other sites

You are right, the axis issue is complicating things. I am lost in how to program it.

 

I was thinking that since ehid(hardware software)  uses tcp communication. EHID does a good job with the hardware, maybe I should use a lua socket instead and lin fsuipc to ehid via a lua socket. Would that work? and second how to write the script for it? many thanks. Prosim communicates to ehid via tcp ip address.

 

I am out of my league with the regards to this highly technical issue so I do appreciate your help.

 

many thanks.

Link to comment
Share on other sites

You are right, the axis issue is complicating things. I am lost in how to program it.

 

I was thinking that since ehid(hardware software)  uses tcp communication. EHID does a good job with the hardware, maybe I should use a lua socket instead and lin fsuipc to ehid via a lua socket. Would that work? and second how to write the script for it? many thanks. Prosim communicates to ehid via tcp ip address.

 

Writing a Lua program to deal with sockets is likely to be more complex than the other method. All I can do really is point you to the socket examples supplied.

 

Why did you get this tiller if you weren't going to use ProSim? Can't the supplier help you interface to FS without ProSim? Seems odd that they make hardware suited to only one system software.

 

Pete

Link to comment
Share on other sites

Thanks pete.

I will continue to experiment using lua script without the socket.

The ehid does communicate withe prosim, which i have, but prosim does not have the tiller functionality to relay the data to fsx.

The supplier has accepted to provide me with a leo board adapter, to replace the current on, as this is the best solution for this problem.

Thanks 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.