From a2363a85ec3f11048f34a257f071ae7c78cbb1ec Mon Sep 17 00:00:00 2001
From: Florian Pose <fp@igh-essen.com>
Date: Fri, 24 Feb 2006 14:09:51 +0000
Subject: [PATCH] Beispiel-Echtzeitcode angepasst.

---
 mini/mini.c     | 21 +++++++++++----------
 rt/msr_module.c |  6 +++---
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/mini/mini.c b/mini/mini.c
index 96776dbb..21bbb923 100644
--- a/mini/mini.c
+++ b/mini/mini.c
@@ -27,17 +27,16 @@ struct timer_list timer;
 ec_master_t *master = NULL;
 ec_domain_t *domain1 = NULL;
 
-// Prozessdaten
-uint8_t *dig_out1;
-uint16_t *ssi_value;
-uint16_t *inc_value;
+// Datenfelder
+void *r_ssi;
+void *r_inc;
 
-uint32_t angle0;
+// Kanäle
+uint32_t k_angle, k_pos;
 
 ec_field_init_t domain1_fields[] = {
-    {(void **) &dig_out1,    "2", "Beckhoff", "EL2004", ec_opvalue, 0, 1},
-    {(void **) &ssi_value,   "3", "Beckhoff", "EL5001", ec_ipvalue, 0, 1},
-    {(void **) &inc_value, "0:4", "Beckhoff", "EL5101", ec_ipvalue, 0, 1},
+    {&r_ssi,   "1", "Beckhoff", "EL5001", ec_ipvalue, 0, 1},
+    {&r_inc, "0:3", "Beckhoff", "EL5101", ec_ipvalue, 0, 1},
     {}
 };
 
@@ -50,14 +49,16 @@ void run(unsigned long data)
     // Prozessdaten lesen und schreiben
     EtherCAT_rt_domain_xio(domain1);
 
-    angle0 = (uint32_t) *inc_value;
+    k_angle = EC_READ_U16(r_inc);
+    k_pos   = EC_READ_U32(r_ssi);
 
     if (counter) {
         counter--;
     }
     else {
         counter = ABTASTFREQUENZ;
-        printk(KERN_INFO "angle0 = %i\n", angle0);
+        printk(KERN_INFO "k_angle = %i\n", k_angle);
+        printk(KERN_INFO "k_pos   = %i\n", k_pos);
     }
 
     // Timer neu starten
diff --git a/rt/msr_module.c b/rt/msr_module.c
index f9719b10..20745526 100644
--- a/rt/msr_module.c
+++ b/rt/msr_module.c
@@ -59,8 +59,8 @@ uint32_t k_angle;
 uint32_t k_pos;
 
 ec_field_init_t domain1_fields[] = {
-    {(void **) &r_ssi,   "1", "Beckhoff", "EL5001", ec_ipvalue, 0, 1},
-    {(void **) &r_inc, "0:3", "Beckhoff", "EL5101", ec_ipvalue, 0, 1},
+    {&r_ssi,   "1", "Beckhoff", "EL5001", ec_ipvalue, 0, 1},
+    {&r_inc, "0:3", "Beckhoff", "EL5101", ec_ipvalue, 0, 1},
     {}
 };
 
@@ -172,7 +172,7 @@ int __init init_rt_module(void)
         printk(KERN_ERR "Could not read SSI version!\n");
         goto out_release_master;
     }
-    printk(KERN_INFO "Klemme 3 Software-version: %u\n", version);
+    printk(KERN_INFO "Software-version: %u\n", version);
 #endif
 
     ipipe_init_attr(&attr);
-- 
GitLab