These are the Support Forums for FSUIPC and related products.

These forums replace the old support forums which have been running for 20+ years. The old forums contain a wealth of information on all FSUIPC products, but are now no longer available.

Please note that you will need to Register and Login to post for support, and also to download attachments. You can view these forums without registering.

Support is also available via Discord. Please use the following invite link to join the FSUIPC Discord server:
https://discord.gg/zjwUTrxmmE

Tweak performance o...
 
Notifications
Clear all

Tweak performance of Rotary Encoder for alpha input to GPS500

Posts: 6
 AFB
Registered
Topic starter
(@afb)
Joined: 11 months ago

I use a Leo Bodnar BBI-32 board as the control interface for a custom switch/button panel I built to emulate the GPS500 in various FSX and P3D aircraft.

My version of FSUIPC 4 (4.9xxx) appears to be functioning pretty well to send actions sent from my Leo Bodnar BBI-32 board to the sim.  I say FSUIPC functions pretty well because the Dual Rotary Encoder used to input Alpha/Numeric characters into the GPS is somewhat  skittish.  Quite often I have to advance the Alpha knob 3-4 times to advance to the next Alpha/numeric character on the "DirectTo" and other alpha inputs on the GPS500.

The Bodner setup utility is set for a 20 detent encoder and 2 pulses per detent.  A handy utility called "DIView" shows that the pin the encoder is set to appears as a button that is Down ~1200ms and Up for ~80ms per each detent.  These are averaged timings since DIView reported varying ms values over several rotations.

At log line item 47421 or so I just rotated the Rotary encoder knob left and right about three times.  At this time it actually did advance/decrease normally but often this is not the case. I believe button 27 was the knob rotated clockwise and button 26 was the knob rotated counterclockwise.

I wonder if I could set up the operation of the rotary encoder in a different way to more precisely tune the physical rotation to the expected result of there being a 1 to 1 relationship between the 1 detent and 1 character change.  Please comment.  If there is a possibility that the encoder or it's setup software is more likely not sending consistent enough timed data to the sim please comment.

If there is any alternate way to control the Knob function I might try to program it so.


4 Replies
Posts: 402
Moderator
(@fsuipc-support)
Joined: 12 months ago

Can you please also attach your FSUIPC4.ini so that i can see your assignments. Also, does your rotary have one or two buttons (a fast and slow one) in each direction? Are the buttons different for the two dials (rotary knobs)? And do you have both of the dials assigned, or only one?


Reply
Posts: 6
 AFB
Registered
Topic starter
(@afb)
Joined: 11 months ago

I'll begin by saying I have achieved very acceptable results finally, partially due to application of further research and partially due to trial and error.  I'll go on to answer your questions momentarily because they do address the issue to a great extent. 

First the context. As I said in my initial post I had to often turn the knob several clicks before it would advance though the alphabet when setting waypoint/airport alpha identifiers. I surmised that there was some sort of problem with the pulse or pulse width being sent to FSUIPC so I thought that there might be a way I could tweak that aspect within FSUIPC.  The Vendor of the board provides two applications with the interface (button) board.  One to configure the board I/O and the other to display/log the output that FSUIPC sees when the encoders move one detent.  Tools to use in a "calibration" process.

After some time reading the FSUIPC logs and the I/O test logs over some trials runs, I concluded the the tweaking needed to be done with the Vendor's application and what I had did to assign the buttons to events in FSUIPC was the most direct way of getting the task done.

So now I will report what I found that led to the solution.  The "Dual" encoder with a push switch is a physical encoder which looks and acts like the Garmin500 modeled in FSX.  The inner knob and outer ring each are assigned to the "Page" & the "Page Group" events in SimConnect.  The push switch (inner knob pushed in = momentary switch.)

The Vendor's configure application maps the encoder device's pinouts to 5 buttons (9,25,26,27,28.) In FSUIPC I assign the 5 buttons to: 9=GPS Cursor, 24=GPS Group Decr, 25=GPS Group Incr, 26=GPS Pg Decr, 27=GPS Pg Incr.

Finally the best performance inside the Sim was the result of using the Vendors application to tweak the pulse width to ~104ms, and assigning the detent to pulse ratio to 1:1. In practice I don't rotate the knobs too fast either.

I have attached the FSUIPC log (edited to the events) and a log of the Vendor's calibration application.

 


Reply
Posts: 6
 AFB
Registered
Topic starter
(@afb)
Joined: 11 months ago

Apologies for the "had did" grammar in the third paragraph.  I am not illiterate. I should have previewed the reply for typos. though.

In para. four I should have said "The push switch (inner knob pushed in is a momentary switch) controls the GPS Cursor."


Reply
Posts: 402
Moderator
(@fsuipc-support)
Joined: 12 months ago

Thanks for the update. But the logs you attached don't mean much to me as I am not familiar with these rotaries or the software that drives them. But I am glad you seem to have solved your issue - ot at least improved the performance.

You may want to look into also tuning FSUIPC4 for this. Take a look at the PollInterval ini parameter on page 20 ofthe Advanced User manual - maybe tuning this to a value compatible with the pulse width you are setting may help. Also check the ButtonRepeat ini parameter.

Regards,

John


Reply