===================================================================== = Linux Driver for Analog Input/Output = = API-AIO(LNX) Ver6.60 = = CONTEC Co.,Ltd. = ===================================================================== Contents ======= Introduction About the Product Restrictions Note How to install Sample programs How to Help Version up history Introduction ============ Thank you for purchasing this product. The explanation of API-AIO(LNX) is described as follows. You must read it because some contents are not described in help. Product introduction =========== - API-AIO(LNX) supplies the set of functions for controlling our analog I/O board by the driver and the shared library in module. - The basic functionality of input and output, interrupt, trigger monitor with timer is provided. - Setup and use the device to be used by using the setup program (config) and setup files. - Setup program generates the setting file, driver start script file and stop script file, which are used for easily migrating to executing environment. Restrictions ============ Please check the help for the supported Linux version of this product. This product supports the following device. * F Series : ADA16-32/2(PCI)F, AIO-163202F-PE L Series : ADA16-8/2(LPCI)L, AD16-64(LPCI)LA, AD16-16(LPCI)L, DA16-16(LPCI)L, DA16-8(LPCI)L, DA16-4(LPCI)L ADAI16-8/2(LPCI)L, ADI16-16(LPCI)L, DAI16-4(LPCI)L, AIO-160802L-LPE, AI-1616L-LPE, AO-1604L-LPE, AIO-121602AH-PCI, AIO-121602AL-PCI, AI-1216AH-PCI, AI-1216AL-PCI, AIO-160802LI-PE, AI-1616LI-PE, AO-1604LI-PE, AI-1664LA-LPE, AO-1608L-LPE, AO-1616L-LPE, E Series : AD12-16(PCI)E, AD12-16(PCI)EV, AD12-16U(PCI)E, AD12-16U(PCI)EH, AD12-16U(PCI)EV, AD16-16(PCI)E, AD16-16(PCI)EV, AD16-16U(PCI)EH, AD16-16U(PCI)EV, AIO-121601E3-PE, AIO-121601UE3-PE, AIO-161601E3-PE, AIO-161601UE3-PE, AI-1216I2-PCI Z Series : AI-1204Z-PE USB Device : AI-1608AY-USB, AI-1608GY-USB, AIO-160802AY-USB, AIO-160802GY-USB, AIO-163202FX-USB, AI-1664LAX-USB, AO-1604LX-USB, AIO-120802LN-USB, AIO-121602LN-USB, AI-1608AIN-USB, AI-1608VIN-USB, AO-1604AIN-USB, AO-1604VIN-USB NET Device : CPSN-AI-1208LI, CPSN-AI-2408LI, CPSN-AO-1602LC, AI-1004LY-WQ, AI-1004LY-WQ-EU, AI-1004LY-WQ-US, AI-1004LY-WQ-CN, AI-1608VIN-ETH, AI-1608AIN-ETH, AO-1604VIN-ETH, AO-1604AIN-ETH CONPROSYS Series : CPS-AI-1608LI, CPS-AI-1608ALI, CPS-AO-1604LI, CPS-AO-1604VLI (Used in combination with CPS-BXC200) Raspberry Pi Expansion Card CPI Series : CPI-AI-1208LI, CPI-AO-1602LC DEMO Device : AIO-16256256-DEMO G Series : AIO-163202G-PE, AIO-163202UG-PE, AIO-123202G-PE, AIO-123202UG-PE, AI-1664UG-PE Note ========== To install and setup the driver, it is required to startup with root authority. How to install ================== Refer to the following help file after extracting the download file. contec/caio/help/en/caio.htm Sample programs ==================== The sample programs are contained in the following directory by language. //contec/caio/samples The explanation of directory /inc Include the function define file in C/C++ and Python. When you create the program in C/C++ or Python, incule this file. And, don't edit this file. /gcc/console Sample program source code in C language and Makefile. /python/console Sample program source code in Python language. How to Help ==================== Please open the htm file below to see the help. /help/en/caio.htm - The history of version-up =========================== Ver6.60 (Web Release 2025.01) -------------------------------- - Add support controller Support controller: CPSN-MCB271-1-081 - Fixed a bug that the AioInit function may end normally when the following devices are not registered by the Configuration. Target device: AI-1608AIN-ETH AI-1608VIN-ETH AO-1604AIN-ETH AO-1604VIN-ETH AI-1004LY-WQ AI-1004LY-WQ-EU AI-1004LY-WQ-US AI-1004LY-WQ-CN CPSN-AI-1208LI + CPSN-MCB271 CPSN-AI-2408LI + CPSN-MCB271 CPSN-AO-1602LC + CPSN-MCB271 Ver6.50 (Web Release 2024.12) -------------------------------- - Add support development language Support language: Python 3.13 - The support on the the following development languages was terminated Python 3.8 - Add support platform - DX-M2300 - Add confirmation distribution (DX-M2300) - Ubuntu 20.04.6 LTS (64-bit) Kernel 5.10.192-tegra (aarch64) - The support on the following distributions was terminated - Red Hat Enterprise Linux 7.2 (x86_64) - Red Hat Enterprise Linux 7.1 (x86_64) - Red Hat Enterprise Linux 7.0 (x86_64) Ver6.40 (Web Release 2024.10) -------------------------------- - Add support platform - MR4100 - Add confirmation distribution (MR4100) - MIRACLE LINUX 9.0 (64-bit) Kernel 5.14.0-70.13.1.el9_0.x86_64 - Add confirmation distribution (DX-U2200) - Ubuntu 20.04.6 LTS (64-bit) Kernel 5.10.192-tegra (aarch64) - Add confirmation distribution (DX-U2100) - Ubuntu 20.04.6 LTS (64-bit) Kernel 5.10.192-tegra (aarch64) - Add confirmation distribution (DX-U1220, DX-U1220P1) - Ubuntu 20.04.6 LTS (64-bit) Kernel 5.10.192-tegra (aarch64) - Ubuntu 20.04.6 LTS (64-bit) Kernel 5.10.120-tegra (aarch64) - Ubuntu 18.04.6 LTS (64-bit) Kernel 4.9.337-tegra (aarch64) - Add confirmation distribution (DX-U1200, DX-U1200P1, DX-U1210) - Ubuntu 20.04.6 LTS (64-bit) Kernel 5.10.120-tegra (aarch64) - Ubuntu 18.04.6 LTS (64-bit) Kernel 4.9.337-tegra (aarch64) - Add confirmation distribution (DX-U1100, DX-U1100P1) - Ubuntu 18.04.6 LTS (64-bit) Kernel 4.9.337-tegra (aarch64) - Add confirmation distribution (Raspberry Pi 3, Raspberry Pi 4) - Raspberry Pi OS (64-bit) March 2024 - Raspberry Pi OS (32-bit) March 2024 - Raspberry Pi OS (Legacy) (64-bit) March 2024 - Raspberry Pi OS (Legacy) (32-bit) March 2024 Ver6.30 (Web Release 2024.09) -------------------------------- - Add support platform - CPI-MS10CM4-2E021 - CPI-PS10CM4-2E021 Ver6.20 (Web Release 2024.07) -------------------------------- - New corresponded distribution - Red Hat Enterprise Linux 9.4 (x86_64) - Add confirmation distribution - Ubuntu 24.04 LTS (x86_64) - Add support platform - Raspberry Pi 5 - Add confirmation distribution (Raspberry Pi 5) - Raspberry Pi OS (64-bit) March 2024 - The support on the following distributions was terminated - Red Hat Enterprise Linux 6.7 (x86_64) - Red Hat Enterprise Linux 6.7 (i686) - Red Hat Enterprise Linux 6.0 (i686) - Ubuntu 14.04.3 LTS (x86_64) - Ubuntu 14.04.3 LTS (i686) Ver6.10 (Web Release 2024.04) -------------------------------- - Add support device Support device: AI-1608VIN-ETH AI-1608AIN-ETH AO-1604VIN-ETH AO-1604AIN-ETH Ver6.00 (Web Release 2024.04) -------------------------------- - Add support platform - Tinker Board 2 - Tinker Board 2S - Add confirmation distribution (Tinker Board 2, Tinker Board 2S) - Debian 11 V3.0.11 (64-bit) Kernel 5.10.160 (aarch64) - Debian 10 V2.1.16 (64-bit) Kernel 4.19.232 (aarch64) Ver5.90 (Web Release 2024.01) -------------------------------- - Add support development language Support language: Python 3.12 - Sample update - Add confirmation distribution (DX-U2100, DX-U2200) - Ubuntu 20.04.6 LTS (64-bit) Kernel 5.10.120-tegra (aarch64) - Add confirmation distribution - Ubuntu 22.04.3 LTS (x86_64) Ver5.80 (Web Release 2023.09) -------------------------------- - New corresponded distribution - Red Hat Enterprise Linux 9.2 (x86_64) - Red Hat Enterprise Linux 8.8 (x86_64) - Add confirmation distribution(VPC-7000) - MIRACLE LINUX 8.6 (64-bit) Kernel 4.18.0-372.9.1.el8.x86_64 - Add confirmation distribution(VPC-5000-J) - MIRACLE LINUX 8.4 (64-bit) Kernel 4.18.0-305.el8.x86_64 - Add confirmation distribution - Raspberry Pi OS (64-bit) May 2023 - Raspberry Pi OS (32-bit) May 2023 - Raspberry Pi OS (Legacy) (32-bit) May 2023 - Add support controller Support controller: CPSN-MCB271-1-041 Ver5.71 (Web Release 2023.07) -------------------------------- - Fixed a bug that the AioInit function may terminate normally even if the device cannot be recognized normally. Tartget device: CPI-AI-1208LI CPI-AO-1602LC - Fixed a bug that the input value may be abnormal with CPI-AI-1208LI Ver5.70 (Web Release 2023.06) -------------------------------- - Add support device Support device: AI-1664UG-PE - Changed the character code of error string to UTF-8 in Python samples. Ver5.60 (Web Release 2023.03) -------------------------------- - New corresponded distribution - Red Hat Enterprise Linux 8.6 (x86_64) - Red Hat Enterprise Linux 8.4 (x86_64) - Add confirmation distribution - Ubuntu 22.04.2 LTS (x86_64) - Raspberry Pi OS (64-bit) February 2023 - Raspberry Pi OS (32-bit) February 2023 - Raspberry Pi OS (Legacy) (32-bit) February 2023 - Add support device Support device: AIO-163202G-PE AIO-163202UG-PE AIO-123202G-PE AIO-123202UG-PE - Add new function New function: AioSetAiTransferSize AioGetAiTransferSize AioSetAoTransferSize AioGetAoTransferSize Ver5.50 (Web Release 2023.01) -------------------------------- - Add confirmation distribution (DX-U1220, DX-U1220P1) - Ubuntu 20.04.4 LTS (64-bit) Kernel 5.10.104-tegra (aarch64) - Ubuntu 18.04.6 LTS (64-bit) Kernel 4.9.253-tegra (aarch64) - Ubuntu 18.04.5 LTS (64-bit) Kernel 4.9.253-tegra (aarch64) - Add confirmation distribution (DX-U1200, DX-U1200P1, DX-U1210) - Ubuntu 20.04.4 LTS (64-bit) Kernel 5.10.104-tegra (aarch64) - Ubuntu 18.04.6 LTS (64-bit) Kernel 4.9.253-tegra (aarch64) - Add confirmation distribution (DX-U1100, DX-U1100P1) - Ubuntu 18.04.6 LTS (64-bit) Kernel 4.9.253-tegra (aarch64) Ver5.40 (Web Release 2022.11) -------------------------------- - Add support development language Support language: Python 3.11 - Add a sample Add sample: Digital input and output - Fixed a bug that AioSingleAoEx(), AioMultiAoEx() may cause a wrong error. Target device: USB device - Fixed a bug that cause a wrong error when executing the function, or the retrieved value is abnormal. Target function: AioGetAiStartLevelEx AioGetAiStartInRangeEx AioGetAiStartOutRangeEx AioGetAiStopLevelEx AioGetAiStopInRangeEx AioGetAiStopOutRangeEx - Fixed a bug that cause a wrong error when executing a function that cannot be used. Target device: CPI series Ver5.30 (Web Release 2022.07) -------------------------------- - New corresponded distribution - Red Hat Enterprise Linux 9.0 (x86_64) - Add confirmation distribution - Ubuntu 22.04 LTS (x86_64) - Raspberry Pi OS (64-bit) April 2022 - Raspberry Pi OS (32-bit) April 2022 - Add support device Support device: AIO-16256256-DEMO - Fixed a bug that I2C-0 area was accessed on platforms other than Raspberry Pi in the configuration. - Fixed a bug that CPI series displays that there is no device driver when outputting a diagnostic report. - Fixed a bug that a segmentation fault occurs when AioExit is executed twice or more when using two or more CPI series in the same process. Ver5.20 (Web Release 2022.05) -------------------------------- - Add confirmation distribution (DX-U1100, DX-U1100P1) - Ubuntu 18.04.5 LTS (64-bit) Kernel 4.9.201-tegra (aarch64) - Ubuntu 18.04.5 LTS (64-bit) Kernel 4.9.253-tegra (aarch64) - Add confirmation distribution (DX-U1200, DX-U1200P1, DX-U1210) - Ubuntu 18.04.5 LTS (64-bit) Kernel 4.9.201-tegra (aarch64) - Ubuntu 18.04.5 LTS (64-bit) Kernel 4.9.253-tegra (aarch64) Ver5.10 (Web Release 2022.03) -------------------------------- - Add confirmation distribution (Raspberry Pi) - Raspberry Pi OS (64-bit) January 2022 - Raspberry Pi OS (32-bit) January 2022 - Raspberry Pi OS (Legacy) (32-bit) January 2022 Ver5.01 (Web Release 2022.02) -------------------------------- - Fixed a bug that the API-AIO(LNX) and the API-SMC(LNX) can't be used in the same process. - Fixed a bug that the analog input value could not be acquired normally on CPI-AI-1208LI. Ver5.00 (Web Release 2022.01) -------------------------------- - Add support development language Support language: Python 3.10 - Fixed a bug that two or more categories (AIO and DIO, etc.) cannot be used at the same time when the device is accessed via LAN. Ver4.90 (Web Release 2021.11) -------------------------------- - Add support device Support device: CPI-AI-1208LI CPI-AO-1602LC Ver4.80 (Web Release 2021.09) -------------------------------- - Add support platform - DX-U1200 - DX-U1200P1 - DX-U1210 - Add confirmation distribution (DX-U1200, DX-U1200P1, DX-U1210) - Ubuntu 18.04.5 LTS (64-bit) Kernel 4.9.140-tegra (aarch64) - Fixed a bug that the OS may freeze while using a USB device. - Added a configurable combination of synchronous bus slave signals in the AioSetEcuSignal function. Target device:AI-1204Z-PE Ver4.70 (Web Release 2021.06) -------------------------------- - Add confirmation distribution (Raspberry Pi) - Raspberry Pi OS (32-bit) March 2021 Ver4.60 (Web Release 2021.05) -------------------------------- - Tested on the following distribution. Ubuntu 20.04.2 LTS (x86_64) - Add diagnostic report function to the Setup Tool. Ver4.50 (Web Release 2021.04) -------------------------------- - Add support development language Support language: Python 3.9 Ver4.40 (Web Release 2021.03) -------------------------------- - Add support platform - DX-U1100 - DX-U1100P1 - Add confirmation distribution (DX-U1100, DX-U1100P1) - Ubuntu 18.04.5 LTS (64-bit) Kernel 4.9.140-tegra (aarch64) Ver4.30 (Web Release 2021.02) -------------------------------- - Add support device Support device: AI-1204Z-PE Ver4.20 (Web Release 2020.12) -------------------------------- - Add support platform - Raspberry Pi 3 Model B+ - Raspberry Pi 4 Model B - Add confirmation distribution (Raspberry Pi) - Raspberry Pi OS (32-bit) August 2020 - Ubuntu 20.04.01 LTS Server(64-bit) Ver4.10 (Web Release 2020.12) -------------------------------- - Add support device Support device: AD12-64(PCI) AD12-16(PCI) AI-1604CI2-PCI DA12-16(PCI) DA12-8(PCI) DA12-4(PCI) AO-1604CI3-PCI AI-1216I2-PCI AI-1608GY-USB AI-1004LY-WQ-EU AI-1004LY-WQ-US AI-1004LY-WQ-CN CPSN-AI-2408LI - Add support controller Support controller:GW1-ETH-WQ-EU GW1-ETH-WQ-US GW1-ETH-WQ-CN Ver4.00 (Web Release 2020.11) -------------------------------- - Add support device Support device: CPSN-AO-1602LC Ver3.90 (Web Release 2020.09) -------------------------------- - Add support development language Support language: Python 3.8 Ver3.80 2020.07 (Web release) - Fixed a bug that Segmentation fault occurs when AioStartCnt is executed. - Tested on the following distribution. Ubuntu 20.04 LTS (x86_64) Ver3.71 2020.03 (Web release) - Fixed a bug that USB bus products may not be recognized properly in some environments. - Fixed a bug that PCI/PCI Express bus products and USB bus products cannot be used properly when used simultaneously. Ver3.70 2019.11 (Web release) - New corresponded distribution Red Hat Enterprise Linux 8.0(x86_64) - Tested on the following distribution. Ubuntu 18.04.3 LTS (x86_64) Ver3.60 2019.11 (Web release) - Supports new devices AI-1608AIN-USB AI-1608VIN-USB AO-1604AIN-USB AO-1604VIN-USB Ver3.50 2019.11 (Web release) - Supports new devices CPS-AI-1608LI CPS-AI-1608ALI CPS-AO-1604LI CPS-AO-1604VLI (Used in combination with CPS-BXC200) Ver3.40 2019.11 (Web release) - Supports new devices AI-1608AY-USB AIO-160802AY-USB AIO-160802GY-USB AIO-163202FX-USB AI-1664LAX-USB AO-1604LX-USB AIO-120802LN-USB AIO-121602LN-USB Ver3.31 2019.10 (Web release) - Fixed a bug that the specified number of events does not occur normally. Ver3.30 2018.11.21 (Web release) - Tested on the following distributions. Ubuntu 16.04.1 LTS (i686) Ubuntu 16.04.1 LTS (x86_64) Ubuntu 16.04.5 LTS (i686) Ubuntu 18.04.1 LTS (x86_64) Fedora 24 (i686) Fedora 24 (x86_64) Ver3.20 2018.11.13 (Web release) - Supports new devices AD12-16(PCI)E AD12-16(PCI)EV AD12-16U(PCI)E AD12-16U(PCI)EH AD12-16U(PCI)EV AD16-16(PCI)E AD16-16(PCI)EV AD16-16U(PCI)EH AD16-16U(PCI)EV AIO-121601E3-PE AIO-121601UE3-PE AIO-161601E3-PE AIO-161601UE3-PE Ver3.10 2018.11.05 (Web release) - Supports new devices CPSN-AI-1208LI AI-1004LY-WQ Ver3.01 2018.05 (Web release) - Fixed an issue where AioQueryDevcieName could not be executed before running AioInit. Ver3.00 2018.01.23 (Web release) - A part of driver source code is published - Change support device. - New corresponded distributions Red Hat Enterprise Linux 7.2(x86_64) Red Hat Enterprise Linux 7.1(x86_64) Red Hat Enterprise Linux 7.0(x86_64) Red Hat Enterprise Linux 6.7(x86_64) Red Hat Enterprise Linux 6.7(i686) - Tested on the following distributions. CentOS 7.2-1511 CentOS 7.0-1406 Ubuntu 14.04.3 LTS Fedora 20 - The support on the following distributions was terminated RedHat Linux 7.1 RedHat Linux 7.2 RedHat Linux 7.3 RedHat Linux 8.0 RedHat Linux 9.0 Red Hat Professional Workstation Red Hat Enterprise Linux 4 Red Hat Enterprise Linux 5 Red Hat Enterprise Linux 5.8 Red Hat Enterprise Linux 6.3 TurboLinux 7.0 TurboLinux 8 TurboLinux 10 Server TurboLinux 11 Server TurboLinux 11 Server SP1 TurboLinux 11 Server(x86_64) Ver2.20 2012.09.21 (Web release) -------------------------------- - Corresponded to the following 64 bit distributions Red Hat Enterprise Linux 5.8(x86_64). Red Hat Enterprise Linux 6.3(x86_64). Turbo Linux 11 server(x86_64). Ver2.10 2012.02.23 (Web release) -------------------------------- - SMP support was introduced in the following distributions Red Hat Enterprise Linux 5. Red Hat Enterprise Linux 6. Turbo Linux 11 server. Turbo Linux 11 server SP1. Ver2.00 2011.05.11 (Web release) -------------------------------- - Corresponded to a new distribution Red Hat Enterprise Linux 5. Red Hat Enterprise Linux 6. Turbo Linux 11 server. Turbo Linux 11 server SP1. Ver1.91 2008.11.30 (Ver.Jan.2010) -------------------------------- - Solves the problem that error code 1 occurs when AioInit is called by AI1216AL-PCI. Ver1.90 2008.03.31 (Ver.Mar.2008) -------------------------------- - Supports new devices AIO-160802LI-PE, AI-1616LI-PE, AI-1664LA-LPE, AO-1604LI-PE, AO-1616L-LPE, AO-1608L-LPE Ver1.80 2007.09.30 (Ver.Oct.2007) -------------------------------- - Supports new devices AIO-121601UE3-PE, AIO-121601E3-PE, AIO-161601UE3-PE, AIO-161601E3-PE Ver1.70 2007.06.11 (Ver.Jun.2007) -------------------------------- - Supports new devices AIO-121602AH-PCI, AIO-121602AL-PCI, AI-1216AH-PCI AI-1216AL-PCI, AI-1216B-RB1-PCI, AI-1216B-RU1-PCI Ver1.60 2006.09.01 -------------------------------- - It corresponds to kernel 2.6.xx - It corresponds to Red Hat Enterprise Linux 4. - It corresponds to Turbo Linux 10 server. Ver1.50 2006.07.14 (Ver.Aug.2006) -------------------------------- - Supports new devices AIO-160802L-LPE, AI-1616L-LPE, AO-1604L-LPE Ver1.40 2006.03.24 (Ver.Apr.2006) -------------------------------- - Supports new devices AIO-163202F-PE, DA16-16(LPCI)L, DA16-8(LPCI)L Ver1.30 2005.09.29 (Ver.Nov.2005) -------------------------------- - Supports new devices AD12-16(PCI)EV, AD16-16(PCI)EV, AD12-16U(PCI)EV, AD16-16U(PCI)EV AD16-64(LPCI)LA Ver1.20 2005.07.22 (Ver.Aug.2005) -------------------------------- - Supports new devices ADAI16-8/2(LPCI)L, ADI16-16(LPCI)L, DAI16-4(LPCI)L Ver1.10 2004.08.24 (Ver.Oct.2004) -------------------------------- - Supports new devices ADA16-8/2(CB)L - Supports new OS RedHat Professional Workstation Ver1.00 2003.10.31 (Ver.Nov.2003) -------------------------------- - First release