If there’s one thing you learn when doing a hardware cockpit with the PMDG 737NGX is that the SDK isn’t perfect. Namely it sends values that don’t match whats happening in the cockpit.
A perfect example of this is the ‘Cold and Dark’ Cockpit. There’s no power so nothing is on in the VC, yet the SDK is pushing “on” values to various MIP indicators, such as the landing gear, sixpacks, and Master Caution. So my MIP would be lit up when it shouldn’t be.
This weekend I finally sat down and re-did my SIOC code using some subroutines to fix that.
Basically instead of just reading the state of the indicator, I first read the state of the battery switch on the Overhead. If it’s off, all the indicators are turned off. If it’s on, it then calls the Subroutine to check the indicator’s state. So I know my hardware items finally match what really should be happening.
I’ve posted a copy of my updated code here. As always, you’re welcome to use it but will need to update Device/Output numbers for your setup.