examples/mini/mini.c
changeset 635 d304ef4af542
parent 612 aede068f9a74
child 637 d5d04c868e0e
equal deleted inserted replaced
634:ae5fb70b359f 635:d304ef4af542
    60 static void *r_inputs;
    60 static void *r_inputs;
    61 static void *r_outputs;
    61 static void *r_outputs;
    62 #endif
    62 #endif
    63 
    63 
    64 static void *r_dig_out;
    64 static void *r_dig_out;
       
    65 static void *r_ana_out;
       
    66 static void *r_count;
       
    67 static void *r_freq;
    65 
    68 
    66 #if 1
    69 #if 1
    67 ec_pdo_reg_t domain1_pdos[] = {
    70 ec_pdo_reg_t domain1_pdos[] = {
    68     {"4", Beckhoff_EL2004_Outputs, &r_dig_out},
    71     {"2", Beckhoff_EL2004_Outputs,   &r_dig_out},
       
    72     {"3", Beckhoff_EL4132_Output1,   &r_ana_out},
       
    73     {"4", Beckhoff_EL5101_Value,     &r_count},
       
    74     {"4", Beckhoff_EL5101_Frequency, &r_freq},
    69     {}
    75     {}
    70 };
    76 };
    71 #endif
    77 #endif
    72 
    78 
    73 /*****************************************************************************/
    79 /*****************************************************************************/
   152 
   158 
   153 /*****************************************************************************/
   159 /*****************************************************************************/
   154 
   160 
   155 int __init init_mini_module(void)
   161 int __init init_mini_module(void)
   156 {
   162 {
   157 #if 0
   163 #if 1
   158     ec_slave_t *slave;
   164     ec_slave_t *slave;
   159 #endif
   165 #endif
   160 
   166 
   161     printk(KERN_INFO PFX "Starting...\n");
   167     printk(KERN_INFO PFX "Starting...\n");
   162 
   168 
   170     printk(KERN_INFO PFX "Registering domain...\n");
   176     printk(KERN_INFO PFX "Registering domain...\n");
   171     if (!(domain1 = ecrt_master_create_domain(master))) {
   177     if (!(domain1 = ecrt_master_create_domain(master))) {
   172         printk(KERN_ERR PFX "Domain creation failed!\n");
   178         printk(KERN_ERR PFX "Domain creation failed!\n");
   173         goto out_release_master;
   179         goto out_release_master;
   174     }
   180     }
       
   181 
       
   182 #if 1
       
   183     printk(KERN_INFO PFX "Configuring alternative PDO mapping...\n");
       
   184     if (!(slave = ecrt_master_get_slave(master, "4")))
       
   185         goto out_release_master;
       
   186 
       
   187     if (ecrt_slave_pdo_mapping(slave, EC_DIR_INPUT, 2, 0x1A00, 0x1A02))
       
   188         goto out_release_master;
       
   189 #endif
   175 
   190 
   176     printk(KERN_INFO PFX "Registering PDOs...\n");
   191     printk(KERN_INFO PFX "Registering PDOs...\n");
   177 #if 1
   192 #if 1
   178     if (ecrt_domain_register_pdo_list(domain1, domain1_pdos)) {
   193     if (ecrt_domain_register_pdo_list(domain1, domain1_pdos)) {
   179         printk(KERN_ERR PFX "PDO registration failed!\n");
   194         printk(KERN_ERR PFX "PDO registration failed!\n");
   193         goto out_release_master;
   208         goto out_release_master;
   194     }
   209     }
   195 #endif
   210 #endif
   196 
   211 
   197 #if 0
   212 #if 0
   198     if (!(slave = ecrt_master_get_slave(master, "2")))
   213     if (!(slave = ecrt_master_get_slave(master, "4")))
   199         goto out_release_master;
   214         goto out_release_master;
   200 
   215 
   201     if (ecrt_slave_conf_sdo8(slave, 0x4061, 1, 0))
   216     if (ecrt_slave_conf_sdo8(slave, 0x4061, 1, 0))
   202         goto out_release_master;
   217         goto out_release_master;
       
   218 #endif
       
   219 
       
   220 #if 1
   203 #endif
   221 #endif
   204 
   222 
   205     printk(KERN_INFO PFX "Activating master...\n");
   223     printk(KERN_INFO PFX "Activating master...\n");
   206     if (ecrt_master_activate(master)) {
   224     if (ecrt_master_activate(master)) {
   207         printk(KERN_ERR PFX "Failed to activate master!\n");
   225         printk(KERN_ERR PFX "Failed to activate master!\n");