examples/msr/msr_sample.c
branchstable-1.2
changeset 1739 5fcbd29151d2
parent 1732 1cc865ba17c2
--- a/examples/msr/msr_sample.c	Tue Feb 13 13:36:31 2007 +0000
+++ b/examples/msr/msr_sample.c	Tue Feb 13 13:42:37 2007 +0000
@@ -66,7 +66,7 @@
 // raw process data
 void *r_ana_out;
 
-// Channels
+// channels
 double k_ana_out;
 
 ec_pdo_reg_t domain1_pdos[] = {
@@ -78,19 +78,20 @@
 
 void msr_controller_run(void)
 {
+    // receive
     rt_sem_wait(&master_sem);
-
-    // receive
     ecrt_master_receive(master);
     ecrt_domain_process(domain1);
+    rt_sem_signal(&master_sem);
 
     // Process data
     EC_WRITE_S16(r_ana_out, k_ana_out / 10.0 * 0x7FFF);
 
     // Send
+    rt_sem_wait(&master_sem);
+    ecrt_domain_queue(domain1);
     ecrt_master_run(master);
     ecrt_master_send(master);
-
     rt_sem_signal(&master_sem);
 
     msr_write_kanal_list();
@@ -175,8 +176,6 @@
         goto out_release_master;
     }
 
-    ecrt_master_prepare(master);
-
     printk("Starting cyclic sample thread...\n");
     ticks = start_rt_timer(nano2count(TIMERTICKS));
     if (rt_task_init(&task, msr_run, 0, 2000, 0, 1, NULL)) {
@@ -195,7 +194,6 @@
     rt_task_delete(&task);
  out_stop_timer:
     stop_rt_timer();
-    ecrt_master_deactivate(master);
  out_release_master:
     ecrt_release_master(master);
  out_msr_cleanup:
@@ -223,8 +221,8 @@
 /*****************************************************************************/
 
 MODULE_LICENSE("GPL");
-MODULE_AUTHOR ("Florian Pose <fp@igh-essen.com>");
-MODULE_DESCRIPTION ("EtherCAT RTAI MSR sample module");
+MODULE_AUTHOR("Florian Pose <fp@igh-essen.com>");
+MODULE_DESCRIPTION("EtherCAT RTAI MSR sample module");
 
 module_init(init_mod);
 module_exit(cleanup_mod);