DisplayManager: Difference between revisions

From MIB-Helper.com Wiki
Jump to navigation Jump to search
Created page with "App responsible for setting up contexts, windows, display, etc. Example ./displaymanager -splashShow 1 -splash /eso/lib/splash.psse -2nd libdmfw.so -dbg 0 -dbgcl 1 -t"
 
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
App responsible for setting up contexts, windows, display, etc.
App responsible for setting up contexts, windows, display, etc.  


Example
== 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) { //isClusterFPK
            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
protected void defineContexts() {
  this.dc = this.framework.getKombiType() == 4 ? new DisplayContext[158] : new DisplayContext[79];
  this.dc[0] = new DisplayContext(0, new int[]{16});
  //...//
}
 
@Override
public void declareContexts(DisplayContext[] displayContextArray) {
  DSIDisplayManagementProxy$1 dSIDisplayManagementProxy$1 = new DSIDisplayManagementProxy$1(this, displayContextArray);
  this.proxy.remoteCallMethod((short)3, dSIDisplayManagementProxy$1);
}
 
Here's a reference to one of the parameters that loads some textures as displayables? Most likely a background for the turn-by-turn navigation contexts.
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);
  }
}
 
=== Parameters ===
Sadly there's no <code>use displaymanager</code> info that would show us how to fully use the potential of displaymanager. Luckily there's [[DisplayManager Debug Tool (dmdt)|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.
 
* <code>-splashShow 1</code>
* <code>-splash </code>
* <code>-2nd</code>
* <code>-dbg</code>
* <code>-dbgcl</code>
 
== 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
  ./displaymanager -splashShow 1 -splash /eso/lib/splash.psse -2nd libdmfw.so -dbg 0 -dbgcl 1 -t
== Other... ==
=== Hardcoded paths ===
No idea why, but some texture paths are hardcoded into the <code>displaymanager</code> binary.
* <code>/fs/sda0/media/800.png</code>
* <code>/fs/sda0/audi.png</code>
* <code>/fs/sda0/audi_black.png</code>

Latest revision as of 18:43, 14 February 2026

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) { //isClusterFPK
           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
protected void defineContexts() {
  this.dc = this.framework.getKombiType() == 4 ? new DisplayContext[158] : new DisplayContext[79];
 this.dc[0] = new DisplayContext(0, new int[]{16});
 //...//
}
@Override
public void declareContexts(DisplayContext[] displayContextArray) {
 DSIDisplayManagementProxy$1 dSIDisplayManagementProxy$1 = new DSIDisplayManagementProxy$1(this, displayContextArray);
 this.proxy.remoteCallMethod((short)3, dSIDisplayManagementProxy$1);
}

Here's a reference to one of the parameters that loads some textures as displayables? Most likely a background for the turn-by-turn navigation contexts.

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);
 }
}

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

Other...

Hardcoded paths

No idea why, but some texture paths are hardcoded into the displaymanager binary.

  • /fs/sda0/media/800.png
  • /fs/sda0/audi.png
  • /fs/sda0/audi_black.png