19 extern unsigned long long common_ticktime__; |
19 extern unsigned long long common_ticktime__; |
20 |
20 |
21 // declaration of interface variables |
21 // declaration of interface variables |
22 %(located_variables_declaration)s |
22 %(located_variables_declaration)s |
23 |
23 |
24 // Optional features |
|
25 #define CONFIGURE_PDOS %(configure_pdos)d |
|
26 |
|
27 // process data |
24 // process data |
28 uint8_t *domain1_pd = NULL; |
25 uint8_t *domain1_pd = NULL; |
29 %(used_pdo_entry_offset_variables_declaration)s |
26 %(used_pdo_entry_offset_variables_declaration)s |
30 |
27 |
31 const static ec_pdo_entry_reg_t domain1_regs[] = { |
28 const static ec_pdo_entry_reg_t domain1_regs[] = { |
32 %(used_pdo_entry_configuration)s |
29 %(used_pdo_entry_configuration)s |
33 {} |
30 {} |
34 }; |
31 }; |
35 /*****************************************************************************/ |
32 /*****************************************************************************/ |
36 |
33 |
37 #if CONFIGURE_PDOS |
|
38 %(pdos_configuration_declaration)s |
34 %(pdos_configuration_declaration)s |
39 #endif |
|
40 |
35 |
41 int rt_fd = -1; |
36 int rt_fd = -1; |
42 CstructMstrAttach MstrAttach; |
37 CstructMstrAttach MstrAttach; |
43 char rt_dev_file[64]; |
38 char rt_dev_file[64]; |
44 long long wait_period_ns = 100000LL; |
39 long long wait_period_ns = 100000LL; |
62 if (!master) return -1; |
57 if (!master) return -1; |
63 |
58 |
64 domain1 = ecrt_master_create_domain(master); |
59 domain1 = ecrt_master_create_domain(master); |
65 if (!domain1) return -1; |
60 if (!domain1) return -1; |
66 |
61 |
67 #if CONFIGURE_PDOS |
62 // slaves PDO configuration |
68 fprintf(stdout, "Configure PDOs...\n"); |
63 %(slaves_configuration)s |
69 %(slaves_configuration)s |
|
70 #endif |
|
71 |
64 |
72 if (ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs)) { |
65 if (ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs)) { |
73 fprintf(stderr, "PDO entry registration failed!\n"); |
66 fprintf(stderr, "PDO entry registration failed!\n"); |
74 return -1; |
67 return -1; |
75 } |
68 } |
76 |
69 |
77 ecrt_master_set_send_interval(master, common_ticktime__); |
70 ecrt_master_set_send_interval(master, common_ticktime__); |
78 |
71 |
|
72 // slaves initialization |
79 %(slaves_initialization)s |
73 %(slaves_initialization)s |
80 |
74 |
|
75 // extracting default value for not mapped entry in output PDOs |
81 %(slaves_output_pdos_default_values_extraction)s |
76 %(slaves_output_pdos_default_values_extraction)s |
82 |
77 |
83 sprintf(&rt_dev_file[0],"%%s%%u",EC_RTDM_DEV_FILE_NAME,0); |
78 sprintf(&rt_dev_file[0],"%%s%%u",EC_RTDM_DEV_FILE_NAME,0); |
84 rt_fd = rt_dev_open( &rt_dev_file[0], 0); |
79 rt_fd = rt_dev_open( &rt_dev_file[0], 0); |
85 if (rt_fd < 0) { |
80 if (rt_fd < 0) { |