/* * Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module. * * ADDI-DATA GmbH * Dieselstrasse 3 * D-77833 Ottersweier * Tel: +19(0)7223/9493-0 * Fax: +49(0)7223/9493-92 * http://www.addi-data-com * info@addi-data.com * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 2 of the License, or (at your option) * any later version. */ #ifndef COMEDI_SUBD_TTLIO #define COMEDI_SUBD_TTLIO 11 /* Digital Input Output But TTL */ #endif #ifndef ADDIDATA_ENABLE #define ADDIDATA_ENABLE 1 #define ADDIDATA_DISABLE 0 #endif #define APCI16XX_TTL_INIT 0 #define APCI16XX_TTL_INITDIRECTION 1 #define APCI16XX_TTL_OUTPUTMEMORY 2 #define APCI16XX_TTL_READCHANNEL 0 #define APCI16XX_TTL_READPORT 1 #define APCI16XX_TTL_WRITECHANNEL_ON 0 #define APCI16XX_TTL_WRITECHANNEL_OFF 1 #define APCI16XX_TTL_WRITEPORT_ON 2 #define APCI16XX_TTL_WRITEPORT_OFF 3 #define APCI16XX_TTL_READ_ALL_INPUTS 0 #define APCI16XX_TTL_READ_ALL_OUTPUTS 1 #ifdef __KERNEL__ static const struct comedi_lrange range_apci16xx_ttl = { 12, {BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1), BIP_RANGE(1)} }; /* +----------------------------------------------------------------------------+ | TTL INISIALISATION FUNCTION | +----------------------------------------------------------------------------+ */ int i_APCI16XX_InsnConfigInitTTLIO(struct comedi_device *dev, struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data); /* +----------------------------------------------------------------------------+ | TTL INPUT FUNCTION | +----------------------------------------------------------------------------+ */ int i_APCI16XX_InsnBitsReadTTLIO(struct comedi_device *dev, struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data); int i_APCI16XX_InsnReadTTLIOAllPortValue(struct comedi_device *dev, struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data); /* +----------------------------------------------------------------------------+ | TTL OUTPUT FUNCTIONS | +----------------------------------------------------------------------------+ */ int i_APCI16XX_InsnBitsWriteTTLIO(struct comedi_device *dev, struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data); int i_APCI16XX_Reset(struct comedi_device *dev); #endif