diff -r 28b1defdcc88 -r 30d0708229b9 rt/msr_module.c --- 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