--- 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