equal
deleted
inserted
replaced
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 |