Skip to content

This repository is for NI's Semiconductor Device Control Add-On Python API.

License

Notifications You must be signed in to change notification settings

ni/nisemi-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

NI Semiconductor Device Control Python API Support provides Python APIs and examples to develop python test programs and communicate with a device using the setup configuration exported from the Semiconductor Device Control Add-On for InstrumentStudio.

This library is dependent on Semiconductor Device Control addon for InstrumentStudio.

Semiconductor Device Control Python API Status

Setup and cleanup functions

  1. Instantiate - using IS configuration file
  2. Attach to Existing Session
  3. Destroy
  4. Start
  5. Stop

Hardware Read & Write to Register and Field

  1. Write Register by name (Device)
  2. Read Register by name (Device)
  3. Write Register by Address (Device)
  4. Read Register by Address (Device)
  5. Write Custom Register by Address (Device)
  6. Read Custom Register by Address (Device)
  7. Write Field by Name (Device)
  8. Read Field by Name (Device)
  9. Write Field by value definition (Device)

Hardware multiple Read & Write to Register and Field

  1. Write Multiple Register by Name (Device)
  2. Read Multiple Register by name (Device)
  3. Write Multiple Register by Address (Device)
  4. Read Multiple Register by Address (Device)
  5. Write Multiple Fields by Name (Device)
  6. Read Multiple Field by Name (Device)

Cache Read & Write to Register and Field

  1. Write Register by name (Cache)
  2. Read Register by name (Cache)
  3. Write Register by Address (Cache)
  4. Read Register by Address (Cache)
  5. Write Field by Name (Cache)
  6. Read Field by Name (Cache)
  7. Write Field by value definition (cache)
  8. Write from Cache to Device
  9. Clear Cache

Cache multiple Read & Write to Register and Field

  1. Write Multiple Register by Name (Cache)
  2. Read Multiple Register by name (Cache)
  3. Write Multiple Register by Address (Cache)
  4. Read Multiple Register by Address (Cache)
  5. Write Multiple Fields by Name (Cache)
  6. Read Multiple Field by Name (Cache)

DIO operation

  1. Write Pin State
  2. Read Pin State

Utils

  1. Get Dynamic Protocol Settings
  2. Update Dynamic Protocol Settings
  3. Get Instrument Session **
  4. Get Session Options

(** This API is deprecated from 2023 Q4 version of Semiconductor Device Control Addon. Refer to the user manual for more information.)

Installation

Dependency Installation

  1. Semiconductor Device Control addon for InstrumentStudio 2024 Q3.
  2. pythonnet 3.0.3 - pypi download

Work with github source code

  1. Clone the github repository - semiconductor device control python api github repo.
  2. Use the APIs from 'nisdc' folder in your program

Work with Semiconductor Device Control Python API from PyPI

  1. Go to Semiconductor Device Control Python API location in the github repository.
  2. Install the package and use the api libraries in your program

Usage

Reference example is available in the(https://github.com/ni/nisemi-python) for developers (under examples folder), to refer on how to use the python APIs in the test program.

Documentation

Documentation is available from ni resource website - here.

Contributing

We welcome contributions! You can clone the project repository, make changes, build it, and install it by following these instructions. This also has instruction on how to contribute your changes back to the main repository.

Bugs / Feature Requests

To report a bug or submit a feature request specific feature, please use the https://github.com/ni/nisemi-python/issues.

Fill in the issue template as completely as possible and we will respond as soon as we can.

For hardware support or any other questions not specific to this GitHub project, please visit NI Community Forums.

License

License file

semi device control python api is licensed under an MIT-style license Other incorporated projects may be licensed under different licenses. All licenses allow for non-commercial and commercial use.