📄 hwdrv_apci1564.h
字号:
/**@verbatimCopyright (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.This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAYou shoud also find the complete GPL in the COPYING file accompanying this source code.@endverbatim*//********* Definitions for APCI-1564 card *****/#define APCI1564_BOARD_VENDOR_ID 0x15B8#define APCI1564_ADDRESS_RANGE 128//DIGITAL INPUT-OUTPUT DEFINE // Input defines#define APCI1564_DIGITAL_IP 0x04 #define APCI1564_DIGITAL_IP_INTERRUPT_MODE1 4#define APCI1564_DIGITAL_IP_INTERRUPT_MODE2 8#define APCI1564_DIGITAL_IP_IRQ 16// Output defines#define APCI1564_DIGITAL_OP 0x18#define APCI1564_DIGITAL_OP_RW 0 #define APCI1564_DIGITAL_OP_INTERRUPT 4 #define APCI1564_DIGITAL_OP_IRQ 12 //Digital Input IRQ Function Selection#define ADDIDATA_OR 0#define ADDIDATA_AND 1//Digital Input Interrupt Status#define APCI1564_DIGITAL_IP_INTERRUPT_STATUS 12//Digital Output Interrupt Status#define APCI1564_DIGITAL_OP_INTERRUPT_STATUS 8 //Digital Input Interrupt Enable Disable. #define APCI1564_DIGITAL_IP_INTERRUPT_ENABLE 0x4 #define APCI1564_DIGITAL_IP_INTERRUPT_DISABLE 0xFFFFFFFB//Digital Output Interrupt Enable Disable.#define APCI1564_DIGITAL_OP_VCC_INTERRUPT_ENABLE 0x1#define APCI1564_DIGITAL_OP_VCC_INTERRUPT_DISABLE 0xFFFFFFFE#define APCI1564_DIGITAL_OP_CC_INTERRUPT_ENABLE 0x2#define APCI1564_DIGITAL_OP_CC_INTERRUPT_DISABLE 0xFFFFFFFD//ADDIDATA Enable Disable#define ADDIDATA_ENABLE 1#define ADDIDATA_DISABLE 0// TIMER COUNTER WATCHDOG DEFINES #define ADDIDATA_TIMER 0#define ADDIDATA_COUNTER 1#define ADDIDATA_WATCHDOG 2#define APCI1564_DIGITAL_OP_WATCHDOG 0x28#define APCI1564_TIMER 0x48#define APCI1564_COUNTER1 0x0#define APCI1564_COUNTER2 0x20#define APCI1564_COUNTER3 0x40#define APCI1564_COUNTER4 0x60 #define APCI1564_TCW_SYNC_ENABLEDISABLE 0#define APCI1564_TCW_RELOAD_VALUE 4#define APCI1564_TCW_TIMEBASE 8#define APCI1564_TCW_PROG 12#define APCI1564_TCW_TRIG_STATUS 16#define APCI1564_TCW_IRQ 20#define APCI1564_TCW_WARN_TIMEVAL 24#define APCI1564_TCW_WARN_TIMEBASE 28// Hardware Layer functions for Apci1564//DI// for di readINT i_APCI1564_ConfigDigitalInput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);INT i_APCI1564_Read1DigitalInput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);INT i_APCI1564_ReadMoreDigitalInput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);//DOint i_APCI1564_ConfigDigitalOutput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);INT i_APCI1564_WriteDigitalOutput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);INT i_APCI1564_ReadDigitalOutput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);int i_APCI1564_ReadInterruptStatus(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data); // TIMER // timer value is passed as u secondsINT i_APCI1564_ConfigTimerCounterWatchdog (comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);int i_APCI1564_StartStopWriteTimerCounterWatchdog(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);int i_APCI1564_ReadTimerCounterWatchdog(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data);// INTERRUPTstatic VOID v_APCI1564_Interrupt(int irq, void *d, struct pt_regs *regs) ;// RESETINT i_APCI1564_Reset(comedi_device *dev);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -