> For the complete documentation index, see [llms.txt](https://docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verifone.com/adk-os-platform/readme/user-interface-and-application-control.md).

# User interface and application control

Review the VOS3 UI stack, media support, Multi-Application Controller capabilities, and system control panel operations.

VOS3 provides HTML-based UI services and a system-level application controller.

Use this page to review UI capabilities, how the Multi-Application Controller manages application runtime behavior, and the system control panels available to operators and engineers.

## User interface functions

| **UI Function**    | **Support**                                                                                                                                                                                                                                                                                                                  |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| HTML               | <ul><li>HTML for display and printer receipt rendering</li><li>Subset of HTML with platform-specific extensions</li></ul>                                                                                                                                                                                                    |
| ECMA6 (JavaScript) | <ul><li>ECMA6 support for pre-processing scripts used by HTML pages</li></ul>                                                                                                                                                                                                                                                |
| Images             | <ul><li>JPEG, PNG, BMP, PAM, GIF</li></ul>                                                                                                                                                                                                                                                                                   |
| Animated images    | <ul><li>Animated GIF</li></ul>                                                                                                                                                                                                                                                                                               |
| Video playback     | <p>Format 1</p><ul><li>Video encoding: H.264 (MPEG-4 Part 10, AVC)</li><li>Profile: Baseline</li><li>Audio encoding: AAC, MP3</li><li>Container: AVI</li></ul><p>Format 2</p><ul><li>Video encoding: H.262 (MPEG-2)</li><li>Profile: Simple</li><li>Audio encoding: AAC, MP3</li><li>Container: AVI, MP4, MOV, M4V</li></ul> |
| Audio playback     | <ul><li>MP3, WAV</li></ul>                                                                                                                                                                                                                                                                                                   |
| Barcode reading    | Supported through the UI stack where applicable                                                                                                                                                                                                                                                                              |
| Framebuffer        | No direct framebuffer access for applications                                                                                                                                                                                                                                                                                |

## Multi-Application Control (MAC) functions

MAC manages application launch, switching, and access to shared system UI.

| **Function**             | **Support**                                                                                                                                                                                               |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| System status bar        | <ul><li>System-wide status bar with time, connectivity, and battery icons</li><li>Can be hidden through API in supported flows</li><li>Provides access to the MAC desktop on touch-only devices</li></ul> |
| System settings panel    | <ul><li>Various control panels are exposed through MAC</li></ul>                                                                                                                                          |
| Application launch       | <ul><li>Automatic launch on system startup</li><li>Manual launch from the MAC desktop</li><li>Launch dependencies</li></ul>                                                                               |
| Application switching    | <ul><li>Manual switching through the MAC desktop</li><li>Programmatic switching through the MAC API library</li></ul>                                                                                     |
| CP application embedding | <ul><li>Launch and hide CP applications</li><li>Embed through the commerce API library</li></ul>                                                                                                          |

## Runtime model

Applications run under MAC control.

MAC provides a consistent way to launch applications, expose system UI, and coordinate multi-application behavior on the device.

This is the expected runtime model for headed VOS3 deployments.

## MAC Desktop

The MAC Desktop is the entry point for launching applications and accessing system control panels.

To open the MAC Desktop:

* Press **1-5-9** on keypad devices
* Long-press the **system status bar** on touch-only devices

The MAC Desktop opens automatically on boot when no auto-launch application is configured, or when the device is in a tampered state.

Selecting **Control Panel** from the MAC Desktop opens the MAC Control Panel Desktop, which provides access to all system settings panels.

{% hint style="info" %}
MAC Desktop and control panel access can be protected by a password policy. See [VOS3 Password Management](/adk-os-platform/readme/vos3-password-management.md) for details.
{% endhint %}

***

## System control panels

### System Information

Displays device identification and resource information:

* **HW info** — model name, part number, hardware ID, serial number
* **SW info** — OS and ADK version, UI identifier string in the format `<width>x<height><color|mono><num keys><touch|non-touch>`
* **Memory info** — available and free RAM, available and free flash

### Date & Time Management

Allows operators to:

* Set system date, time, and timezone
* Configure the 24-hour automatic reboot time

{% hint style="info" %}
The device has a built-in real-time clock (RTC) set during manufacturing. The RTC cannot be changed during production use. The system time is independent of the RTC but can only vary from it within a **±7-day window**.
{% endhint %}

Automatic reboot is triggered when a system time change crosses the configured 24h reboot time and the last reboot occurred less than 24 hours ago. Changing the 24h reboot time itself requires a device reboot.

### Settings

Allows operators to adjust:

* **Display** — brightness and display settings
* **Audio** — volume and audio output settings
* **Keyboard** — keypad settings

### Transfer Logs

Transfers system and application logs to a connected USB stick for offline analysis.

### Application List

Lists all applications installed on the device and all running system daemons, together with their current running status.

### Communication Settings

Configures and controls communication interfaces including LAN, Wi-Fi, Bluetooth, Serial-PPP, and USB gadgets.

New features in VOS3:

* Display of the Wi-Fi country code
* Diagnostics for serial lines
* BLE Beacons Setup
* BLE Pairing Events

### Diagnostic

Provides hardware test tools for field and development use:

| **Tool**     | **Function**                                                                                                   |
| ------------ | -------------------------------------------------------------------------------------------------------------- |
| Display      | Cycles through Black/White and RGB color patterns                                                              |
| Keyboard     | Tests physical keypad presses; auto-closes after a period of inactivity                                        |
| Card         | MSR — track reading status, length, error code; Smart Card — slot status; Contactless — reader characteristics |
| Buzzer/Audio | Set and test buzzer beep; test audio file playback                                                             |
| LED          | Enable and disable device LEDs where present                                                                   |
| Touch        | Test touch panel coordinates and signature capture; option to save a signature file on the device              |
| SD Card      | Read SD card presence and content (on supported devices)                                                       |
| Battery      | Backup battery (coin cell) — status and voltage; portable battery info (portable devices only)                 |

### Log Control

Configures system and application logging behavior:

* **Channels** — enable or disable individual log channels, set destination (Syslog, Console, or both), and set the log mask (level filter)
* **Syslog log level** — global minimum level for syslog output
* **Syslog output** — Serial, File, UDP, or USB
* **Output parameters**
  * File: number of files in the rolling set and maximum file size per file
  * Serial: serial port number
  * UDP: destination IP address and port

{% hint style="warning" %}
Enabling logs is intended for troubleshooting only. Leaving logs enabled long-term reduces system performance and increases flash wear. Disable logs when they are no longer needed.
{% endhint %}

### Power

Allows operators to:

* Reboot the device
* Shut down the device
* Enter sleep mode (on supported devices)

### Security Control

Provides key management and security functions.

**Keys**

| **Operation**                | **Description**                                                 |
| ---------------------------- | --------------------------------------------------------------- |
| Warrantied Key Status        | Lists loaded system warrantied keys with key info               |
| Payment Key Status           | Lists loaded customer payment keys with key info                |
| Load Warrantied Keys         | Loads warrantied keys from a connected key loading device (KLD) |
| Load Payment Keys            | Loads VRK payment key JSON files from USB stick or SD card      |
| Write VRK Certificate to USB | Transfers the VRK certificate to an attached USB stick          |

**Tamper**

| **Operation** | **Description**                                                                      |
| ------------- | ------------------------------------------------------------------------------------ |
| Tamper Status | Shows the current tamper condition                                                   |
| Tamper Log    | Shows the tamper event history                                                       |
| Clear Tamper  | Resets the tamper condition for further analysis — does **not** de-tamper the device |

**Security Identification**

Displays firmware and hardware version information:

* Model name and hardware ID
* VOS3 PCI security version
* Secure processor boot loader version (SPBL)
* Secure processor firmware version (SPFW)
* Application processor firmware version (APFW)

**Date and Time** *(security-controlled)*

* View current RTC and system time
* Set Secure RTC date and time — not available on PROD devices
* Synchronize RTC time to system time

**MIB**

* View MIB info
* Load MIB

**Password Manager**

* Change user passwords
* List all passwords defined by the loaded Password Policy file

### Software Management

| **Operation**      | **Description**                                                                  |
| ------------------ | -------------------------------------------------------------------------------- |
| Download USB       | Browse and install DL files from a USB stick or SD card                          |
| Download Netloader | Install DL files from a connected host PC using the Netloader protocol           |
| Download ZonTalk   | Install DL files from a connected host PC using the ZonTalk serial protocol      |
| Install Result     | Displays the result of the latest installation                                   |
| Software List      | Lists all installed SW packages with version and details; allows bundle deletion |

### VHQ Settings

| **Operation** | **Description**                          |
| ------------- | ---------------------------------------- |
| Versions      | Displays the installed VHQ agent version |
| Heartbeat     | Starts a VHQ heartbeat                   |
| Reset Agent   | Resets the VHQ agent (requires reboot)   |

### VCL Settings

Displays VCL status information.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verifone.com/adk-os-platform/readme/user-interface-and-application-control.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
