162 } |
162 } |
163 |
163 |
164 void TestMaster_post_sync() |
164 void TestMaster_post_sync() |
165 { |
165 { |
166 eprintf("TestMaster_post_sync\n"); |
166 eprintf("TestMaster_post_sync\n"); |
167 eprintf("Master: %d %d %d %d %d %d %d %d %d %x %x\n",MasterMap1,MasterMap2 ,MasterMap3, MasterMap4,MasterMap5,MasterMap6,MasterMap7,MasterMap8,MasterMap9,MasterMap10,MasterMap11); |
167 eprintf("Master: %d %d %d %d %d %d %d %d %d %x %x %d %d\n", |
|
168 MasterMap1, |
|
169 MasterMap2, |
|
170 MasterMap3, |
|
171 MasterMap4, |
|
172 MasterMap5, |
|
173 MasterMap6, |
|
174 MasterMap7, |
|
175 MasterMap8, |
|
176 MasterMap9, |
|
177 MasterMap10, |
|
178 MasterMap11, |
|
179 MasterMap12, |
|
180 MasterMap13); |
168 } |
181 } |
169 |
182 |
170 char query_result = 0; |
183 char query_result = 0; |
171 char waiting_answer = 0; |
184 char waiting_answer = 0; |
172 |
185 |
|
186 |
|
187 static void CheckSDO(CO_Data* d, UNS8 nodeId) |
|
188 { |
|
189 UNS32 abortCode; |
|
190 if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED) |
|
191 eprintf("Master : Failed in changing Slave's transmit type AbortCode :%4.4x \n", abortCode); |
|
192 |
|
193 /* Finalise last SDO transfer with this node */ |
|
194 closeSDOtransfer(&TestMaster_Data, nodeId, SDO_CLIENT); |
|
195 } |
|
196 |
|
197 |
|
198 static int MasterSyncCount = 0; |
173 void TestMaster_post_TPDO() |
199 void TestMaster_post_TPDO() |
174 { |
200 { |
175 eprintf("TestMaster_post_TPDO\n"); |
201 eprintf("TestMaster_post_TPDO MasterSyncCount = %d \n", MasterSyncCount); |
176 // |
202 // |
177 // { |
203 // { |
178 // char zero = 0; |
204 // char zero = 0; |
179 // if(MasterMap4 > 0x80){ |
205 // if(MasterMap4 > 0x80){ |
180 // writeNetworkDict ( |
206 // writeNetworkDict ( |
212 break; |
239 break; |
213 case SDO_DOWNLOAD_IN_PROGRESS: |
240 case SDO_DOWNLOAD_IN_PROGRESS: |
214 case SDO_UPLOAD_IN_PROGRESS: |
241 case SDO_UPLOAD_IN_PROGRESS: |
215 break; |
242 break; |
216 } |
243 } |
217 }else if(MasterMap1 % 10 == 0){ |
244 }else if(MasterSyncCount % 10 == 0){ |
218 readNetworkDict ( |
245 readNetworkDict ( |
219 &TestMaster_Data, |
246 &TestMaster_Data, |
220 0x02, |
247 0x02, |
221 0x2002, |
248 0x2002, |
222 0x00, |
249 0x00, |
223 0); |
250 0); |
224 waiting_answer = 1; |
251 waiting_answer = 1; |
225 } |
252 } |
226 } |
253 #endif |
|
254 if(MasterSyncCount % 17 == 0){ |
|
255 eprintf("Master : Ask RTR PDO (0x1402)\n"); |
|
256 sendPDOrequest(&TestMaster_Data, 0x1402 ); |
|
257 sendPDOrequest(&TestMaster_Data, 0x1403 ); |
|
258 } |
|
259 if(MasterSyncCount % 50 == 0){ |
|
260 eprintf("Master : Change slave's transmit type to 0xFF\n"); |
|
261 UNS8 transmitiontype = 0xFF; |
|
262 writeNetworkDictCallBack (&TestMaster_Data, /*CO_Data* d*/ |
|
263 2, /*UNS8 nodeId*/ |
|
264 0x1802, /*UNS16 index*/ |
|
265 0x02, /*UNS16 index*/ |
|
266 1, /*UNS8 count*/ |
|
267 0, /*UNS8 dataType*/ |
|
268 &transmitiontype,/*void *data*/ |
|
269 CheckSDO); /*SDOCallback_t Callback*/ |
|
270 } |
|
271 if(MasterSyncCount % 50 == 25){ |
|
272 eprintf("Master : Change slave's transmit type to 0x00\n"); |
|
273 UNS8 transmitiontype = 0x00; |
|
274 writeNetworkDictCallBack (&TestMaster_Data, /*CO_Data* d*/ |
|
275 2, /*UNS8 nodeId*/ |
|
276 0x1802, /*UNS16 index*/ |
|
277 0x02, /*UNS16 index*/ |
|
278 1, /*UNS8 count*/ |
|
279 0, /*UNS8 dataType*/ |
|
280 &transmitiontype,/*void *data*/ |
|
281 CheckSDO); /*SDOCallback_t Callback*/ |
|
282 } |
|
283 MasterSyncCount++; |
|
284 } |