Code Monkey home page Code Monkey logo

comet-pqc's People

Contributors

arnobaer avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

mwulansa

comet-pqc's Issues

default route termination

Default hvsrc_route_termination should be rear according to documentation but is front at default.

Restore window size

Restore main window size to cope with usage on HiDPI screens (window is very small and needs to be resized by user).

Simplified start/stop buttons

  • use the Start/Stop buttons in the sequence panel to either run a single measurement or a contact sequence.
  • run contact sequences and individual measurements by double clicking the item in the sequence tree.
  • remove Run/Stop buttons from measurement panels.

Use IDs instead of names in data filenames

Contact and measurement names are often to verbose (can include special characters) for use in data filenames. Add configuration key id for contacts and measurements to be used for filenames (if available), else a mangled version of the name is used as fallback.

Proposal:

measurements:
  - id: rev_nplus_VdP_cross
    name: Reverse N+ Van-der-Pauw cross (V Source)
    ...

Configurable plot axis units

Add configuration parameters to configure units for X and Y axis of measurement plots, as range of displayed series depends on type of test structure, eg.

parameters:
  plot_axis_x_unit: V
  plot_axis_y_unit: nA

Environment box service/thread

Environment box service/thread.

  • poll environment/control states (required for switch states)
  • switch controls (lights, cameras)

Broken electrometer reading

  • misspelled initiate command, should be :INIT
  • polling for operation complete requires writing *OPC before initiate, then polling for *ESR bit 0

Generate HTML analysis pages

Use external analysis python module to generate a HTML analysis page for every measurement, eg.

HPK_VPX33234_024_..._GCD_2020-08-12T11-16-27.txt
HPK_VPX33234_024_..._GCD_2020-08-12T11-16-27.html

Add operator names

Add operator selection in dashboard and write selected operator name to result files.

Measurement class

Base class handling a single measurement:

  • configure_matrix()
  • setup()
  • run()
  • finalize()*
  • reset_matrix()*

* execute always in case of an error

Individual measurements inherit this base class.

class IVRamp(Measurement):
    ...

Camera controls

Add camera controls:

  • switch microscope camera on/off
  • switch probe card camera on/off

Keep previous measurement state

When executing a sequence, keep previous measurement states to be able to track all measurements already measures at least once.

ELM out of range error

Electrometer out of range errors are currently not handled. If an out of range error occurs after :READ?, the measurement should be aborted.

Error Message when moving from 'Move to' to 'Control'

When moving to manual controls via the 'Control' dialog immediately after using the 'Move to' dialog, the 'Control dialog' closes with 'Error: 1004 '. After reopening the 'Control' dialog, all works fine.

Version: 0.21.1

Software capacitance correction

There might be the need to acquire additional capacitance correction values for every test structure. A capacitance correction measurement could be used to determine the required correction then used by other measurements of the same structure/contact/flute.

To be discussed.

Chuck sectors

Add list of named sectors described in polygons to the chuck configuration to be used in probe card mode. The table position can be used to determine all the sectors that overlap with the center of the probe card camera view. This information can be used as additional position information in table control dialogs and to be appended to measurement data headers and filenames.

Additional contact/measurement states

Distinguish following measurement states in case of an exception (replacing state Failed):

  • Timeout (device communication timeout)
  • Compliance (voltage/current compliance tripped)
  • Error (any other exception, eg. RuntimeError, ValueError)

Replace contact states Failed by Error.

Electrometer timeouts when reading

In some cases readings with electrometer can require a long time, sometimes more than 30 seconds.

The current :READ? query could be split up into writing :INIT, polling for *OPC?, finally reading the result using FET?. Add an additional timeout parameter to the measurement parameters (elm_read_timeout, default 60.0 seconds).

Simplify output directory structure

Independent of single measurements or sequence execution, all resulting measurement data files should be stored inside a directory representing the silicon sample identification (name and type), eg.

/home/user/work/
  HPK_VPX12345_042_PSS_HM-WW/
  HPK_VPX12345_043_PSS_HM-WW/
  ...

Output should be renamed into Working Directory in the user interface.

Document available measurements

Add documentation for available measurements and parameters to be used in sequence configuration files.

  • Measurements
    • IV Ramp
    • etc.

Sequence execution

Providing a Start/Stop mechanism to execute selected measurements for selected wafers/slots. Starting a measurement sequence should create a results directory (eg. pqc-2020-01-31T08-24-01) which holds results from individual measurements as well as a snapshot of the used configuration for documentation purpose.

Show average step time

In addition to the estimated measurement time, show also average step time (in main window status message).

Save PNG image of measurement plot

Save a PNG image of the measurement plot alongside the measurement data file for a quick inspection of results.

HPK_VPX33234_024_..._GCD_2020-08-12T11-16-27.txt
HPK_VPX33234_024_..._GCD_2020-08-12T11-16-27.png

Adjust measurement filename schema

To improve archiving all generated measurement data files should use following schema (see also #36):
<sample_name>/<sample_name>_<connection_id>_<measurement_id><timestamp_iso>.txt

Accelerate ramps

Accelerate voltage/current ramps for initialize and finish or error to reduce total measurement time.

  • define maximum steps for voltage/current ramps
  • wait for current to settle after quick voltage ramp down to zero

Set environment TEST_LED

Set TEST_LED of environment box when executing one or more measurements. The LED provides visual feedback for operators that a measurement is currently ongoing.

Create UI skeleton

Create UI skeleton providing:

  • load config
  • wafer slot list (tree)
  • flutes/measurements (tree)
  • measurements (stack)

Create configuration files, schemas and loader

Create YAML configurations files, schema files for validation and configuration loader functions and classes for:

  • chuck
    • slots: coordinates of sample positions an chuck surface
  • sample
    • contacts: coordinates of needle-contacts/flutes
  • sequence: list contacts assigned to a sample contact/flute
    • measurements: list of operations and parameters to be executed at this sample contact/flute

Edit: updated naming scheme.

User defined table positions

Provide persistent user defined table positions.

  • add/rename/remove positions
  • assign current table position to selected position
  • move to selected table positions
    Move X/Y only at Z=0

PID control

Add PID controls:

  • switch: on/off
  • mode select: humidity/temperature
  • setpoint: minimum/maximum for both modes
  • PID state: color coded

Mode select and setpoint are locked if PID control switched on.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.