Skip to main content

Shared helpers used by the different ate-apps, i.e. master-app, control-app, etc.)

Project description

Semi-ATE

Semiconductor Automated Test Equipment

GitHub Conda Supported Python versions

CI-CD

GitHub release (latest SemVer) GitHub commits since latest release (by date) PyPI Conda (channel only) conda-forge feedstock

GitHub issues GitHub pull requests Conda Downloads

Semi-ATE is a tester- and instruments AGNOSTIC framework for Semiconductor ATE ASIC testing projects.

This means that the system is not build around a specific instrument (let's consider an ATE tester for a moment as a super instrument), it rather focuses on organizing semiconductor testing in such a way that all use- (and special) corner cases have their well known place. This enables the users (read: DE's, TCE's, TE's & PE's) to focus on the REAL work, being the writing of good, fast and stable tests. Organizing tests into test-programs and test-programs in to flows is handled by wizards, so the only code that needs writing is the actual test! (motto: Code is our enemy)

The Semi-ATE package is written purely in Python (noarch) and provides besides libraries also a plugin to the Spyder IDE.

Packages

The Semi-ATE project consists of several packages. When writing this document the following packages are maintained by the Semi-ATE project:

  • semi-ate-common
  • semi-ate-project-database
  • semi-ate-sammy
  • semi-ate-plugins
  • semi-ate-testers
  • semi-ate-spyder
  • semi-ate-apps-common
  • semi-ate-control-app
  • semi-ate-master-app
  • semi-ate-test-app

Installation

Installation of the packages can be achieved via conda or pip.

Installation using pip

Each package can be installed using python -m pip install <package-name>:

python -m pip install semi-ate-common
python -m pip install semi-ate-project-database
python -m pip install semi-ate-sammy
python -m pip install semi-ate-plugins
python -m pip install semi-ate-testers
python -m pip install semi-ate-spyder
python -m pip install semi-ate-apps-common
python -m pip install semi-ate-control-app
python -m pip install semi-ate-master-app
python -m pip install semi-ate-test-app

Or all at once:

python -m pip install semi-ate-common semi-ate-project-database semi-ate-sammy semi-ate-plugins semi-ate-testers semi-ate-spyder semi-ate-apps-common semi-ate-control-app semi-ate-master-app semi-ate-test-app

Installation via Conda

To be defined

The semi-ate-control-app package

This package provides some a command line tool (launch_control). In order to use this application you have to configure it first. This tool should be run on some test node, i.e. some host controlling measurement instruments. It communicates with the master application from the semi-ate-master-app package by MQTT. The master application sends mqtt-messages to steer the control application. The control application itself is responsible for loading/unloading and executing some test-program. Test results, i.e. STDF records, are send back to the master application.

Configuration

Configuration of the control application is done by writing a JSON file called control_config_file.json. The following key-value-pairs have to be defined:

{
    "broker_host": "127.0.0.1",
    "broker_port": 1883,
    "device_id": "SCT-82-1F",
    "site_id": "0",
    "loglevel": 10
}
  • broker_host defines the ip address of the mqtt broker.
  • broker_port defines the prot of the mqtt broker.
  • device_id defines a unique id of the so-called test-system. A test system can contain several host running he control applications. And some host running the master application.
  • site_id is the unique identifier of the host running the control application
  • loglevel defines the log-level of the control application

The device_id and site_id is used to build unique mqtt-message-topics automatically. The idea is that no test-system influences some other test system.

Starting the Control Application

We assume that the semi-ate-control-app has been installed in the current python environment. Further configuration control_config_file.json file is located in the current folder.

IMPORTANT: The configuration file has to be named control_config_file.json

(environment)> launch_control
control 0|21/03/2022 04:14:10 PM |INFO    |mqtt connected
control 0|21/03/2022 04:14:10 PM |INFO    |control state is: idle

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

semi-ate-control-app-1.0.3.tar.gz (16.4 kB view details)

Uploaded Source

File details

Details for the file semi-ate-control-app-1.0.3.tar.gz.

File metadata

  • Download URL: semi-ate-control-app-1.0.3.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for semi-ate-control-app-1.0.3.tar.gz
Algorithm Hash digest
SHA256 8de57a49a9d2341282d476badb519a72ed3b9cccdba1924a8227e98e53b000b2
MD5 60961336a10b8587b47465db96a35705
BLAKE2b-256 9d6fc270aa65edd8db95345e90c1bf97be7e021d77c3f66c5760421b2614a7bb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page