Control Panel Signal Selector

Hey Folks! More progress today on the control panel configuration UI. It's actually at the point now where certain settings result in a functional control panel! And work is shifting to fixing edge cases and bugs.

Here's a snapshot:


Choosing which input the control panel is wired to.

In the above image, we have "unscrewed" the control panel face, and are choosing which target device this control panel connects to via "wiring." In this case, the control panel (top left black box) has one input, "Input 1." Clicking that gold screw opens the list of options to the right.

For reference, this is the setup we're editing:


Two batteries linked by a conduit. Bottom battery is current selection.

The first input option is just empty. No signal.

The second option, "Self - ItmBattery01" means this input will be wired into the bottom battery (i.e. our self).

The third option is whatever is at the other end of the yellow conduit. In this case, another battery at the top of the layout.

Once we've chosen an option, the gold screw gets an icon next to it illustrating the currently attached choice. In this case, the yellow conduit. But if we chose "Self," it'd be blank, and if we chose nothing, it'd be a red "X."

Once we're done rewiring the control panel, we can click the "Done" button, and the panel's face will appear again. And provided we're connected to a device, the UI will show that device's status! (Note: the input choices will likely be filtered to only include valid options or "empty")

So far, so good! As I said, there's still a lot to be done fixing edge cases and bugs. UI elements need to be cleaned up when exiting. Invalid choices shouldn't crash. And we have yet to see how this works in more complex situations. But it was exciting to actually wire something up and see it work.

Next week, I may take a few days to switch to NEO Scavenger mobile and website stuff, as both of those projects have some milestones coming up. But I'll squeeze in more work on this where I can. Have a good weekend, all!