Skip to main content

nPZero Configurator

Introduction

The nPZero Configurator is a desktop tool that can be used to evaluate, develop and test applications based on the nPZero power-saving IC.

The application can be downloaded here: nPZConfigurator_v1.2.3.zip

To install it simply unzip the content to any local folder, and run setup.exe. If you have an earlier version installed please un-install it before installing the new version.

The installer can also be downloaded from the Github installer repository

Every time the program is launched it will look online for a newer version, and if one is found it will request whether or not the new one should be installed.

System requirements

  • 4 GB of RAM
  • 120 MB of disk space
  • Windows 10 or later
  • .NET 8.0

Description

The picture below shows the main interface of the nPZero Configurator:

 interface

The tool consists of the following main sections, most of which can be showed/hidden through the View menu. Some sections can also be resized by dragging the area between the sections:

  • File
    • Reset Workspace - Resets the workspace to default values. Note: This will delete any configuration changes or terminal data from the application.
    • Load Workspace - Load a workspace from file.
    • Save Workspace - Save a workspace to file.
    • Save Workspace As - Save a workspace to a new file.
    • Exit - Exits the application.
  • Recent Workspaces - Load one of the last 10 recently saved or loaded workspaces.
  • Settings
    • Terminal: Synchronize status registers - Will update the status registers in the register map when the sniffer intercepts status reads on a connected system.
    • Terminal: Synchronize configuration registers - Will update the configuration registers in the register map when the sniffer intercepts configuration writes or reads on a connected system.
    • Terminal: Synchronize DUT automatically - Whenever the configuration is changed in the GUI the sniffer will attempt to send it immediately to the connected system.
  • Help
    • Open User Folder - Will open a Windows Explorer window in the user folder, where user presets and workspaces are stored by default.
    • Check For Updates - Will manually trigger a check for application updates.
    • About - Display application information and support links.

nPZero Configuration

This section breaks down all the configuration parameters of the nPZero device in a graphical way, and provides tooltips and descriptions to make the various parameters more intuitive to understand.|

At the top you will find global configuration parameters which includes all the parameters not directly related to connected peripherals, followed by peripheral configuration for the 4 available peripherals of the nPZero.

The peripheral configuration parameters are hidden as long as the power mode of the peripheral is set to Disabled, but will appear once a different power mode is selected.

Any change to the parameters in the nPZero Configuration section will be instantly reflected in the nPZero Registers and Generated Code sections.

Peripheral presets can be saved and loaded, in order to allow easy sharing of peripheral configurations that have been tested, and the tool will come pre loaded with a set of presets for sensors that have been tested internally.

nPZero Registers

The nPZero Registers section breaks down all the registers of the nPZero, and shows how the parameters input in the nPZero Configuration section are reflected in the device registers. All the registers and fields listed in the datasheet are available, and by mousing over the various fields a tooltip will pop up detailing the legal values for the field, and a description of the various values.

Register values can be changed directly by modifying the field on the left side of the register fields. Values can be input in decimal, hexadecimal (use the “0x” prefix) or binary (use the “b” prefix) format.

Fields can also be modified by clicking them. 1-bit fields will simply toggle state when clicked, while for larger fields a popup will appear where a new value can be entered.

Generated Code

The Generated Code section converts the nPZero configuration from the previous sections into a code snippet that is compliant with the nPZero Driver API.

This allows the configuration to be easily tested on a target system that combines the nPZero device with one of the supported host MCU families (currently STM or nRF).

It is possible to choose between different template examples, and switch between the supported MCU architectures, before the code can be exported to a C file that can be integrated in the SDK of the host MCU.

Code can also be exported to a regmap, which is a simple array containing register address/value pairs, allowing the nPZero to be configured from the host in a highly code efficient way. All the host has to do is to loop through the array, and write each register value into the corresponding register address. In addition to reducing code size this method can also be used to add support for MCU families not covered by the other templates, or adding support for software frameworks not based on C/C++.

Terminal

The Terminal section can be used to view the output from a dedicated protocol sniffer that can be used to sniff the operation of an nPZero based system.

note

The sniffer will be made available at a future date, or it can be implemented using an nRF54L15DK from Nordic Semiconductor.

The sniffer will attempt to decode the following information:

  • I2C communication between the nPZero, the host and any connected I2C peripherals.
  • SPI communication between the nPZero and any connected SPI peripherals.
  • UART log messages coming from the host.
  • The state of various pin inputs, which can detect the state of the power switches, interrupt lines, and selected host output pins.
note

While the sniffer includes basic logic analyzer functionality, it should not be considered a proper logic analyzer replacement. The maximum sampling frequency is limited to 500 kHz, and the amount of information that can be recorded is limited.

In order to use the terminal a sniffer needs to be connected to the PC over USB, and the virtual comport set up by the sniffer must be selected in the Comport box at the bottom of the terminal.

Once connected the various terminal lines should show up in the terminal window, and it is possible to filter out lines by type, or search for lines by text.

The following commands and controls are available at the top of the terminal view:

  • Sniffer Status: The sniffer status will be listed as either "Off", "Paused" or "On".
  • Play/Pause: If the sniffer is connected it can be started or paused from here.
  • Erase: To delete all the sniffer data, press the erase button. This will remove all data from the details and timeline view.
  • Com Port selector: Select the comport corresponding to the connected sniffer and connect to it.
  • Disconnect: Disconnects from the connected sniffer.
  • Search: Scans the system for changes to the com port list, in case USB devices where added or removed.
  • View: Hide or show subsections of the terminal view.
  • Program DUT: Coming soon: Dynamically configure an nPZero based system through the sniffer.
  • Reset: Coming soon: Reset the target system through the sniffer.