===================================================================== = Linux Driver for Digital Input/Output = = API-DIO(LNX)u Ver4.40 = = CONTEC Co.,Ltd. = ===================================================================== Contents ======= Introduction About the Product Restrictions Note How to install Installed files How to uninstall Sample programs Version up history Introduction ============ The explanation of API-DIO(LNX)u is described as follows. You must read it because some contents are not described in help. Product introduction =========== - API-DIO(LNX)u supplies the set of functions for controlling our digital 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 and driver start script file required for shifting to executing environment and stop script file. - The source code of user interrupt processing which can execute with the driver is supplied. Note ========== To install and setup the driver, it is required to startup with root authority. How to install ================== The driver is provided in a compressed file. You can use the following command in shell to copy/extract it. If you want to change the library install path to a location, such as /usr/local/lib, you should find the Makefile and change the install path in advance. -X.XX is driver's version. # cd # mount /dev/cdrom /mnt/cdrom # cp /mnt/cdrom/linux/dio/cdioX.XXu.tgz ./ # tar xvfz cdioX.XXu.tgz ................ # cd contec/cdio # make ................ # make install ................ # cd config # ./config ..... Setup the following ......... # ./contec_dio_start.sh Start and stop the driver by executing contec_cnt_start.sh and contec_cnt_stop.sh. If you want to start driver when the system started, please add the processing contents of start script to /etc/rc.d/rc.local. Installed files ============================ - The compressed file of the product installs files in the hierarchical directory structure as follows. //contec //contec/cdio cdio_uninstall.sh ............ Shell script for uninstall Makefile ..................... Make file for install readme.txt ................... README file /config config ................... Setup program contec_dio.conf .......... Setup file: created by executing config, It is copied to /proc as the start script contec_dio_start.sh ...... Driver start script contec_dio_stop.sh ....... Driver stop script cdio.o ................... Driver for the version of the started OS /2.4.2-2 cgetres.o ............ Driver for config to get the resources /2.4.5-3 ................. /Same as 2.4.2-2 /2.4.7-10 ................ /Same as 2.4.2-2 /2.4.18-1 ................ /Same as 2.4.2-2 /2.4.18-3 ................ /Same as 2.4.2-2 /2.4.18-14 ............... /Same as 2.4.2-2 /2.4.20-8 ................ /Same as 2.4.2-2 /2.4.21-4.EL ............. /Same as 2.4.2-2 /2.6.8-1 cgetres.ko ........... Driver for config which getting the resource /2.6.9-5.EL .............. /Same as 2.6.8-1 /2.6.18-8.el5 ............ /Same as 2.6.8-1 /2.6.23-2 .............. /Same as 2.6.8-1 /module Makefile ................. Make file for compiling and installing Cdio_user_irq.c .......... Source of user interrupt processing /2.4.2-2 cdio_raw.o ............ Compiled driver object(except user interrupt processing routine) cdio.o ................ Compiled driver /2.4.5-3 ................. /Same as 2.4.2-2 /2.4.7-10 ................ /Same as 2.4.2-2 /2.4.18-1 ................ /Same as 2.4.2-2 /2.4.18-3 ................ /Same as 2.4.2-2 /2.4.18-14 ............... /Same as 2.4.2-2 /2.4.20-8 ................ /Same as 2.4.2-2 /2.4.21-4.EL ............. /Same as 2.4.2-2 /2.6.8-1 cdio_raw.ko .......... Compiled driver object(except user interrupt processing routine) cdio.ko .............. Compiled driver /2.6.9-5.EL ............. /Same as 2.6.8-1 /2.6.18-8.el5 ........... /Same as 2.6.8-1 /2.6.23-2 ............. /Same as 2.6.8-1 /library Makefile ................. Make file for installing libcdio.so.1.0 ........... Shared library /samples/ console/ ................. Console sample directory BusMaster/ ............ BusMaster sample directory console_curses/ .......... Console sample directory which used curses BusMaster/ ............ BusMaster sample directory /help/ diohelp.htm ............... html help files dio_dm_help.htm ........... html help files for BusMaster data/ ..................... Help data dm_data/ .................. Help data - The following files are copied to system by executing make install. /usr/lib/libcdio.so ........... Shared library /usr/lib/libcdio.so.1.0 ....... Shared library - The following files are created in system by performing the start script of driver. /dev/cdioXXX (XXX is digital) ..File node of driver /proc/contec_dio.conf ..........The copy of the setup file How to uninstall ====================== Perform the shell script for uninstallation to uninstall this product. # cd contec # ./cdio_uninstall.sh ................... # For details, please refer to cdio_uninstall.sh script Sample programs ==================== The sample programs are contained in the following directory by language. //contec/cdio/samples The explanation of directory /inc Include the function define file in C/C++. When you create the program in C/C++, incule this file. And, don't edit this file. /console Sample program source code in C language and Makefile. Version up history API-DIO(LNX)u ========================================= Ver4.30 -> Ver4.40 (Web Release) -------------------------------- - Corresponded to a new distribution. (Include it for SMP. ) Red Hat Enterprise Linux 5 Turbo Linux 11 server Ver4.21->Ver4.30 (Ver Jan.2009) -------------------------------- - Addition of the board which can be used An additional board DIO-32DM-PE - Trouble with the environment to which I/O cannot be normally done with the card bus device is corrected. Ver4.20->Ver4.21 (web release) -------------------------------- - The bus master's forwarding completion notification corrects trouble from which dependence might be actually notified a lot. - Trouble that might cause the segmentation fault is corrected when automatic of the device detecting it with config. Ver4.10->Ver4.20 (Ver Apr.2008) -------------------------------- - Addition of the board which can be used An additional board DI-64T-PE, DO-64T-PE, DI-32T-PE, DO-32T-PE DIO-48D-PE, DIO-96D-LPE, DI-128T-PE, DO-128T-PE Ver4.00->Ver4.10 (Ver Jan.2008) -------------------------------- - Addition of the board which can be used An additional board RRY-32-PE, RRY-16C-PE, DIO-1616RY-PE - Cause the kernel panic by the DioDmSetBuff function is corrected. Ver3.51->Ver4.00 (Ver Oct.2007) -------------------------------- - Addition of the board which can be used An additional board DI-32B-PE, DO-32B-PE, DIO-1616H-PE, DIO-3232H-PE DIO-1616RL-PE, DIO-3232RL-PE Ver3.50->Ver3.51 (web release) -------------------------------- - It replaces it for driver file damage of Ver3.50 Ver3.40->Ver3.50 (Ver Jun.2007) -------------------------------- - Addition of the board which can be used An additional board DIO-96D2-LPCI Ver3.30->Ver3.40 (Ver Feb.2007) -------------------------------- - Addition of the board which can be used An additional board DIO-3232B-PE, DIO-3232F-PE, DIO-1616B-PE, DIO-1616TB-PE DI-64L-PE, DI-32L-PE, DO-64L-PE, DO-32L-PE DIO-6464T2-PCI, DI-128T2-PCI, DO-128T2-PCI,DI-32T2-PCI DO-32T2-PCI, DI-64T2-PCI, DO-64T2-PCI, DIO-48D2-PCI Ver3.21->Ver3.30 (Ver Nov.2006) -------------------------------- - Addition of the board which can be used An additional board DIO-3232T-PE, DIO-1616T-PE, DIO-6464T-PE, DIO-6464L-PE, DI-128L-PE, DO-128L-PE Ver3.20->Ver3.21 -------------------------------- -When PIO-32DM(PCI) is used with PC equipped with the memory of 1GByte or more in 2.4 kernel factions, trouble might cause the kernel panic by the DioDmSetBuff function is corrected. (It is effective only in kernel version 2.4.13 or more. ) Ver3.10->Ver3.20 (Ver Apr.2006) -------------------------------- - Addition of the board which can be used An additional board DIO-48D-LPE, DIO-1616T-LPE, DIO-3232L-PE, DIO-1616L-PE Ver3.00->Ver3.10 (Ver Nov.2005) -------------------------------- - Addition of the board which can be used An additional board PIO-32/32F(PCI)H, PIO-16/16T(PCI)H, PIO-16/16TB(PCI)H Ver2.20->Ver3.00 (Ver Aug.2005) -------------------------------- - It corresponds to kernel 2.6.xx - It corresponds to Red Hat Enterprise Linux 4. - It corresponds to Turbo Linux 10 server. Ver.2.10 -> Ver.2.20 (Ver Jun.2005) -------------------------------- - Addition of the board which can be used An additional board PIO-64/64L(PCI)H, PI-128L(PCI)H, PO-128L(PCI)H - Add function: DioDmGetWritePointerUserBuf() - To use DioDmGetWritePointerUserBuf() with the Infinite sample, it changes. - When a bus master transmission count carried out going up from 24 bits to 25 bits, the fault which is not counted normally was corrected. Ver.2.00 -> Ver.2.10 (Ver Apr.2005) -------------------------------- - Addition of the board which can be used An additional board PIO-32/32T(PCI)H, PIO-32/32B(PCI)V, RRY-16C(PCI)H, RRY-32(PCI)H, PIO-48D(LPCI)H Ver.1.50 -> Ver.2.00 (Ver Jan.2005) -------------------------------- - Addition of the board which can be used An additional board PIO-48D(CB)H Ver.1.40 -> Ver.1.50 (Ver Oct.2004) -------------------------------- - Addition of the board which can be used An additional board PIO-32/32H(PCI)H, PIO-16/16H(PCI)H, PIO-32/32RL(PCI)H PIO-16/16RL(PCI)H, PIO-16/16L(CB)H Ver.1.30 -> Ver.1.40 (Web Release) -------------------------------- - Addition of the board which can be used An additional board PIO-32DM(PCI) - The new function for PIO-32DM(PCI) was added. - It corresponds to Red Hat Professional Workstation. - If end processing is not performed normally and application is not ended at the time of DioExit execution The fault whose number of processes which can use the same board decreases is corrected. Ver.1.20 -> Ver.1.30 (Web Release) -------------------------------- - Addition of the board which can be used An additional board PIO-48D(PCI) - The new function for PIO-48D(PCI) was added. - When the process treating other boards existed at the time of trigger use and all the processes treating the board were completed, the fault which a trigger stops was corrected. - At the time of interruption use, if it continues putting in the pulse of about 1kHZ or more, the fault into which interruption may stop going will be corrected. Ver.1.10 -> Ver.1.20 (Ver Nov.2003) -------------------------------- - Addition of the board which can be used An additional board PIO-16/16B(PCI)H,PI-32B(PCI)H,PO-32B(PCI)H, PIO-16/16L(LPCI)H,PIO-16/16B(LPCI)H, PIO-16/16T(LPCI)H Ver.1.02 -> Ver.1.10 (Web Release) -------------------------------- - It corresponds to Red Hat Linux 8.0 Red Hat Linux 9. Ver.1.01 -> Ver.1.02 (Web Release) -------------------------------- - Interruption corrects the fault which is not notified normally by PIO-XX(PCI) H (except for PIO-32/32B(PCI) H), PI-XX(PCI) H, and PIO-16/16RY (PCI). Ver.1.00 -> Ver.1.01 (Ver. Dec.2002) -------------------------------- - It corrects that the rate of CPU use had become 100% at the time of interruption use. - Modify Help Ver.1.00 (Ver. Dec.2002) -------------------------------- - First release