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