Replacing the full screen HMI

You can replace the QNX full screen HMI with one you have developed using the QNX Qt Development Framework.

SLM launches the full screen HMI via a script, qthmi-start.sh. This action is configured in $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/etc/slm-config-all.xml:

<SLM:component name="hmi">
   <SLM:command>/base/scripts/qthmi-start.sh</SLM:command>
   <SLM:stop stop="signal">SIGTERM</SLM:stop>
   <SLM:envvar>APP_MEDIA_KB_PATH=/base/usr/anm/bin/keyboard</SLM:envvar>
   <SLM:envvar>APP_MEDIA_ASSET_PATH=/base/usr/anm/share/appmedia11</SLM:envvar>
   <SLM:envvar>QQNX_PHYSICAL_SCREEN_SIZE=150,90</SLM:envvar>
   <SLM:depend>symlink_hmi</SLM:depend>
   <SLM:depend>symlink_base</SLM:depend>
   <SLM:depend>iopkt</SLM:depend>
   <SLM:depend>pps</SLM:depend>
   <SLM:depend>calib-done</SLM:depend>
   <SLM:depend>keyboard</SLM:depend>
   <SLM:depend>screen-ready</SLM:depend>
</SLM:component>

The qthmi-start.sh script is located in $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/scripts/. It invokes the executable called QtSimpleHMI, which is located in the base_dir/target/qnx6/architecture/usr/anm/bin directory.

The QtSimpleHMI is included in the basefs.anm.qt.xml fileset in the $QNX_DEPLOYMENT_WORKSPACE/infra/product/AnM/filesets/ directory.

To replace the default full screen HMI with your own HMI:

  1. Place your HMI executable file in the base_dir/target/qnx6/architecture/usr/anm/bin directory.
  2. In the services-enabled file in the $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/boards/board-specific/var/etc directory, enable the full screen HMI by changing:
    QTHOMESCREEN:true
    to
    QTHOMESCREEN:false
  3. In the basefs.anm.qt.xml fileset in the $QNX_DEPLOYMENT_WORKSPACE/infra/product/AnM/filesets/ directory, replace QtSimpleHMI with the name of your HMI executable.
  4. In the qthmi-start.sh script located in the $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/scripts/ directory, replace QtSimpleHMI with the name of your HMI executable.
  5. Rebuild your target image by following the instructions for your board in "Building a target image."
  6. Follow the instructions for transferring an image and booting your board.