It seems there are still two issues that make elevator trim somewhat unrealistic - but it’s still better than a poke in the eye with a sharp stick. First it seems like an external device can not send data fast enough to make the trim tab move far enough to cause a representative change in the plane’s attitude - and it seems that some button presses are even being ignored. With a 32ms button down time and a 32ms wait time before the next press can be sent - at best only 15 presses can be sent in the period of 1 second. And this doesn’t count any of the tragic overhead the Arduino joystick library adds. I just looked at the source code for how that library works, and that’s an unnecessary cycle eater for this application. No idea yet how much the HID library is adding on top of that. The next problem is the latency in which elevator trim effects the flight model. In a real 172 or any Cessna single engine piston plane with the throttle at least at 60% the effect of the elevator trim tab is nearly instantaneous. The sim seems to take about 3-4 seconds for trim to take effect and this induces an evil amount of porpoising when trying to correct it. Cant’ do anything about that one Asobo has to modify that reaction.
An interesting experiment might be to time the encoder’s pulses and if they are close together, just keep the button pressed, sort of like what the trim switch on the Alpha does when you keep it pressed - but then that odd delay before the trim starts moving is invoked. No idea why they did that. I have a real T210N with an electric trim switch on the yoke and there is not any delay in the plane’s attitude change when that button is pressed.