From ab171db9c1a8f88d3aab9d283ec927e7f89c6817 Mon Sep 17 00:00:00 2001 From: Wilhelm Hagemeister Date: Fri, 4 Nov 2005 17:05:20 +0000 Subject: [PATCH] ISR-Aufruf in read_process_data --- drivers/Makefile | 34 ++++++++++++++++++++++++++-------- drivers/ec_device.c | 4 ++-- drivers/ec_master.c | 2 ++ rt/msr_io.c | 4 ++-- 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/drivers/Makefile b/drivers/Makefile index 34ee289c..d0860290 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -9,22 +9,40 @@ # ################################################################# -MSR_DIR = /vol/projekte/msr_messen_steuern_regeln -EC_DIR = $(MSR_DIR)/ethercat +#KERNELDIR=/usr/src/linux +#KERNELDIR=/home/rich/linux-2.4.20.CX1100-rthal5 +#KERNELDIR=./linux-2.4.20.CX1100-rthal5 -#KERNELDIR = $(EC_DIR)/linux-2.4.20.CX1100-rthal5-kdb -KERNELDIR = $(EC_DIR)/linux-2.4.20-kdb +#IgH +KERNELDIR = /vol/projekte/msr_messen_steuern_regeln/linux/kernel/2.4.20/include/linux-2.4.20.CX1100-rthal5 +RTAIDIR = /vol/projekte/msr_messen_steuern_regeln/linux/kernel/2.4.20/include/rtai-24.1.13 +RTLIBDIR = rt_lib + +#euler-nottuln #KERNELDIR = /usr/src/linux +#RTAIDIR = /usr/src/rtai + +#patra +#KERNELDIR = /usr/src/linux-2.4.20.CX1100-rthal5 +#RTAIDIR = /usr/src/rtai-24.1.13 + +#include $(KERNELDIR)/.config ECAT_8139_OBJ = drv_8139too.o ec_device.o ec_master.o \ ec_slave.o ec_command.o ec_types.o -CFLAGS = -O2 -Wall -Wuninitialized -D__KERNEL__ \ - -DMODULE -I$(KERNELDIR)/include + +CFLAGS = -O2 -Wall -Wuninitialized -D__KERNEL__ -DMODULE \ + -I$(KERNELDIR)/include -D_RTAI -I$(RTAIDIR)/include \ + -I$(RTLIBDIR)/msr-include + +ifdef CONFIG_SMP + CFLAGS += -D__SMP__ -DSMP +endif ################################################################# -all: .depend Makefile ecat_8139too.o +all: .depend ecat_8139too.o ecat_8139too.o: $(ECAT_8139_OBJ) $(LD) -r $(ECAT_8139_OBJ) -o $@ @@ -37,7 +55,7 @@ doc docs: ################################################################# -.depend depend dep: +.depend: $(CC) $(CFLAGS) -M *.c > .depend ifeq (.depend,$(wildcard .depend)) diff --git a/drivers/ec_device.c b/drivers/ec_device.c index 39c4a588..cfa903f1 100644 --- a/drivers/ec_device.c +++ b/drivers/ec_device.c @@ -288,12 +288,12 @@ int EtherCAT_device_receive(EtherCAT_device_t *ecd, void EtherCAT_device_call_isr(EtherCAT_device_t *ecd) { - EC_DBG(KERN_DEBUG "EtherCAT: Calling ISR...\n"); +// EC_DBG(KERN_DEBUG "EtherCAT: Calling ISR...\n"); // Manuell die ISR aufrufen rtl8139_interrupt(0, ecd->dev, NULL); - EC_DBG(KERN_DEBUG "EtherCAT: ISR finished.\n"); +// EC_DBG(KERN_DEBUG "EtherCAT: ISR finished.\n"); } /***************************************************************/ diff --git a/drivers/ec_master.c b/drivers/ec_master.c index ebc499f0..8798cdb9 100644 --- a/drivers/ec_master.c +++ b/drivers/ec_master.c @@ -1767,6 +1767,8 @@ int EtherCAT_read_process_data(EtherCAT_master_t *master) return -1; } + EtherCAT_device_call_isr(master->dev); + if (EtherCAT_receive(master) < 0) { EC_DBG(KERN_ERR "EtherCAT: Could not receive cyclic command!\n"); diff --git a/rt/msr_io.c b/rt/msr_io.c index 3de6b5f9..8b7f31d1 100644 --- a/rt/msr_io.c +++ b/rt/msr_io.c @@ -86,7 +86,7 @@ extern EtherCAT_device_t rtl_ecat_dev; static EtherCAT_slave_t ecat_slaves[] = { //Block 1 - ECAT_INIT_SLAVE(Beckhoff_EK1100), +/* ECAT_INIT_SLAVE(Beckhoff_EK1100), ECAT_INIT_SLAVE(Beckhoff_EL4102), ECAT_INIT_SLAVE(Beckhoff_EL3162), ECAT_INIT_SLAVE(Beckhoff_EL1014), @@ -103,7 +103,7 @@ static EtherCAT_slave_t ecat_slaves[] = ECAT_INIT_SLAVE(Beckhoff_EL2004), ECAT_INIT_SLAVE(Beckhoff_EL2004), ECAT_INIT_SLAVE(Beckhoff_EL2004), - ECAT_INIT_SLAVE(Beckhoff_EL2004), + ECAT_INIT_SLAVE(Beckhoff_EL2004), */ //Block 2 ECAT_INIT_SLAVE(Beckhoff_EK1100), ECAT_INIT_SLAVE(Beckhoff_EL4102),