examples/rtai/rtai_sample.c
changeset 1327 4d179b06dd3c
parent 1326 ef907b0b5125
child 1363 11c0b2caa253
equal deleted inserted replaced
1326:ef907b0b5125 1327:4d179b06dd3c
    78 #define DigOutSlavePos 0, 3
    78 #define DigOutSlavePos 0, 3
    79 
    79 
    80 #define Beckhoff_EL2004 0x00000002, 0x07D43052
    80 #define Beckhoff_EL2004 0x00000002, 0x07D43052
    81 #define Beckhoff_EL3162 0x00000002, 0x0C5A3052
    81 #define Beckhoff_EL3162 0x00000002, 0x0C5A3052
    82 
    82 
    83 static unsigned int off_ana_in; // offsets for Pdo entries
    83 static unsigned int off_ana_in; // offsets for PDO entries
    84 static unsigned int off_dig_out;
    84 static unsigned int off_dig_out;
    85 
    85 
    86 const static ec_pdo_entry_reg_t domain1_regs[] = {
    86 const static ec_pdo_entry_reg_t domain1_regs[] = {
    87     {AnaInSlavePos,  Beckhoff_EL3162, 0x3101, 2, &off_ana_in},
    87     {AnaInSlavePos,  Beckhoff_EL3162, 0x3101, 2, &off_ana_in},
    88     {DigOutSlavePos, Beckhoff_EL2004, 0x3001, 1, &off_dig_out},
    88     {DigOutSlavePos, Beckhoff_EL2004, 0x3001, 1, &off_dig_out},
   295         printk(KERN_ERR PFX "Failed to get slave configuration.\n");
   295         printk(KERN_ERR PFX "Failed to get slave configuration.\n");
   296         goto out_release_master;
   296         goto out_release_master;
   297     }
   297     }
   298 
   298 
   299 #ifdef CONFIGURE_PDOS
   299 #ifdef CONFIGURE_PDOS
   300     printk(KERN_INFO PFX "Configuring Pdos...\n");
   300     printk(KERN_INFO PFX "Configuring PDOs...\n");
   301     if (ecrt_slave_config_pdos(sc_ana_in, EC_END, el3162_syncs)) {
   301     if (ecrt_slave_config_pdos(sc_ana_in, EC_END, el3162_syncs)) {
   302         printk(KERN_ERR PFX "Failed to configure Pdos.\n");
   302         printk(KERN_ERR PFX "Failed to configure PDOs.\n");
   303         goto out_release_master;
   303         goto out_release_master;
   304     }
   304     }
   305 
   305 
   306     if (!(sc = ecrt_master_slave_config(master, DigOutSlavePos, Beckhoff_EL2004))) {
   306     if (!(sc = ecrt_master_slave_config(master, DigOutSlavePos, Beckhoff_EL2004))) {
   307         printk(KERN_ERR PFX "Failed to get slave configuration.\n");
   307         printk(KERN_ERR PFX "Failed to get slave configuration.\n");
   308         goto out_release_master;
   308         goto out_release_master;
   309     }
   309     }
   310 
   310 
   311     if (ecrt_slave_config_pdos(sc, EC_END, el2004_syncs)) {
   311     if (ecrt_slave_config_pdos(sc, EC_END, el2004_syncs)) {
   312         printk(KERN_ERR PFX "Failed to configure Pdos.\n");
   312         printk(KERN_ERR PFX "Failed to configure PDOs.\n");
   313         goto out_release_master;
   313         goto out_release_master;
   314     }
   314     }
   315 #endif
   315 #endif
   316 
   316 
   317     printk(KERN_INFO PFX "Registering Pdo entries...\n");
   317     printk(KERN_INFO PFX "Registering PDO entries...\n");
   318     if (ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs)) {
   318     if (ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs)) {
   319         printk(KERN_ERR PFX "Pdo entry registration failed!\n");
   319         printk(KERN_ERR PFX "PDO entry registration failed!\n");
   320         goto out_release_master;
   320         goto out_release_master;
   321     }
   321     }
   322 
   322 
   323     printk(KERN_INFO PFX "Activating master...\n");
   323     printk(KERN_INFO PFX "Activating master...\n");
   324     if (ecrt_master_activate(master)) {
   324     if (ecrt_master_activate(master)) {