115d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman/* 215d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module. 315d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * 415d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * ADDI-DATA GmbH 515d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * Dieselstrasse 3 615d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * D-77833 Ottersweier 715d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * Tel: +19(0)7223/9493-0 815d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * Fax: +49(0)7223/9493-92 915d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * http://www.addi-data-com 1015d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * info@addi-data.com 1115d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * 1215d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * This program is free software; you can redistribute it and/or modify it 1315d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * under the terms of the GNU General Public License as published by the Free 1415d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * Software Foundation; either version 2 of the License, or (at your option) 1515d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman * any later version. 1615d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman */ 17c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 18c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#ifndef COMEDI_SUBD_TTLIO 19c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define COMEDI_SUBD_TTLIO 11 /* Digital Input Output But TTL */ 20c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#endif 21c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 22c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#ifndef ADDIDATA_ENABLE 23c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define ADDIDATA_ENABLE 1 24c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define ADDIDATA_DISABLE 0 25c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#endif 26c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 27c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_INIT 0 28c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_INITDIRECTION 1 29c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_OUTPUTMEMORY 2 30c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 31c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_READCHANNEL 0 32c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_READPORT 1 33c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 34c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_WRITECHANNEL_ON 0 35c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_WRITECHANNEL_OFF 1 36c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_WRITEPORT_ON 2 37c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_WRITEPORT_OFF 3 38c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 39c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_READ_ALL_INPUTS 0 40c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#define APCI16XX_TTL_READ_ALL_OUTPUTS 1 41c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 42c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#ifdef __KERNEL__ 43c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 449ced1de69125b60f40127eddaa3be2a92bb0a1dfBill Pembertonstatic const struct comedi_lrange range_apci16xx_ttl = { 12, 45c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH {BIP_RANGE(1), 4615d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 4715d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 4815d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 4915d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 5015d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 5115d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 5215d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 5315d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 5415d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 5515d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1), 5615d8826a6a2ed954ce7daf1d321cce99d5c12668Greg Kroah-Hartman BIP_RANGE(1)} 57c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH}; 58c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 59c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH/* 60c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH+----------------------------------------------------------------------------+ 61c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH| TTL INISIALISATION FUNCTION | 62c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH+----------------------------------------------------------------------------+ 63c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH*/ 64c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 6571b5f4f11971dea972832ad63a994c7e5b45db6bBill Pembertonint i_APCI16XX_InsnConfigInitTTLIO(struct comedi_device *dev, 6690035c0886b256d75bced13b3b3cea5234aff136Bill Pemberton struct comedi_subdevice *s, struct comedi_insn *insn, 67790c55415aa31f4c732729f94d2c3a54f7d3bfc2Bill Pemberton unsigned int *data); 68c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 69c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH/* 70c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH+----------------------------------------------------------------------------+ 71c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH| TTL INPUT FUNCTION | 72c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH+----------------------------------------------------------------------------+ 73c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH*/ 74c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 7571b5f4f11971dea972832ad63a994c7e5b45db6bBill Pembertonint i_APCI16XX_InsnBitsReadTTLIO(struct comedi_device *dev, 7690035c0886b256d75bced13b3b3cea5234aff136Bill Pemberton struct comedi_subdevice *s, struct comedi_insn *insn, 77790c55415aa31f4c732729f94d2c3a54f7d3bfc2Bill Pemberton unsigned int *data); 78c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 7971b5f4f11971dea972832ad63a994c7e5b45db6bBill Pembertonint i_APCI16XX_InsnReadTTLIOAllPortValue(struct comedi_device *dev, 8034c43922e62708d45e9660eee4b4f1fb7b4bf2c7Bill Pemberton struct comedi_subdevice *s, 8190035c0886b256d75bced13b3b3cea5234aff136Bill Pemberton struct comedi_insn *insn, unsigned int *data); 82c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 83c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH/* 84c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH+----------------------------------------------------------------------------+ 85c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH| TTL OUTPUT FUNCTIONS | 86c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH+----------------------------------------------------------------------------+ 87c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH*/ 88c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 8971b5f4f11971dea972832ad63a994c7e5b45db6bBill Pembertonint i_APCI16XX_InsnBitsWriteTTLIO(struct comedi_device *dev, 9090035c0886b256d75bced13b3b3cea5234aff136Bill Pemberton struct comedi_subdevice *s, struct comedi_insn *insn, 91790c55415aa31f4c732729f94d2c3a54f7d3bfc2Bill Pemberton unsigned int *data); 92c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH 9371b5f4f11971dea972832ad63a994c7e5b45db6bBill Pembertonint i_APCI16XX_Reset(struct comedi_device *dev); 94c995fe9475e062bab6f5a45ed28cd2d3d955ef43ADDI-DATA GmbH#endif 95