examples/msr/msr_sample.c
changeset 509 87baea61d0c7
parent 452 d8ae13a5a910
child 512 24292123d174
equal deleted inserted replaced
508:11fb47492456 509:87baea61d0c7
    86 
    86 
    87     // Process data
    87     // Process data
    88     EC_WRITE_S16(r_ana_out, k_ana_out / 10.0 * 0x7FFF);
    88     EC_WRITE_S16(r_ana_out, k_ana_out / 10.0 * 0x7FFF);
    89 
    89 
    90     // Send
    90     // Send
       
    91     ecrt_domain_queue(domain1);
    91     ecrt_master_run(master);
    92     ecrt_master_run(master);
    92     ecrt_master_send(master);
    93     ecrt_master_send(master);
    93 
    94 
    94     rt_sem_signal(&master_sem);
    95     rt_sem_signal(&master_sem);
    95 
    96 
   172     printk(KERN_INFO "Activating master...\n");
   173     printk(KERN_INFO "Activating master...\n");
   173     if (ecrt_master_activate(master)) {
   174     if (ecrt_master_activate(master)) {
   174         printk(KERN_ERR "Could not activate master!\n");
   175         printk(KERN_ERR "Could not activate master!\n");
   175         goto out_release_master;
   176         goto out_release_master;
   176     }
   177     }
   177 
       
   178     ecrt_master_prepare(master);
       
   179 
   178 
   180     printk("Starting cyclic sample thread...\n");
   179     printk("Starting cyclic sample thread...\n");
   181     ticks = start_rt_timer(nano2count(TIMERTICKS));
   180     ticks = start_rt_timer(nano2count(TIMERTICKS));
   182     if (rt_task_init(&task, msr_run, 0, 2000, 0, 1, NULL)) {
   181     if (rt_task_init(&task, msr_run, 0, 2000, 0, 1, NULL)) {
   183         printk(KERN_ERR "Failed to init RTAI task!\n");
   182         printk(KERN_ERR "Failed to init RTAI task!\n");
   193 
   192 
   194  out_stop_task:
   193  out_stop_task:
   195     rt_task_delete(&task);
   194     rt_task_delete(&task);
   196  out_stop_timer:
   195  out_stop_timer:
   197     stop_rt_timer();
   196     stop_rt_timer();
   198     ecrt_master_deactivate(master);
       
   199  out_release_master:
   197  out_release_master:
   200     ecrt_release_master(master);
   198     ecrt_release_master(master);
   201  out_msr_cleanup:
   199  out_msr_cleanup:
   202     msr_rtlib_cleanup();
   200     msr_rtlib_cleanup();
   203  out_return:
   201  out_return: