rt/msr_module.c
changeset 81 28b1defdcc88
parent 80 8cd08d73b560
child 82 30d0708229b9
equal deleted inserted replaced
80:8cd08d73b560 81:28b1defdcc88
    57 uint16_t *inc_value;
    57 uint16_t *inc_value;
    58 
    58 
    59 uint32_t angle0;
    59 uint32_t angle0;
    60 
    60 
    61 ec_field_init_t domain1_fields[] = {
    61 ec_field_init_t domain1_fields[] = {
       
    62     {},
       
    63     {(void **) &ssi_value,   "1", "Beckhoff", "EL5001", ec_ipvalue, 0, 1},
    62     {(void **) &dig_out1,    "2", "Beckhoff", "EL2004", ec_opvalue, 0, 1},
    64     {(void **) &dig_out1,    "2", "Beckhoff", "EL2004", ec_opvalue, 0, 1},
    63     {(void **) &ssi_value,   "3", "Beckhoff", "EL5001", ec_ipvalue, 0, 1},
       
    64     {(void **) &inc_value, "0:4", "Beckhoff", "EL5101", ec_ipvalue, 0, 1},
    65     {(void **) &inc_value, "0:4", "Beckhoff", "EL5101", ec_ipvalue, 0, 1},
    65     {}
    66     {}
    66 };
    67 };
    67 
    68 
    68 /*****************************************************************************/
    69 /*****************************************************************************/
    70 static void msr_controller_run(void)
    71 static void msr_controller_run(void)
    71 {
    72 {
    72     // Prozessdaten lesen und schreiben
    73     // Prozessdaten lesen und schreiben
    73     EtherCAT_rt_domain_xio(domain1);
    74     EtherCAT_rt_domain_xio(domain1);
    74 
    75 
    75     angle0 = (uint32_t) *inc_value;
    76     //angle0 = (uint32_t) *inc_value;
    76 }
    77 }
    77 
    78 
    78 /*****************************************************************************/
    79 /*****************************************************************************/
    79 
    80 
    80 void msr_run(unsigned irq)
    81 void msr_run(unsigned irq)
   163     if (EtherCAT_rt_master_activate(master)) {
   164     if (EtherCAT_rt_master_activate(master)) {
   164         printk(KERN_ERR "Could not activate master!\n");
   165         printk(KERN_ERR "Could not activate master!\n");
   165         goto out_release_master;
   166         goto out_release_master;
   166     }
   167     }
   167 
   168 
   168     EtherCAT_rt_master_debug(master, 2);
   169 #if 1
   169     if (EtherCAT_rt_canopen_sdo_addr_read(master, "0:3", 0x100A, 1,
   170     if (EtherCAT_rt_canopen_sdo_addr_read(master, "1", 0x100A, 1,
   170                                           &version)) {
   171                                           &version)) {
   171         printk(KERN_ERR "Could not read SSI version!\n");
   172         printk(KERN_ERR "Could not read SSI version!\n");
   172         goto out_release_master;
   173         goto out_release_master;
   173     }
   174     }
   174     printk(KERN_INFO "Klemme 3 Software-version: %u\n", version);
   175     printk(KERN_INFO "Klemme 3 Software-version: %u\n", version);
   175     EtherCAT_rt_master_debug(master, 0);
   176 #endif
   176 
   177 
   177     ipipe_init_attr(&attr);
   178     ipipe_init_attr(&attr);
   178     attr.name = "IPIPE-MSR-MODULE";
   179     attr.name = "IPIPE-MSR-MODULE";
   179     attr.priority = IPIPE_ROOT_PRIO + 1;
   180     attr.priority = IPIPE_ROOT_PRIO + 1;
   180     attr.entry = &domain_entry;
   181     attr.entry = &domain_entry;