Just in case anyone is interested, here's a quick reference ...
To send brightness pushbutton commands into PSX to a certain CDU, the interface needs to use these variables for the related CDU (L, R, or C) as shown in Aerowinx/Developers/Variables.txt:
Qh428="BrtPushCduL"; Mode=ECON; Min=-1; Max=1;
Qh429="BrtPushCduC"; Mode=ECON; Min=-1; Max=1;
Qh430="BrtPushCduR"; Mode=ECON; Min=-1; Max=1;
For example, to send a "minus pushed" event to CDU L, send this text to PSX:
Qh428=-1
To send a "plus pushed" event to CDU L, send this text to PSX:
Qh428=1
To send a "brightness button released" event to CDU L, send this text to PSX:
Qh428=0
Such an event needs to be sent only when it happens, once, not permanently. And these LCD specific events should only be sent when PSX is simulating LCD CDU models (i.e. brightness pushbuttons instead of pots).
To check whether PSX is simulating an LCD CDU, the interface needs to read this variable from PSX:
Qi248="CfgPin2Prog"; Mode=ECON; Min=-2147483648; Max=2147483647;
The PSX network sends this:
Qi248=[any integer value]
The integer that Qi248 delivers is a bitmask value:
if ( ( value & 524288 ) != 0 ) then CduL = LCD
if ( ( value & 1048576 ) != 0 ) then CduR = LCD
if ( ( value & 2097152 ) != 0 ) then CduC = LCD
Regards,
|-|ardy