46 void run(unsigned long data) |
46 void run(unsigned long data) |
47 { |
47 { |
48 static unsigned int counter = 0; |
48 static unsigned int counter = 0; |
49 |
49 |
50 #ifdef ASYNC |
50 #ifdef ASYNC |
51 // Prozessdaten empfangen |
51 // Empfangen |
52 ecrt_master_async_receive(master); |
52 ecrt_master_async_receive(master); |
53 ecrt_domain_process(domain1); |
53 ecrt_domain_process(domain1); |
54 |
|
55 // Prozessdaten verarbeiten |
|
56 //k_pos = EC_READ_U32(r_ssi_input); |
|
57 //k_stat = EC_READ_U8(r_ssi_status); |
|
58 |
|
59 // Prozessdaten senden |
|
60 ecrt_domain_queue(domain1); |
|
61 ecrt_master_run(master); |
|
62 ecrt_master_async_send(master); |
|
63 #else |
54 #else |
64 // Prozessdaten senden und empfangen |
55 // Senden und empfangen |
65 ecrt_domain_queue(domain1); |
56 ecrt_domain_queue(domain1); |
66 ecrt_master_run(master); |
57 ecrt_master_run(master); |
67 ecrt_master_sync_io(master); |
58 ecrt_master_sync_io(master); |
68 ecrt_domain_process(domain1); |
59 ecrt_domain_process(domain1); |
|
60 #endif |
69 |
61 |
70 // Prozessdaten verarbeiten |
62 // Prozessdaten verarbeiten |
71 //k_pos = EC_READ_U32(r_ssi_input); |
63 //k_pos = EC_READ_U32(r_ssi); |
72 //k_stat = EC_READ_U8(r_ssi_status); |
64 |
|
65 #ifdef ASYNC |
|
66 // Senden |
|
67 ecrt_domain_queue(domain1); |
|
68 ecrt_master_run(master); |
|
69 ecrt_master_async_send(master); |
73 #endif |
70 #endif |
74 |
71 |
75 if (counter) { |
72 if (counter) { |
76 counter--; |
73 counter--; |
77 } |
74 } |