User Tools

Site Tools


agl-demonstrator:home_screen

Home Screen

Summary

The Home screen is the default screen presented once the application is launched. The screen provides access to system settings and to all standard installed applications.

Resources

Watch Home Screen video.

Access the Design Requirements Document (DRD).

Access the Sources.

Download the Application WGT.

What the app does

The home screen presents these options:

  1. Icon list which provides access to the main applications installed.
  2. Settings menu for system-level options.
  3. Date and Time information.
  4. Seven (7) Info-Dials which open the major applications including Smart Device Link, Media Player, HVAC controls, Navigation, the Dashboard and the Store application.
  5. Icon to list all installed applications.

In all application instances, a simple touch is all that is required to launch a given application.

Technical Details

The sections below are taken from directions for what is known as the September Release of Tizen 3.0 IVI. The current Tizen release is dated 2014.01.14, and may require some adjustment.

Installation Prerequisites

The following installation directions take the base Tizen image and install needed supporting software.

Modify Weston

For correct resolution setup and orientation modify /etc/xdg/weston/weston.ini as you have your display connected to HDMI port, modify [output] section, like the following:

[output]
   name=HDMI1
   mode=1280x720@60.0
   transform=90

   [output]
   name=HDMI2
   mode=off

   [output]
   name=HDMI3
   mode=1280x720@60.0
   transform=90

   [output]
   name=VGA1
   mode=off

Note: This config is created as common for both NDIS166 and NUC. (HDMI1 - NUC HDMI1 output, HDMI2 - NUC HDMI2 and NDIS166 DVI output, HDMI3 - NDIS166 HDMI output, VGA - NDIS166 VGA output)

In [core] section, disable ICO Homescreen (ico_plugin_loader.so) and load desktop-shell.so:

[core]
   #modules=ico_plugin_loader.so
   modules=desktop-shell.so

Reboot NDiS166.

Auto-Launching HomeScreen application

For automatic startup of HomeScreen application create launcher shell script /usr/lib/systemd/system/poc_launcher.sh, that will keep checking until HomeScreen app is up and running (has pid), then break the loop and finish/close the script:

#!/bin/bash

  # extra wait time before first start-up
  # this is a workaroud for some strange behaviour of webkit/WebProcess(?)
   <nowiki># note from testing: range 6 to 12 is unsafe and will break webkit/webProcess(?) behaviour (reason unknown)

  sleep 2

  # start intelPoc10.HomeScreen app
  /usr/bin/wrt-launcher -s intelPoc10.HomeScreen

  # check if app is up and running after 10s, if not try to start it again
   sleep 10
   while true; do
       proc=`ps aux | grep i[n]telPoc10.HomeScreen` # [] used to exclude grep itself
       set -- $proc
       if [ -z "$2" ]; then
           # the application is not running - start it again
           /usr/bin/wrt-launcher -s intelPoc10.HomeScreen
       else
           break
       fi
       sleep 5 # check every 5 second
   done

and make it executable: chmod +x /usr/lib/systemd/system/poc_launcher.sh

Create systemd's init script /usr/lib/systemd/system/poc.service with the following content:

[Unit]
   Description=Intel POC HomeScreen application

   After=ac.target

   [Service]
   ExecStart=/usr/lib/systemd/system/poc_launcher.sh

   [Install]
   WantedBy=graphical.target

Auto-enable it by running (as root):

systemctl enable poc

Note: As you haven't installed wgt applications yet, this service will fail to start HomeScreen application after reboot for now.

Instructions for debugging WRT Apps (installation, removal, and deployment)

Tizen IVI WRT applications are built into widget ('.wgt') files for deployment (a format based on the W3C widget specification, see http://www.w3.org/TR/widgets/ for more information). Once you have built or received the widget files for one or more applications that you wish to deploy and run, the next step is to copy them onto the target device. Common options for this would be tools like scp/sftp (in a Linux/Unix environment), FileZilla (Windows and Mac) or Cyberduck (Mac).

Once the .wgt files have been transferred to the target machine, they may be installed, launched and uninstalled.

To get a list of currently installed applications, use the following command from a terminal (or remote shell/ssh session) on the target hardware (log in as root with the password tizen):

root:~> wrt-launcher -l

This will produce output similar to the following:

No Name Version GUID Package ID App ID
1 saythis 1.0.0 http://yourdomain/sayThis lYjFlj49Q4 lYjFlj49Q4.saythis
2 Settings 1.0.0 http://yourdomain/Settings ODBQpKvkS1 ODBQpKvkS1.Settings
3 MediaPlayer 1.0.0 http://yourdomain/MediaPlayer t8j6HTRpuz t8j6HTRpuz.MediaPlayer
4 Store 8.2.4401 http://com.intel.tizen/store intelPoc13 intelPoc13.Store
5 Phone 8.2.4399 http://com.intel.tizen/phone intelPoc15 intelPoc15.phone

If the application you wish to install is not already installed, simply enter (using intelPoc16.HVAC.wgt as an example):

root:~> wrt-installer -i intelPoc16.HVAC.wgt

If successful, you should see output such as the following:

===========================================================
   # wrt-installer #
   # argc [3]
   # argv[0] = [wrt-installer]
   # argv[1] = [-i]
   # argv[2] = [intelPoc16.HVAC.wgt]
    
   ## wrt-installer : intelPoc16.HVAC installation was successful.
   ===========================================================

If unsuccessful, you may see errors such as 'invalid widget package', 'privilege level violation' or, if the application is already installed (and its widget file was built with a different signature than the one you wish to install), 'invalid signature'. The first two errors are out of scope for this document.

If you see 'invalid signature', and the widget file has to your knowledge been created with a valid signature, the likely cause is a conflict between the signature of the currently installed version and that of the new version. Though both signatures may be valid, the system treats the upgrade of an existing package with a different signature as a security violation. To work around this issue, simply uninstall the application and subsequently install the new version:

root:~> wrt-installer -un intelPoc16.HVAC      <-- note: use the App ID when 
un-installing and the full widget filename when installing

If the uninstall is successful, you should see output like the following:

===========================================================
   # wrt-installer #
   # argc [3]
   # argv[0] = [wrt-installer]
   # argv[1] = [-un]
   # argv[2] = [intelPoc16.HVAC]
   ===========================================================
   ## wrt-installer : intelPoc16.HVAC uninstallation was successful.

Refer to installation instructions above for the subsequent installation steps.

In order to launch and run an installed application, issue the following command with the application's App ID as an argument:

root:~> wrt-launcher -s intelPoc16.HVAC

You should see the application start and run on the target device.

To launch the application in debug mode, add the '-d' flag:

root:~> wrt-launcher -d -s intelPoc16.HVAC

This will produce output like the following:

root:~/wgt> wrt-launcher -d -s intelPoc16.HVAC
   port: 36070
   result: launched

The port number referenced is a random high port which allows one to connect to the target device with a web browser using a URL of the form:

http://&lt;ip address or name of target device>:<port #>

For example:

http://192.168.1.223:36070

Once connected, you should see a single link in the upper right of the resulting web page, e.g.:

file:///opt/usr/apps/intelPoc16/res/wgt/index.html

Clicking that link will launch Webkit Web Inspector, a set of web development tools that should look familiar to users of Firefox Firebug or Chrome Dev Tools. Click the 'Console' icon in the toolbar to go to the Javascript console. Press ctrl-R, or type:

window.location.reload();

…to reload the application in order to display the startup/initialization functions associated with the app (since the app has already started by the time the debug interface is available).

To exit a running application, issue the following command with the application's App ID as an argument:

root:~> wrt-launcher -k intelPoc16.HVAC

Known Bugs

The following issues and limitations can be anticipated on the HomeScreen:

  • From HomeScreen, tap the three lines in center to show list of all applications. Tap AMB SIMULATOR to load amb simulator application. BEFORE TOUCHING ANYWHERE ELSE tap LOAD SCRIPT, and then tap randomizerDemo. After script loads, tap anywhere in the textArea. Application crashes. If textArea is tapped prior to tapping LOAD SCRIPT button, application does not crash when subsequent instructions are followed.
  • The HomeScreen application does not actually connect with the CAN (or VCAN) bus, so the data fields of the application (MPH, % Charge, Miles Range, Interior Temperature, Exterior Temperature) are not updated at this time.
  • Automotive Message Broker support for a CAN simulation is provided, but the simulation tool to simulate data is not provided at this time.
  • Currently applications (in particular HomeScreen) cannot terminate other applications because of W3C widget sandboxing. This is why applications launched from HomeScreen, and then exited (via the white ‘back’ arrow in the lower left-hand corner) cannot be re-launched from HomeScreen (HomeScreen thinks they are still running and essentially attempts to switch to a non-running application).

Release History

Features

  • Icon list which provides access to the main applications installed.
  • Settings menu for system-level options.
  • Date and Time information.
  • Seven (7) Info-Dials which open the major applications including Smart Device Link, Media Player, HVAC controls, Navigation, the Dashboard and the Store application.
  • Icon to list all installed applications.

Bug Fixes

  • INTIVIPOCII-21 Added Text to speech functionality in to HomeScreen
  • INTIVIPOCII-20 Create build script to deploy and package applications from original Intel PoC (HomeScreen, Music player, Phone application, Store application, Settings, Dashboard, Google Navigation and Intel Navigation)
  • INTIVIPOCII-64 Create common AMB plugin for Dashboard and HomeScreen
  • INTIVIPOCII-176 HVAC application cannot be opened from HomeScreen.
  • INTIVIPOCII-184 HomeScreen icon - brightness and size not matching the rest of icons
  • INTIVIPOCII-255 Memory leak
  • INTIVIPOCII-64 Change IviPoC_ properties to existing AMB properties
    • Example: IviPoC_Speed =⇒ Vehicle Speed
  • INTIVIPOCII-20 Switch day (blue) and night (green) theme based on AMB signal from Automotive Web API
  • INTIVIPOCII-22 Rework car indicators to listen to AMB signals (Java script/HTML5)
  • INTIVIPOCII-35 Add stop script functionality to AMB Simulator
  • INTIVIPOCII-371 With steering wheel plugin loaded exterior brightness is not changed
  • INTIVIPOCII-30 Refactor template file to use amb pluginimpl base class, create signal classes
  • INTIVIPOCII-35 Add amb console output
  • INTIVIPOCII-35 Add documentation comments to AMB simulator
  • INTIVIPOCII-35 Rework UI for signal generator in AMBSimulator
    • Change zones input grid and allow adding all zones for all signals and change text inputs visuals into theme inputs
  • INTIVIPOCII-35 Create randomize demo script for AMBSimulator
  • Randomizer does not work
  • INTIVIPOCII-169 Create AMB cans implugin
  • Generate mapping table for all AMB properties
    • Receives CAN frames from CANGen Plugin and translates them into AMB properties and update them in AMB
  • Fit AMB simulator UI to overall theme
  • Create AMB cangenplugin
    • AMB sink plugin similar to websocketsink. Based on websocket requests will generate CAN frames for CANSimPlugin
  • INTIVIPOCII-169 Generate mapping table for AMB properties
  • INTIVIPOCII-30 Refactor template file to use AmbPluginImpl as base class
  • INTIVIPOCII-310 Property library view is not refreshed after return from Search view
  • INTIVIPOCII-30 Provide optional toggle to anonymize AMB property names
agl-demonstrator/home_screen.txt · Last modified: 2016/02/16 08:49 by rzr