Skip to main content

HMI (Screen, Button, and Sound)

The AT1000 provides a simple yet functional Human-Machine Interface (HMI) that allows engineers to provide user feedback and interaction during test sequences. The HMI consists of:

  • A color LCD screen (80 × 160 resolution)
  • An audio speaker for notifications
  • A rotary knob for user interaction

The image below shows the different elements on the front panel of the AT1000 device:

HMI Capabilities

Before diving into programming details, here’s what the HMI is designed for:

  1. Displaying status messages and progress information to the user.
  2. Allowing simple user interactions during test sequences.
What the HMI is not made for

The AT1000's HMI and API are not designed for building complex navigation menus, displaying images, or playing user-defined sound effects. While the hardware is capable of advanced graphics and audio, the HMI is intentionally simplified for ease of use in test automation.

Note

The code examples in the following section assume that tester variable represents an open AT1000 device. The code to open an AT1000 device and create tester variable is not included for simplicity.

Screen Control

The AT1000 screen can display text messages, update the foreground and background colors, and show a progress bar.


// Set the screen color (foreground: white, background: blue)
tester.screen().color("#FFFFFF", "#0000FF");

//Clear all content on the screen
tester.screen().cls();

// Display some text, and replace any previous text.
tester.screen().print("Test is \nin progress...");

// Update the progress bar to 75%.
// Setting progress to 0 hides the progress bar
tester.screen().progress(75);

Speaker Control

The built-in speaker emits predefined sound effects for success, notifications, and failures. These sounds help alert users about test status.

 
// Play success sound at full volume
tester.audio().success();

// Play a notification sound at 50% volume
tester.audio().notification(50);

// Play a failure sound at 80% volume
tester.audio().failure(80);

Knob Interaction

The rotary knob allows for two types of user interactions:

  • Push interaction (pressing the knob)
  • Rotation interaction (turning left or right, returning pulse counts)
 
let event = tester.knob.wait_event(20);

console.log("Button press: " + event.pushed);
console.log("Knob rotation: " + event.rotation);


Summary

The AT1000’s HMI API enables simple and effective user interaction by controlling:

  • The screen (color, messages, progress bar)
  • The speaker (predefined sound effects)
  • The rotary knob (button push & rotation detection)

These features help engineers create intuitive test sequences without unnecessary complexity.