Hi,
I've received some more information about the DRO 39 situation to pass along.
First, I'm not sure this helps, but the problem is not unique to the Huanyang plug-in.
With both the Huanyang VFD plug-in and the VIstaCNC tach plug-in, no index pulses appear on any input pin to mach. Hence Mach sets the value of DRO 39 to 0. Further, DRO 39 is "special" in that it is normally (almost always) is set by Mach - so if the plug-ins attempt to update the DRO from plug-in code, Mach will often overwrite the value the plug-in wrote.
Which code (mach or plug-in) will be the last to update each time thru the mach 1/10 sec refresh loop, is indeterminate (I'm told mach runs this loop as as a timing race condition). This is also why some people can see the Huangyang plug-in work with the 1024.set screen but not with MSM and (Some other screen sets) - the way mach fires of threads internally and hence when they get run within this race condition are different between the screen sets.
There is a way for a plug-in to take over DRO 39 and update it - however, currently, a plug-in which attempts to do so must be a full motion plug-in - i.e. it must be handling all motion for mach (otherwise mach's motion code, including the code that updates DRO 39) is still being run.
Neither the Huanyang VFD plug-in or the VistaCNC tach plug-ins are "full motion" plug-ins. Therefore they are unable to update DRO 39.
The requirement that only a full motion plug-in can update DRO 39 may change in a future version of mach, but that ability does not exist in mach as of today.
To muddy the waters a bit more, it may have been possible for a non-full motion plug-in to update DRO 39 with some older versions of mach (it changed when art did some changes to how the mach driver determines timing) - this is likely the reason that the plug-in authors think they have seen it work in the past.
In any case the mach versions where that may be possible are not mach versions that can support MSM.
Until Mach is revised and a change makes it into a mach release, the only option is to have the plug-in update a user space DRO # and for the user to edit MSM to change the RPM DRO # from 39 to that #.
Some "RPM plug-ins" already offer the ability to update an user space DRO instead of DRO 39.
Because a) different plug-ins use different alternative user DRO#s, and b) mach does not provide support dynamically altering a screen DRO # at run time, MSM can't automate this for the user.
If you are using a plug-in to derive RPM, then you will need to customize MSM for use with that plug-in.
The good news is that this works fine as this is what several Huanyang plug-in users have successfully done to integrate MSM and the Huanyang plug-in.
Dave