examples/mini/mini.c
changeset 2271 1798bcdaa8d0
parent 2089 adbf7900b848
child 2589 2b9c78543663
equal deleted inserted replaced
2270:51d2b26a5d1c 2271:1798bcdaa8d0
   344 
   344 
   345     // write process data
   345     // write process data
   346     EC_WRITE_U8(domain1_pd + off_dig_out, blink ? 0x06 : 0x09);
   346     EC_WRITE_U8(domain1_pd + off_dig_out, blink ? 0x06 : 0x09);
   347 
   347 
   348     // send process data
   348     // send process data
       
   349     down(&master_sem);
   349     ecrt_domain_queue(domain1);
   350     ecrt_domain_queue(domain1);
       
   351     ecrt_master_send(master);
   350     up(&master_sem);
   352     up(&master_sem);
   351     ecrt_master_send(master);
       
   352 
   353 
   353     // restart timer
   354     // restart timer
   354     timer.expires += HZ / FREQUENCY;
   355     timer.expires += HZ / FREQUENCY;
   355     add_timer(&timer);
   356     add_timer(&timer);
   356 }
   357 }
   389         printk(KERN_ERR PFX "Requesting master 0 failed.\n");
   390         printk(KERN_ERR PFX "Requesting master 0 failed.\n");
   390         goto out_return;
   391         goto out_return;
   391     }
   392     }
   392 
   393 
   393     sema_init(&master_sem, 1);
   394     sema_init(&master_sem, 1);
   394     ecrt_master_callbacks(master, request_lock_callback, release_lock_callback, master);
   395     ecrt_master_callbacks(master,
       
   396             request_lock_callback, release_lock_callback, master);
   395 
   397 
   396     printk(KERN_INFO PFX "Registering domain...\n");
   398     printk(KERN_INFO PFX "Registering domain...\n");
   397     if (!(domain1 = ecrt_master_create_domain(master))) {
   399     if (!(domain1 = ecrt_master_create_domain(master))) {
   398         printk(KERN_ERR PFX "Domain creation failed!\n");
   400         printk(KERN_ERR PFX "Domain creation failed!\n");
   399         goto out_release_master;
   401         goto out_release_master;
   435     }
   437     }
   436 #endif
   438 #endif
   437 
   439 
   438 #if SDO_ACCESS
   440 #if SDO_ACCESS
   439     printk(KERN_INFO PFX "Creating SDO requests...\n");
   441     printk(KERN_INFO PFX "Creating SDO requests...\n");
   440     if (!(sdo = ecrt_slave_config_create_sdo_request(sc_ana_in, 0x3102, 2, 2))) {
   442     if (!(sdo = ecrt_slave_config_create_sdo_request(
       
   443                     sc_ana_in, 0x3102, 2, 2))) {
   441         printk(KERN_ERR PFX "Failed to create SDO request.\n");
   444         printk(KERN_ERR PFX "Failed to create SDO request.\n");
   442         goto out_release_master;
   445         goto out_release_master;
   443     }
   446     }
   444     ecrt_sdo_request_timeout(sdo, 500); // ms
   447     ecrt_sdo_request_timeout(sdo, 500); // ms
   445 #endif
   448 #endif