# NEON-2000-JT2 Series

# Function Library Reference

![Exterior view of a silver wireless camera with black lens and red aperture (no visible text or symbols)](.neon-2000-jt2-flr-50-40384-9010-11/17d59e7334d2027fda6cf64c009eb4d7691284db9248e8d27c0798f1ff5bcf0b.jpg)

Manual Rev.: 1.1

Revision Date: June 9, 2020

Part No: 50-40384-9010

Revision History

<table><tr><td>Revision</td><td>Release Date</td><td>Description of Change(s)</td></tr><tr><td>1.0</td><td>2020-04-06</td><td>Initial release</td></tr><tr><td>1.1</td><td>2020-06-09</td><td>Update product name to NEON-2000-JT2</td></tr></table>

# Preface

Copyright © 2020 ADLINK Technology, Inc.

This document contains proprietary information protected by copyright. All rights are reserved. No part of this manual may be reproduced by any mechanical, electronic, or other means in any form without prior written permission of the manufacturer.

# Disclaimer

The information in this document is subject to change without prior notice in order to improve reliability, design, and function and does not represent a commitment on the part of the manufacturer.

In no event will the manufacturer be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or inability to use the product or documentation, even if advised of the possibility of such damages.

# Environmental Responsibility

ADLINK is committed to fulfill its social responsibility to global environmental preservation through compliance with the European Union's Restriction of Hazardous Substances (RoHS) directive and Waste Electrical and Electronic Equipment (WEEE) directive. Environmental protection is a top priority for ADLINK. We have enforced measures to ensure that our products, manufacturing processes, components, and raw materials have as little impact on the environment as possible. When products are at their end of life, our customers are encouraged to dispose of them in accordance with the product disposal and/or recovery programs prescribed by their nation or company.

# Trademarks

Product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of their respective companies.

# Conventions

Take note of the following conventions used throughout this manual to make sure that users perform certain tasks and instructions properly.

![The image displays a simple icon featuring a white sheet of paper with a folded top-left corner and faint blue horizontal lines near the bottom. A large, bold red checkmark is superimposed diagonally across the center of the document.](.neon-2000-jt2-flr-50-40384-9010-11/3aa1779152472fa275ec868447eda999c5e6949cb0b611c31509241bab92fe8c.jpg)
NOTE:

Additional information, aids, and tips that help users perform tasks.

![A yellow triangular warning sign with a thick black border containing a large black exclamation point in the center.](.neon-2000-jt2-flr-50-40384-9010-11/638bf6ffef4024c94f77490aff6472d18a9c68c8a5557a811ec942912c2cace6.jpg)
CAUTION:

Information to prevent minor physical injury, component damage, data loss, and/or program corruption when trying to complete a task.

![The image displays a standard warning symbol consisting of a red triangle with a white background. Centered inside the red triangle is a large white exclamation point (!). There is no other text present.](.neon-2000-jt2-flr-50-40384-9010-11/b3e75fa6cd854d96d48b29e7c05eced6579a3b147b1aa9bbfce6cf30258ee64e.jpg)
WARNING:

Information to prevent serious physical injury, component damage, data loss, and/or program corruption when trying to complete a specific task.

# Table of Contents

# Revision History...... ii

# Preface...... iii

# 1 Introduction ...... 1

1.1 Setting Up the Neon SDK 2

# 2 Function Library.... 3

2.1 List of Functions.... 3
2.2 Function Library 4

2.2.1 Device Control Function 4

2.2.2 DIO Functions....5

# Important Safety Instructions.... 17

# Getting Service.... 21

This page intentionally left blank.

# 1 Introduction

The NEON-2000-JT2 Function Library Reference provides necessary API details, where functions can develop applications in C/C++. Once the driver is installed, functions can be directly called with the Neon SDK.

Example:
```cpp
#include "Neon.h"
using namespace std;
char buffer[256];
if (Neon_GetDeviceInfo(buffer, sizeof(buffer)) != COMMON_ERROR) cout &lt;&lt; buffer &lt;&lt; endl;
...
```

For more examples, refer to the sample code.

# 1.1 Setting Up the Neon SDK

Use the following steps to set up the Neon SDK.

# 1. Install the Neon SDK:

sudo dpkg -i NeonSDK.deb

# 2. Set the file paths:

▶ libraries at /usr/lib/Neon
▷ headers at /usr/include/Neon/Neon.h
samples at /usr/src/Neon/Sample/Neon\_Information, /usr/src/Neon/ Sample/Neon\_Setting

# 3. Build Neon\_Information Sample:

#cd /usr/src/Neon/Sample/Neon\_Information

#make

# 4. Build Neon\_Setting Sample:

#cd /usr/src/Neon/Sample/Neon\_Setting

#make

# 5. Run Neon\_Setting Sample:

#cd /usr/src/Neon/Sample/Neon\_Information

#sudo ./NeonInformation

# 6. Neon\_Setting Help:

Execute the application with no parameters.

#cd /usr/src/Neon/Sample/Neon\_Setting

#sudo ./NeonSet

# 2 Function Library

# 2.1 List of Functions

&lt;table&gt;<tr><td>Category</td><td>Function</td></tr><tr><td>Device Control</td><td>Neon_GetDeviceInfo</td></tr><tr><td rowspan="19">DIO</td><td>Neon_GetDINums</td></tr><tr><td>Neon_GetDONums</td></tr><tr><td>Neon_SetDOState</td></tr><tr><td>Neon_GetDOState</td></tr><tr><td>Neon_GetDIState</td></tr><tr><td>Neon_GetDI0Config</td></tr><tr><td>Neon_SetDI0Config</td></tr><tr><td>Neon_GetDO0Config</td></tr><tr><td>Neon_SetDO0Config</td></tr><tr><td>Neon_SetStrobeOutEnable</td></tr><tr><td>Neon_GetStrobeOutEnable</td></tr><tr><td>Neon_SetStrobeOutDelay</td></tr><tr><td>Neon_GetStrobeOutDelay</td></tr><tr><td>Neon_SetStrobeOutPulseWidth</td></tr><tr><td>Neon_GetStrobeOutPulseWidth</td></tr><tr><td>Neon SetExposureDelay</td></tr><tr><td>Neon GetExposureDelay</td></tr><tr><td>Neon_SetDebounceTime</td></tr><tr><td>Neon_GetDebounceTime</td></tr></table>

# 2.2 Function Library

# 2.2.1 Device Control Function

# Neon\_GetDeviceInfo

Retrieves device information.

# Syntax

C/C++

int Neon\_GetDeviceInfo (char\* sVersion, int iSize)

# Parameter(s)

sVersion:

An allocated buffer must be assigned to read the device version. The device information format is:

[Device1 Name]: [Version]

[Device2 Name]: [Version]

...

Each device description is separated by a break line character '\n'

iSize:

The number of “sVersion” bytes. The suggested size is 256.

# Return Code

Returns true if successful, otherwise neon\_ERROR.

# 2.2.2 DIO Functions

# Neon\_GetDINums

Retrieves the number of DIs.

# Syntax

C/C++

int Neon\_GetDINums (unsigned int\* iCounts)

# Parameter(s)

iCounts:

Returns the number of DIs.

# Return Code

Returns true if successful, otherwise returns COMMON\_ERROR.

# Neon\_GetDONums

Retrieves the number of DOs.

# Syntax

C/C++

int Neon\_GetDONums (unsigned int\* iCounts)

# Parameter(s)

iCounts:

Returns the number of DOs.

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_SetDOState

Turns DO on or off.

# Syntax

```txt
C/C++
```

```txt
int Neon_SetDOState (unsigned int iIndex, int iState)
```

# Parameter(s)

ilIndex:

Sets the Index of the DO; zero-based.

iState:

Sets the state of the DO: 1 is on, 0 is off.

```txt
e.g. Neon_SetDOState (0,1) -> Sets DO channel 1 to on
```

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_GetDOState

Gets the DO's state.

# Syntax

```txt
C/C++
```

```c
int Neon_GetDOState (unsigned int iIndex, int* iState)
```

# Parameter(s)

ilIndex:

Sets the Index of the DO; zero-based. (Only one DO state can be read in the NEON-2000-JT2.)

iState:

Gets the state of the DO: 1 is on, 0 is off.

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_GetDIState

Gets the DI's state.

# Syntax

C/C++

int Neon\_GetDIState (unsigned int iIndex, int\* iState)

# Parameter(s)

ilIndex:

Sets the Index of the DI; zero-based.

iState:

Gets the state of the DI: 1 is on, 0 is off.

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_GetDI0Config

Gets the DI0 config type.

# Syntax

```txt
C/C++
```

```txt
int Neon_GetDI0Config (int* iCfg_type)
```

# Parameter(s)

iCfg\_type:

The config type value can be 0 or 1. Use the following enumeration to define the value.

```c
enum DI_CONFIGTYPE
{
    DI_CONFIGTYPE_TRIGGER=0,
    DI_CONFIGTYPE_DIGITAL,
    DI_CONFIGTYPE_MAXIMUM
};
```

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_SetDI0Config

Sets the D10 config type.

# Syntax

```c
C/C++
int Neon_SetDI0Config (int iCfg_type)
```

# Parameter(s)

iCfg\_type:

The config type value can be 0 or 1. Use the following enumeration to define the value.

```c
enum DI_CONFIGTYPE
{
    DI_CONFIGTYPE_TRIGGER=0,
    DI_CONFIGTYPE_DIGITAL,
    DI_CONFIGTYPE_MAXIMUM
};
```

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_GetDO0Config

Gets the DO0 config type.

# Syntax

```txt
C/C++
```

```ocaml
int Neon_GetDO0Config (int* iCfg_type)
```

# Parameter(s)

iCfg\_type:

The config type value can be 0 or 1. Use the following enumeration to define the value.

```c
enum DO_CONFIGTYPE
{
    DO_CONFIGTYPE_TRIGGER=0,
    DO_CONFIGTYPE_DIGITAL,
    DO_CONFIGTYPE_MAXIMUM
};
```

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_SetDO0Config

Sets the DO0 config type.

# Syntax

```c
C/C++
int Neon_SetDO0Config (int iCfg_type)
```

# Parameter(s)

iCfg\_type:

The config type value can be 0 or 1. Use the following enumeration to define the value.

```c
enum DO_CONFIGTYPE
{
    DO_CONFIGTYPE_TRIGGER=0,
    DO_CONFIGTYPE_DIGITAL,
    DO_CONFIGTYPE_MAXIMUM
};
```

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_SetStrobeOutEnable

Enables/disables the strobe out trigger.

# Syntax

```txt
C/C++
```

```txt
int Neon_SetStrobeOutEnable(int iEnable)
```

# Parameter(s)

```txt
iEnable:
```

```txt
1 = enable, 0 = disable.
```

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_GetStrobeOutEnable

Gets the enabled state of the strobe out trigger.

# Syntax

```txt
C/C++
```

```txt
int Neon_GetStrobeOutEnable(int* iEnable)
```

# Parameter(s)

```txt
iEnable:
```

Returns the enabled state.

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_SetStrobeOutDelay

Sets the delay time of the strobe out in microseconds.

# Syntax

```txt
C/C++
```

int Neon\_SetStrobeOutDelay (unsigned int iMicrosecond)

# Parameter(s)

iMicrosecond:

The number of microseconds for the strobe out delay.

(0 - 4294967295, map to 1 - 4294967296 μs)

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_GetStrobeOutDelay

Gets the delay time of the strobe out in microseconds.

# Syntax

```txt
C/C++
```

int Neon\_GetStrobeOutDelay (unsigned int\* iMicrosecond)

# Parameter(s)

iMicrosecond:

Returns the number of microseconds of the strobe out delay.

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_SetStrobeOutPulseWidth

Sets the pulse width of the strobe out in microseconds.

# Syntax

```txt
C/C++
```

int Neon\_SetStrobeOutPulseWidth (unsigned int iMicrosecond)

# Parameter(s)

iMicrosecond:

The number of microseconds for the strobe out pulse width.

(0 - 4294967295, map to 1 - 4294967296 μs)

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_GetStrobeOutPulseWidth

Gets the pulse width of the strobe out in microseconds.

# Syntax

```txt
C/C++
```

int Neon\_GetStrobeOutPulseWidth (unsigned int\*iMicrosecond)

# Parameter(s)

iMicrosecond:

Returns the number of microseconds of the strobe out pulse width.

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_SetExposureDelay

Sets the delay time of the exposure in microseconds.

# Syntax

```txt
C/C++
```

```txt
int Neon_SetExposureDelay (unsigned int iMicrosecond)
```

# Parameter(s)

iMicrosecond:

The number of microseconds for the exposure delay.

```txt
(0 - 4294967295 μs)
```

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_GetExposureDelay

Gets the delay time of the exposure in microseconds.

# Syntax

```txt
C/C++
```

```txt
int Neon_GetExposureDelay (unsigned int* iMicrosecond)
```

# Parameter(s)

iMicrosecond:

Returns the number of microseconds of the exposure delay.

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_SetDebounceTime

Sets the debounce time.

# Syntax

```txt
C/C++
```

```m4
int Neon_SetDebounceTime(unsigned int iNtimes40ns)
```

# Parameter(s)

iNtimes40ns:

The number of microseconds for setting debounce time.

```txt
(0 - 16777215, 0 is bypass; others (1 - 16777215) * 40ns)
```

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Neon\_GetDebounceTime

Gets the debounce time.

# Syntax

```txt
C/C++
```

```m4
int Neon_GetDebounceTime(unsigned int*iNtimes40ns)
```

# Parameter(s)

iNtimes40ns:

Returns the number of microseconds of debounce time.

# Return Code

Returns true if successful, otherwise COMMON\_ERROR.

# Important Safety Instructions

For user safety, please read and follow all instructions, Warnings, Cautions, and Notes marked in this manual and on the associated device before handling/operating the device, to avoid injury or damage.

S'il vous plaît prêter attention stricte à tous les avertissements et mises en garde figurant sur l'appareil, pour éviter des blessures ou des dommages.

▶ Read these safety instructions carefully
- Keep the User’s Manual for future reference
▶ Read the Specifications section of this manual for detailed information on the recommended operating environment
The device can be operated at an ambient temperature of $55^{\circ}$ C (with DC supply) and $50^{\circ}$ C (with adapter supply);
- When installing/mounting or uninstalling/removing device; or when removal of a chassis cover is required for user servicing:
▷ Turn off power and unplug any power cords/cables
▷ Reinstall all chassis covers before restoring power
▶ To avoid electrical shock and/or damage to device:
▷ Keep device away from water or liquid sources
▷ Keep device away from high heat or humidity
▷ Keep device properly ventilated (do not block or cover ventilation openings)
▶ Always use recommended voltage and power source settings
▶ Always install and operate device near an easily accessible electrical outlet
▷ Secure the power cord (do not place any object on/over the power cord)
▶ Only install/attach and operate device on stable surfaces and/or recommended mountings

▶ If the device will not be used for long periods of time, turn off and unplug from its power source

▶ Never attempt to repair the device, which should only be serviced by qualified technical personnel using suitable tools
▶ A Lithium-type battery may be provided for uninterrupted backup or emergency power.

![The image displays a standard safety warning sign featuring a yellow triangle with a black border. Inside the triangle is a large black exclamation point. Directly below the triangle, the word 'CAUTION:' is printed in bold, black, capital letters.](.neon-2000-jt2-flr-50-40384-9010-11/511f1dd6e69d24fdfc70db7c89802bfa8116f342d09f8c44c970fffc5066c396.jpg)

Risk of explosion if battery is replaced with one of an incorrect type; please dispose of used batteries appropriately.

Risque d'explosion si la pile est remplacée par une autre de type incorrect. Veuillez jeter les piles usagées de façon appropriée.

▶ The device must be serviced by authorized technicians when:

The power cord or plug is damaged
▷ Liquid has entered the device interior
The device has been exposed to high humidity and/or moisture
The device is not functioning or does not function according to the User's Manual
The device has been dropped and/or damaged and/or shows obvious signs of breakage

▶ Disconnect the power supply cord before loosening the thumbscrews and always fasten the thumbscrews with a screwdriver before starting the system up

It is recommended that the device be installed only in a server room or computer room where access is:

▶ Restricted to qualified service personnel or users familiar with restrictions applied to the location, reasons therefor, and any precautions required

▶ Only afforded by the use of a tool or lock and key, or other means of security, and controlled by the authority responsible for the location

▶ If PoE (Power over Ethernet) is enabled for the device, the system can ONLY be deployed indoors. Unless otherwise noted, the PoE system is NOT designed to withstand the rigors of outdoor use.

![Yellow triangular warning sign with black smoke symbol indicating hot weather](.neon-2000-jt2-flr-50-40384-9010-11/d10cf993fd3ed11f660066591ee86077dd2d021b7686f9786dd4a00a73dc0aac.jpg)

# BURN HAZARD

Touching this surface could result in bodily injury. To reduce risk, allow the surface to cool before touching.

# RISQUE DE BRÛLURES

Ne touchez pas cette surface, cela pourrait entraîner des blessures.

Pour éviter tout danger, laissez la surface refroidir avant de la toucher.

This page intentionally left blank.

# Getting Service

Ask an Expert: http://askanexpert.adlinktech.com

# ADLINK Technology, Inc.

9F, No.166 Jian Yi Road, Zhonghe District

New Taipei City 235, Taiwan

Tel: +886-2-8226-5877

Fax: +886-2-8226-5717

Email: service@adlinktech.com

# Ampro ADLINK Technology, Inc.

5215 Hellyer Avenue, #110

San Jose, CA 95138, USA

Tel: +1-408-360-0200

Toll Free: +1-800-966-5200 (USA only)

Fax: +1-408-360-0222

Email: info@adlinktech.com

# ADLINK Technology (China) Co., Ltd.

300 Fang Chun Rd., Zhangjiang Hi-Tech Park

Pudong New Area, Shanghai, 201203 China

Tel: +86-21-5132-8988

Fax: +86-21-5132-3588

Email: market@adlinktech.com

# ADLINK Technology GmbH

Hans-Thoma-Strasse 11

D-68163 Mannheim, Germany

Tel: +49-621-43214-0

Fax: +49-621 43214-30

Email: emea@adlinktech.com

Please visit the Contact page at www.adlinktech.com for information on how to contact the ADLINK regional office nearest you:
[🔗 Link to the original document](.neon-2000-jt2-flr-50-40384-9010-11/neon-2000-jt2-flr-50-40384-9010-11.pdf)
