> For the complete documentation index, see [llms.txt](https://funtest-1.gitbook.io/funtest-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://funtest-1.gitbook.io/funtest-documentation/funtest-plugins/plugin-overview.md).

# Plugin Overview

This page describes how to use plugins in FunTEST to control external hardware

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2FHBbxsRlCGiHYL4i2CAJw%2FPlugin.png?alt=media&amp;token=3d7fc82d-c9c1-4699-84e7-43d67b977943" alt=""><figcaption></figcaption></figure>

## What is a plugin?

Plugins are pieces of software that allow for commanding and control of any hardware or software application. These plugins are then called from the test file/sequence to perform a measurement, control the test setup, etc..

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2FHy90oIk6XZ4JDEXcNMe0%2FPlugin_Block.png?alt=media&amp;token=74cb87bb-a749-4d13-bea9-8510b471f82a" alt=""><figcaption></figcaption></figure>

## How to create a plugin?

You can access our library of existing plugins (see list below) or create your own using Python.

## FunTEST plugin Setting

To access plugins go to **admin > devices > Plug-in manager**

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2FMOiCxh2ESYyeTZIONnUn%2F2023-10-24_11h23_43.png?alt=media&amp;token=b650b940-5858-45ce-a93e-612f88360953" alt=""><figcaption><p>Plugin Manager view</p></figcaption></figure>

From here you can configure, start, and stop plugins you have access to.

When a plugin is running and a device is discovered it will appear in the device window

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2F23R7pkw65oTXZcpXpd1W%2Fimage.png?alt=media&amp;token=81e65d4d-cd4b-4f31-8d69-30caede9cb91" alt=""><figcaption><p>Device window view</p></figcaption></figure>

## Available FunTEST Plugins

### Test Equipment (VISA) Plugin

This plugin is most often used for controlling and gathering data from any type test equipment that supports VISA such as DMM, power supplies, oscilloscopes, etc.

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2F5Zd8xzOhJtRd704li4v2%2FDMM_Plugin.png?alt=media&amp;token=302f059a-c426-4eb6-8b26-ff1ce3cc779e" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/VbBJ27a12rVokoOgERp4" %}

### Serial Communication Plugin

This plugin allows you to send and receive data over serial communication i.e USB

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2FyCp8jPt0SrWYwcVlYrAj%2Fserial.png?alt=media&amp;token=5a1254b6-de31-4de7-bea8-f339087c046a" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/PyYrcDdGHuou42t2xMAn" %}

### I/O Plugin

This plugin allows you to set and read digital outputs from supported devices

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2FX0EcnNPz4bQGlKveljDG%2FI_O.png?alt=media&amp;token=df733c96-69d9-464c-ab4a-8d464891bbc3" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/paLb5B5l8Bi2en3poWDW" %}

### CAN/LIN Interface

This plugin allows you to send and receive messages over CAN and LIN using supported devices

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2Fw8k3PPykHvwjhZYOE7Hu%2FCAN.png?alt=media&amp;token=669bc15f-d1d7-4abb-8e2e-b048b87402a4" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/z0tE4h7eUQ0EyD24gQ9v" %}

### SQL Database Plugin

This plugin allows you to send and receive data from an SQL database. Supports MySQL and Microsoft SQL Server.&#x20;

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2FDL7MrE7TKh8jxg7dHrKT%2FSQL.png?alt=media&amp;token=5cd04dc9-0cdc-480a-9441-7313a8889864" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/M1YvLAJ4yyOkEG1jXP34" %}

### TCP/IP Plugin

General TCP and HTTP (POST/GET) communication client

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2FSa3Kev7eFuK7qOeHEIuc%2FTCP.png?alt=media&amp;token=e994c4b1-fbf7-46c9-ad24-551689d5055d" alt=""><figcaption></figcaption></figure>

#### Documentation

{% file src="/files/PHH6IYH6mivDQGBi8atr" %}

### Image Control Plugin

ImagingSource cameras control plugin, based on IC Imaging Control .NET library SDK version 3.4

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2FFlq3s3NjSNi5R4gEtGPx%2FCamera.png?alt=media&amp;token=aa57d480-f374-4b96-afc3-42704294d195" alt=""><figcaption><p>Example of usage</p></figcaption></figure>

#### Documentation

{% file src="/files/ULQjLvmKYchraAIjdkyS" %}

### Python Plugin

Generic Python Plugin that allows anyone to create custom device plugin in Python

<figure><img src="https://3835935664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F10lD1MSN8sl0KAFokfI3%2Fuploads%2FgEVspP4NpVozSTs8FXMo%2Fpython.png?alt=media&amp;token=9cf53fbf-918e-4bc0-9810-0188da13f4cb" alt=""><figcaption></figcaption></figure>
