rt/msr_module.c
changeset 82 30d0708229b9
parent 81 28b1defdcc88
child 83 e8b76a509bc9
--- a/rt/msr_module.c	Fri Feb 24 13:34:31 2006 +0000
+++ b/rt/msr_module.c	Fri Feb 24 13:54:27 2006 +0000
@@ -52,17 +52,15 @@
 ec_domain_t *domain1 = NULL;
 
 // Prozessdaten
-uint8_t *dig_out1;
-uint16_t *ssi_value;
-uint16_t *inc_value;
-
-uint32_t angle0;
+void *r_ssi;
+void *r_inc;
+
+uint32_t k_angle;
+uint32_t k_pos;
 
 ec_field_init_t domain1_fields[] = {
-    {},
-    {(void **) &ssi_value,   "1", "Beckhoff", "EL5001", ec_ipvalue, 0, 1},
-    {(void **) &dig_out1,    "2", "Beckhoff", "EL2004", ec_opvalue, 0, 1},
-    {(void **) &inc_value, "0:4", "Beckhoff", "EL5101", ec_ipvalue, 0, 1},
+    {(void **) &r_ssi,   "1", "Beckhoff", "EL5001", ec_ipvalue, 0, 1},
+    {(void **) &r_inc, "0:3", "Beckhoff", "EL5101", ec_ipvalue, 0, 1},
     {}
 };
 
@@ -73,7 +71,18 @@
     // 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);
+}
+
+/*****************************************************************************/
+
+int msr_globals_register(void)
+{
+    msr_reg_kanal("/angle0", "", &k_angle, TUINT);
+    msr_reg_kanal("/pos0",   "", &k_pos,   TUINT);
+
+    return 0;
 }
 
 /*****************************************************************************/
@@ -106,15 +115,6 @@
 
 /*****************************************************************************/
 
-int msr_globals_register(void)
-{
-    msr_reg_kanal("/angle0", "", &angle0, TUINT);
-
-    return 0;
-}
-
-/*****************************************************************************/
-
 int __init init_rt_module(void)
 {
     struct ipipe_domain_attr attr; //ipipe