there is no 3 states only on off because you only have on and off hal output and this can only use a single hal reader
That's a StatusLabel connected to the status channel, not a hal bit pin. And the logic is in the user_button.py file.
just an fyi why are you destroying the format and look of the ui.. your better than that!
I thought I was keeping the look quite true to your original. Same background colors, container shapes, borders, padding, etc for everything but the DRO. I wanted a bigger display for the main DRO and had the real estate. I even used the exact same halbar color scheme for the axis load indicators as you did on the spindle load bar.
As for format, I've mentioned a number of times (in other threads) I don't want/like any controls in the user interface that can cause physical machine movement. If I could get rid of the cycle start/stop buttons, jog panel, go-to-home/zero buttons I would... but those are in the base probe_basic.ui files I cant touch without going way off the reservation.
I understand having on-screen control buttons for the ATC and probing - those are just too convenient and would take up a massive number of physical inputs to replicate.
My physical control panel has all the 'standard' controls I need for routine machine operations: start/stop/feed-hold, jog, FRO/SRO/JRO/RRO, spindle control, flood/mist/blast/wash, plus man/mdi/auto mode and a home-all button plus a few undesignated spares. I like tactile controls and think touchscreens are dangerous... same opinion about modern cars, in fact.
So my compromise is to accept what's in the base ui, but change everything I can to indicators vs. buttons/controls. And get rid of the 'danger' buttons (DRO auto-zero HAD to go). Your somewhat-recent modification to permit keyboard jog disable was a huge win in my book!
I just pushed the changes to qtpyvcp for the halbutton flash option property in qtdesigner
You rock. I'll have a go at it tomorrow evening and report back.