examples/mini/mini.c
changeset 1580 1baac79a40cf
parent 1579 326d47aa986c
parent 1513 60ca68d853b8
child 1975 8e173dddd183
equal deleted inserted replaced
1579:326d47aa986c 1580:1baac79a40cf
   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     sema_init(&master_sem, 1);
   396     sema_init(&master_sem, 1);
   395 
   397     ecrt_master_callbacks(master, send_callback, receive_callback, master);
   396     ecrt_master_callbacks(master, send_callback, receive_callback);
       
   397 
   398 
   398     printk(KERN_INFO PFX "Registering domain...\n");
   399     printk(KERN_INFO PFX "Registering domain...\n");
   399     if (!(domain1 = ecrt_master_create_domain(master))) {
   400     if (!(domain1 = ecrt_master_create_domain(master))) {
   400         printk(KERN_ERR PFX "Domain creation failed!\n");
   401         printk(KERN_ERR PFX "Domain creation failed!\n");
   401         goto out_release_master;
   402         goto out_release_master;