Emulator Control Panel

Before deploying your application, it is important that you test it in an environment similar to a real device.

You can run the application in the emulator, and test a variety of user scenarios, such as network access, audio input and out, and text messages. You can control the application in the emulator with mouse and keyboard buttons, like if you used an actual device.

During the run, you can use the Emulator Control Panel to inject events for several system options that the actual device provides. For example, by manipulating the optional battery, you can simulate the application in different charge environments.

The emulator controls consist of internal and external parts:

  • The HOME, Volume control and Back buttons, for example, are external parts controlling the device from the outside.

    In the emulator, the external parts are called the emulator control keys and menu.

  • Battery level and screen brightness, for example, are internal parts controlling the device from the inside. In the emulator, the internal parts are called the Emulator Control Panel.

Using the Control Keys and Menu

The control keys are visible on the emulator when you start it. To access the context menu, right-click the emulator. The following figure illustrates the TV and mobile emulator.

Figure: TV and mobile emulator

NoteYou can create a custom resolution emulator by using the Emulator Manager CLI, and launch it with the TV and mobile skin. It is not guaranteed that all the applications are correctly shown in the custom resolution.

Control Keys

The following hardware keys are available on the emulator:

  • Menu

    When tapped, it opens a list of options available for the current screen. This button can be used to delete an application on the TV platform.

  • Home

    When long-pressed, the Task switcher application opens as in a real device.

  • Back

    When tapped, the emulator returns to the previous screen.

  • Power

    You can power off the display by tapping the Power key in most general situations. Sometimes, the display does not power off though you tap the Power key. This is to guarantee the operation of a current application, such as the Stopwatch in the Clock application. If you tap the Power or Home key again, the display is powered on.

  • Volume Up and Volume Down (mobile only)

    When tapped, the volume changes accordingly.

  • Arrow keys (TV only)

    When tapped, the cursor or selection moves to the desired direction.

  • OK (TV only)

    When tapped, the item is selected.

 

You can access the context menu by right-clicking the emulator. In the menu, you can select:

  • Emulator name (the top row in the menu)

    The Detailed Info window is displayed, showing the Shortcut Info and VM Info tabs. The Shortcut Info tab lists the emulator keyboard shortcuts and the VM Info tab defines the virtual machine details.

    In Mac OS® X: To use the emulator keyboard shortcuts, open the Keyboard Setting dialog and switch your Mac function keys option to work as standard function keys.

    Table: VM Info

    Feature Description
    VM Name VM name
    Skin Name Skin name
    CPU Arch CPU architecture
    RAM Size RAM size (in MB)
    Display Target display resolution (in DPI; Dots Per Inch)
    Network connection NAT (Network Address Translation) or Bridged
    CPU Virtualization Whether hardware virtualization is supported
    GPU Virtualization Whether GPU virtualization is supported
    Platform Image Version Version of the used platform image
    Platform Image File Location of the used platform image
    Directory Sharing Whether host directory sharing is used
    File Shared Path Path to the shared host directory
    Kernel Log File Kernel log file path
    Emulator Log File Emulator (Qemu) log file path
    Emulator Version Tizen Emulator version
  • Always On Top

    Select this option to keep the emulator window on top of other windows.

  • Rotate (mobile only)

    Select either Portrait, Landscape, Reverse Portrait, or Reverse Landscape as the orientation of the emulator.

  • Scale (mobile only)

    Scale the size of the emulator between 1x, 1/2x (default), 3/4x, and 1/4x.

  • Advanced > Controller

    Show or hide the controller window.

    NoteThe Controller menu is not supported in the profile-specific skin.
  • Advanced > Screenshot

    Capture a screenshot of the emulator.

  • Advanced > About

    Display the emulator version and build time.

  • Advanced > Force Reboot

    Force the emulator to reboot. Since force rebooting the emulator can cause problems, use the reboot option from the SDB shell to reboot the emulator. Use Force Reboot only when absolutely necessary.

  • Advanced > Force Close

    Force the emulator to exit. Since force stopping the emulator can cause problems, use the Close option to exit the emulator. Use Force Close only when absolutely necessary.

  • Shell

    Open a Smart Development Bridge (SDB) shell command window.

  • Control Panel

    Help to control or monitor the state of the emulator dynamically.

  • Close

    Exit the emulator.

NoteIn Ubuntu, you must change a global GNOME setting to view the menu icons:

  1. In the command console, execute the gconf-editor command.
  2. In the tree, navigate to desktop > gnome > interface.
  3. Enable the menus_have_icons option.

Using the Control Panel

With the Emulator Control Panel, you can inject system events and perform related tasks.

The control panel consists of 3 layers:

  • Dialog, which is the main application window, shows a list of testable device cards.
  • Card, which represents each device, shows the representative device status. By clicking a card, you can inject an event directly or open Popup to do it.
  • Popup displays testable events for each device.

Figure: Emulator Control Panel

Emulator Control Panel

To open the control panel:

  1. Launch the emulator.
  2. Right-click the emulator and select Control Panel.

Figure: Opening the control panel

Opening the control panel

The main features of the Emulator Control Panel are described in the following sections.

Controlling the Network Setting

You can control the user network.

To lose the network connection, set the link status to off. To forward a remote or local port to an inside port of the emulator, enter values in text boxes, and click Apply.

Mounting a Host Directory

The specified host directory is mounted to /mnt/host to share resources. Therefore, file transfer is possible through the host directory sharing feature without using the SDB utility.

Providing Device Data

The control panel can be used to simulate device data, such as the battery level, adding or removing a earjack (headset) or USB device, setting RSSI (remote signal strength indicator) information, and attaching and detaching the SD card, in the Device tab:

  • In the Battery tab, set the battery level using the Level slider. To set the charger status to connected or disconnected, select the appropriate Charger radio button.
  • In the EarJack tab, select the earjack setting:
    • 3 Wire
    • 4 Wire
    • Disconnect
  • In the USB tab, set the USB device setting to the connected or disconnected state.
  • In the RSSI tab, set the RSSI information level using the Level slider.
  • In the SD Card tab, select the 4G, 8G, 16G, or 32G SD card and attach it to the emulator at runtime.
    NoteThe same SD card cannot be attached to multiple emulators at the same time.

The device information set using the control panel is reflected on the indicator bar of the device.

Providing Location Data

The control panel can be used to provide imitated responses to location data requests by loading GPS log files, manually entering location coordinates, or injecting markers directly on the map in the Location tab:

  • Loading a GPS log file

    In the Log section, select the pre-logged GPS data file (NMEA183 format) and click Inject Log to send the location data to the emulator.

  • Manually entering location coordinates

    In the Manual section, enter the coordinates and click Inject Location to send the location data to the emulator. The range of the latitude, longitude, altitude, and horizontal accuracy is from -90 to 90, -180 to 180, -300 to 100000, and 0 to 100000, respectively.

  • Injecting markers on the map

    In the Map section, right-click the desired map locations and click Inject Markers to send the location data to the emulator.

Providing NFC Data

The control panel can be used to test the near-field communication (NFC) features, such as NFC data exchange format (NDEF) events, NFC tag detection, and peer-to-peer (P2P) data connections in the NFC tab.

NoteThe control panel only sends NFC-related events to the emulator. There is no actual information exchange between the control panel and emulator. Therefore, for features such as writing information to an NFC tag, the emulator simply displays a success message.
  • Creating NDEF messages

    An NDEF message contains one or more NDEF records. In the NDEF Message section:

    1. Select the record type name format.
    2. Enter the record type name, ID, and payload.
    3. Click Add.

    You can add multiple NDEF records, as required, in the NDEF message.

    Click Edit or Remove to modify or delete a selected record.

  • Attaching and detaching NFC tags

    In the NFC Tag section:

    1. Select the tag type.
    2. Click Tag Attach.

      If the NDEF record list is not empty, an NDEF message is created using this list and the attach message is sent to the emulator with the NDEF message.

    3. When the tag operation is finished, click Tag Detach.
  • Creating a P2P data Connection

    In the Peer to Peer section:

    • To send the emulator the discovered state of the new device, click P2P Discovered.
    • To send the emulator an NDEF message, click P2P Send.
    • To send the emulator the detached state of the connected device, click P2P Detached.

Providing Sensor Data

In the control panel, you can model your actions, such as shaking, throwing, and tilting the device for the emulator instance. In addition, you can generate a single sensor event on the instance, or inject sequences of 3-axis sensor events to the instance.

To control 3-axis sensors, select Event Injector > Sensor > 3-Axis Sensor. The 3-Axis Sensor tab consist of 4 subtabs, in which you can adjust the acceleration, magnetic, and gyro sensors of the emulator instance. In the GUI subtab, you can intuitively adjust various sensor data by using 3D graphics. In the other subtabs, you can inject a single event into the individual sensor, or use the sensor data files to inject sequences of events into the sensor.

  • GUI

    In the GUI subtab, you can select an active sensor and move the 3D model of the emulator instance by the 3 axis sliders or direction buttons (Portrait, Landscape, Reverse Portrait, and Reverse Landscape). The instance monitor displays the acceleration, magnetic, and gyro values.

    To better control the movement, select the With axis checkbox to see the axes in the emulator image. You can also fix the Y or Z axis by selecting the X/Z or X/Y radio button, respectively. To change the emulator accelerator value in the direction of the movement, select the Move radio button.

  • Acceleration

    You can control the acceleration of the instance along the coordinate axes. When the instance is standing, the acceleration value of the Y axis is -1 g as gravitational acceleration. By using the sliders in the Acceleration subtab, you can control the acceleration 3-axis values from -2 g to 2 g.

  • Magnetic

    You can control the magnetic values of the instance along the coordinate axes. When the instance is standing, the magnetic 3-axis tesla values (azimuth 0) are set for the North. By using the sliders in the Magnetic subtab, you can control the magnetic 3-axis values from -2000 uT to 2000 uT.

  • Gyro

    You can control the gyro (rotation angle per second) of the instance along the coordinate axes. By using the sliders in the Gyro subtab, you can control the gyro 3-axis values from -573 deg/s to 573 deg/s.

  • Event file

    The event file consists of predefined events. It is written in ASCII. By loading the event file in the Acceleration, Magnetic, or Gyro subtab, you can replay a sequence of predefined events. You can also add multiple event files to replay. The format of each line in the event file is:

    timestamp, x, y, z
    

    When you add the event files and click Start, the predefined events are injected at their specified relative timestamp. The timestamp unit is 0.01 seconds. Some events can be discarded, if they exceed certain limits of performance, resource, or logic. When you add multiple event files, the files are executed in sequence. You can also repeat the replay.

In the Event Injector > Sensor tab, you can control other sensors, such as light, proximity, pressure, ultraviolet, and HRM sensors:

  • To control the light sensor, set the Lux value in the Light tab. The range of this value is from 0 Lux to 65635 Lux.

    If you set brightness as auto, the display is changed based on the injected light value.

  • To control the proximity sensor, set it on or off in the Proximity tab.
  • To control the pressure sensor, set the hPa (Hectopascal) value in the Pressure tab. The range of this value is from 260 hPa to 1260 hPa.
  • To control the ultraviolet sensor, use the slider in the Ultraviolet tab. The unit is UV index and the range of this value is from 0 to 15.0.
  • To control the HRM (Heart Rate Monitor) sensor, use the sliders in the Heart Rate Monitor tab. You can set the Heart Rate value between 0 and 220, and the Peek-to-Peek value between 0 and 5000 (in milliseconds).

Providing Telephony Features

The control panel can be used to generate incoming calls and messages in the Telephony tab.

  • Generating incoming calls

    Incoming calls are generated in the Event Injector > Telephony > Call tab.

    NoteA Mobile Termination (MT) call is made from the Event Injector view to the emulator. A Mobile Origination (MO) call is made from the emulator to the Event Injector view using the phone application of the emulator.

    To make an MT call:

    1. Enter the phone number you want to imitate the call from.
    2. Click Connect.
    3. To hide the phone number on the emulator, select the Hidden option.

      The caller ID on the emulator is set to "Unknown".

    To make an MO call, use the emulator's phone application:

    1. To ready the emulator for the connection, click Alert.
    2. To ready the emulator for the call, click Connect.
  • Generating messages

    SMS messages are generated in the Event Injector > Telephony > Messaging tab. After sending a message, your application waits for the asynchronous send status message. You can generate this status report for SMS messages using the same Messaging tab.

    To generate an SMS message:

    1. Enter the sender phone number you want to imitate.
    2. Enter the message body text and click Send Msg.

    To generate status reports, set the sending status value for the SMS message:

    • SMS OK (Success)
    • SMS Not Available

    You can also generate MMS message status reports. To generate MMS status reports, set the sending status value for the MMS message:

    • MMS OK (Success)
    • MMS Failure

Providing Memory Data

The control panel can be used to simulate low memory status in the Memory tab.

Set the low memory status using the radio buttons:

  • Hard-Warning (40 MB and under)
  • Soft-Warning (60 MB and under)
  • Normal (sufficient)

Control Panel Features on Different Profiles

The following table lists the control panel features and their availability on different profiles.

Table: Control panel features

Feature Mobile TV Description
Network Yes Yes You can control the user network and forward a remote or local port to an inside port of the emulator.
Host Directory Sharing Yes Yes File transfer is possible through the host directory sharing feature without using the SDB utility.
Battery Yes No You can set the battery level and charger status.
RSSI Yes No You can set the remote signal strength.
Sensor 3-Axis Sensor Yes No You can inject user acceleration, magnetic, and gyroscope values.
Light Yes No You can inject a lux value into the light sensor.
Proximity Yes No You can inject the presence of nearby objects.
Pressure Yes No You can inject an hPa value into the pressure sensor.
Ultraviolet Yes No You can inject an ultraviolet index.
Heart Rate Monitor Yes No You can inject the heart rate and peek-to-peek time.
Earjack Yes No You can add or remove a headset.
USB Yes No You can add or remove a USB device.
SD Card Yes No You can inject a 4, 8, 16, or 32G SD card.
Location Yes No You can inject latitude and longitude values using a map, manually, or from a log file.
Telephony Yes No You can make and receive a call. You can also send and receive SMS messages.
Memory Yes No You can set the low memory status.