8000 Saitex X52 Y rotation not working · Issue #283 · vrpn/vrpn · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Saitex X52 Y rotation not working #283

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
bclay1297 opened this issue Jan 16, 2023 · 8 comments
Open

Saitex X52 Y rotation not working #283

bclay1297 opened this issue Jan 16, 2023 · 8 comments

Comments

@bclay1297
Copy link

I am using an Saitek X52 control system not the Pro version. I can see a change in the X52 HOTA properties app when I rotate the top knob on the throttle but the change does not show up in VRPN. AnalogDataChanged does not report a change when the knob is moved.

@russell-taylor
Copy link
Contributor

I would expect the product ID to be different on the X52 than on the Pro, so the device will probably not open on the server.

static const vrpn_uint16 SAITEK_VENDOR = 0x06a3;
static const vrpn_uint16 ST290_PRO = 0x0d60;

If you can use vrpn_hid_device_watcher on that device, then it exists and you can see if you get data from it.

What operating system are you running on?

@bclay1297
Copy link
Author
bclay1297 commented Jan 18, 2023 via email

@russell-taylor
Copy link
Contributor

That's very promising. The decodePacket() function at https://github.com/vrpn/vrpn/blob/master/vrpn_Saitek_Controller_Raw.C#L180 would need to be generalized to handle the additional analog and button when they exist. You can use the HID device watcher mentioned above to print hex values for all of the bytes and watch how they change when you change the controller to figure out where things are encoded.

I'd love to get a pull request with the updated parser when you're done. Or you can send me one of the devices and I'll do it. :-)

@bclay1297
Copy link
Author
bclay1297 commented Jan 20, 2023 via email

@russell-taylor
Copy link
Contributor

You need to convert the hexadecimal vendor and product IDs to decimal and put in the integers. It was taking your inputs as 0 0.

@bclay1297
Copy link
Author
bclay1297 commented Jan 23, 2023 via email

@bclay1297
Copy link
Author
bclay1297 commented Jan 23, 2023 via email

@russell-taylor
Copy link
Contributor

Those errors come when the name of the device on the client side does not match the name of the device on the server side. It looks like it is named something like vrpn_Saitek_X52@localhost on the client side. The server configuration file (or whatever code you are using to generate the server) is picking another name. The ones in the config file are things like saitek0. If that's what you're using, then the client-side name should change. You should be able to use vrpn_print_devices to print it in addition to your custom client code if you'd prefer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
0