DisplayManager
App responsible for setting up contexts, windows, display, etc.
Research
LSD.JXE references
import de.audi.atip.hmi.view.IDisplayManager;
import de.audi.tghu.fwhmi.IDisplayManagerKombiControl;
import de.esolutions.hmi.widgets.audi.evo.DisplayControllerEvo;
private static void initializeDisplayableMapping() { DisplayManager.displayableMapping[0] = 16; DisplayManager.displayableMapping[1] = 17; DisplayManager.displayableMapping[2] = 18; DisplayManager.displayableMapping[3] = 19; DisplayManager.displayableMapping[4] = 20; DisplayManager.displayableMapping[5] = 21; DisplayManager.displayableMapping[7] = 23; DisplayManager.displayableMapping[8] = 25; DisplayManager.displayableMapping[14] = 34; DisplayManager.displayableMapping[9] = 26; DisplayManager.displayableMapping[10] = 27; DisplayManager.displayableMapping[11] = 28; DisplayManager.displayableMapping[12] = 22; DisplayManager.displayableMapping[13] = 24; DisplayManager.displayableMapping[15] = 36; DisplayManager.displayableMapping[16] = 41; DisplayManager.displayableMapping[17] = 50; DisplayManager.displayableMapping[18] = 39; }
private final void initDSI() { if (!this.initialized) { if (this.dsiDispMgmt != null) { this.defineContexts(); this.dsiDispMgmt.declareContexts(this.dc); this.configureDM(); this.initialized = true; } else { this.log.log(10000, "DSI service is NULL"); } } }
@Override protected void configureDM() { if (this.framework.getSysConst(541) == 2) { this.createImageDisplayable(new ResourceLocator(102, "/mnt/app/eso/hmi/lsd/images/HMISystemEvoHigh/987.png"), 102); this.createImageDisplayable(new ResourceLocator(101, "/mnt/app/eso/hmi/lsd/images/HMISystemEvoHigh/987.png"), 101); } }
private boolean isVideoOnlyContext(int n) { switch (n) { case 67: { return true; } case 68: { return true; } case 69: { return true; } case 70: { return true; } case 71: { return true; } } return false; }
@Override public void declareContexts(DisplayContext[] displayContextArray) { DSIDisplayManagementProxy$1 dSIDisplayManagementProxy$1 = new DSIDisplayManagementProxy$1(this, displayContextArray); this.proxy.remoteCallMethod((short)3, dSIDisplayManagementProxy$1); }
Parameters
Sadly there's no use displaymanager
info that would show us how to fully use the potential of displaymanager. Luckily there's DisplayManager Debug Tool with nice description.
But still I would like to know how the displaymanager works when controlled directly. Below info was found by accident in system references to the displaymanager binary.
-splashShow 1
-splash
-2nd
-dbg
-dbgcl
Examples
Used by the start script to show splashscreen animation:
./displaymanager -splashShow 1 -splash /eso/lib/splash.psse -2nd libdmfw.so -dbg 0 -dbgcl 1 -t