examples/mini/mini.c
changeset 1513 60ca68d853b8
parent 1501 59990318c95b
child 1580 1baac79a40cf
equal deleted inserted replaced
1512:388901f44a5e 1513:60ca68d853b8
   352     add_timer(&timer);
   352     add_timer(&timer);
   353 }
   353 }
   354 
   354 
   355 /*****************************************************************************/
   355 /*****************************************************************************/
   356 
   356 
   357 void send_callback(ec_master_t *master)
   357 void send_callback(void *cb_data)
   358 {
   358 {
   359     down(&master_sem);
   359     ec_master_t *m = (ec_master_t *) cb_data;
   360     ecrt_master_send_ext(master);
   360     down(&master_sem);
   361     up(&master_sem);
   361     ecrt_master_send_ext(m);
   362 }
   362     up(&master_sem);
   363 
   363 }
   364 /*****************************************************************************/
   364 
   365 
   365 /*****************************************************************************/
   366 void receive_callback(ec_master_t *master)
   366 
   367 {
   367 void receive_callback(void *cb_data)
   368     down(&master_sem);
   368 {
   369     ecrt_master_receive(master);
   369     ec_master_t *m = (ec_master_t *) cb_data;
       
   370     down(&master_sem);
       
   371     ecrt_master_receive(m);
   370     up(&master_sem);
   372     up(&master_sem);
   371 }
   373 }
   372 
   374 
   373 /*****************************************************************************/
   375 /*****************************************************************************/
   374 
   376 
   390         printk(KERN_ERR PFX "Requesting master 0 failed.\n");
   392         printk(KERN_ERR PFX "Requesting master 0 failed.\n");
   391         goto out_return;
   393         goto out_return;
   392     }
   394     }
   393 
   395 
   394     init_MUTEX(&master_sem);
   396     init_MUTEX(&master_sem);
   395     ecrt_master_callbacks(master, send_callback, receive_callback);
   397     ecrt_master_callbacks(master, send_callback, receive_callback, master);
   396 
   398 
   397     printk(KERN_INFO PFX "Registering domain...\n");
   399     printk(KERN_INFO PFX "Registering domain...\n");
   398     if (!(domain1 = ecrt_master_create_domain(master))) {
   400     if (!(domain1 = ecrt_master_create_domain(master))) {
   399         printk(KERN_ERR PFX "Domain creation failed!\n");
   401         printk(KERN_ERR PFX "Domain creation failed!\n");
   400         goto out_release_master;
   402         goto out_release_master;