equal
deleted
inserted
replaced
50 ** @param sizeDataGiven |
50 ** @param sizeDataGiven |
51 ** @param code |
51 ** @param code |
52 ** |
52 ** |
53 ** @return |
53 ** @return |
54 **/ |
54 **/ |
|
55 #ifdef DEBUG_WAR_CONSOLE_ON |
55 UNS8 accessDictionaryError(UNS16 index, UNS8 subIndex, |
56 UNS8 accessDictionaryError(UNS16 index, UNS8 subIndex, |
56 UNS8 sizeDataDict, UNS8 sizeDataGiven, UNS32 code) |
57 UNS8 sizeDataDict, UNS8 sizeDataGiven, UNS32 code) |
57 { |
58 { |
58 #ifdef DEBUG_WAR_CONSOLE_ON |
|
59 MSG_WAR(0x2B09,"Dictionary index : ", index); |
59 MSG_WAR(0x2B09,"Dictionary index : ", index); |
60 MSG_WAR(0X2B10," subindex : ", subIndex); |
60 MSG_WAR(0X2B10," subindex : ", subIndex); |
61 switch (code) { |
61 switch (code) { |
62 case OD_NO_SUCH_OBJECT: |
62 case OD_NO_SUCH_OBJECT: |
63 MSG_WAR(0x2B11,"Index not found ", index); |
63 MSG_WAR(0x2B11,"Index not found ", index); |
82 MSG_WAR(0x2B18,"Value range error : value too high. SDOabort : ", code); |
82 MSG_WAR(0x2B18,"Value range error : value too high. SDOabort : ", code); |
83 break; |
83 break; |
84 default : |
84 default : |
85 MSG_WAR(0x2B20, "Unknown error code : ", code); |
85 MSG_WAR(0x2B20, "Unknown error code : ", code); |
86 } |
86 } |
|
87 return 0; |
|
88 } |
|
89 #else |
|
90 #define accessDictionaryError(index, subIndex, sizeDataDict, sizeDataGiven, code) |
87 #endif |
91 #endif |
88 return 0; |
|
89 } |
|
90 |
92 |
91 /*! |
93 /*! |
92 ** |
94 ** |
93 ** |
95 ** |
94 ** @param d |
96 ** @param d |
196 ** |
198 ** |
197 ** |
199 ** |
198 ** @param d |
200 ** @param d |
199 ** @param wIndex |
201 ** @param wIndex |
200 ** @param bSubindex |
202 ** @param bSubindex |
201 ** @param pDestData |
|
202 ** @param pExpectedSize |
|
203 ** @param pDataType |
|
204 ** @param checkAccess |
|
205 ** |
|
206 ** @return |
|
207 **/ |
|
208 UNS32 getODentry( CO_Data* d, |
|
209 UNS16 wIndex, |
|
210 UNS8 bSubindex, |
|
211 void * pDestData, |
|
212 UNS8 * pExpectedSize, |
|
213 UNS8 * pDataType, |
|
214 UNS8 checkAccess) |
|
215 { |
|
216 return _getODentry( d, |
|
217 wIndex, |
|
218 bSubindex, |
|
219 pDestData, |
|
220 pExpectedSize, |
|
221 pDataType, |
|
222 checkAccess, |
|
223 1);//endianize |
|
224 } |
|
225 |
|
226 /*! |
|
227 ** |
|
228 ** |
|
229 ** @param d |
|
230 ** @param wIndex |
|
231 ** @param bSubindex |
|
232 ** @param pDestData |
|
233 ** @param pExpectedSize |
|
234 ** @param pDataType |
|
235 ** @param checkAccess |
|
236 ** |
|
237 ** @return |
|
238 **/ |
|
239 UNS32 readLocalDict( CO_Data* d, |
|
240 UNS16 wIndex, |
|
241 UNS8 bSubindex, |
|
242 void * pDestData, |
|
243 UNS8 * pExpectedSize, |
|
244 UNS8 * pDataType, |
|
245 UNS8 checkAccess) |
|
246 { |
|
247 return _getODentry( d, |
|
248 wIndex, |
|
249 bSubindex, |
|
250 pDestData, |
|
251 pExpectedSize, |
|
252 pDataType, |
|
253 checkAccess, |
|
254 0);//do not endianize |
|
255 } |
|
256 |
|
257 /*! |
|
258 ** |
|
259 ** |
|
260 ** @param d |
|
261 ** @param wIndex |
|
262 ** @param bSubindex |
|
263 ** @param pSourceData |
203 ** @param pSourceData |
264 ** @param pExpectedSize |
204 ** @param pExpectedSize |
265 ** @param checkAccess |
205 ** @param checkAccess |
266 ** @param endianize |
206 ** @param endianize |
267 ** |
207 ** |
363 /*! |
303 /*! |
364 ** |
304 ** |
365 ** |
305 ** |
366 ** @param d |
306 ** @param d |
367 ** @param wIndex |
307 ** @param wIndex |
368 ** @param bSubindex |
|
369 ** @param pSourceData |
|
370 ** @param pExpectedSize |
|
371 ** @param checkAccess |
|
372 ** |
|
373 ** @return |
|
374 **/ |
|
375 UNS32 setODentry( CO_Data* d, |
|
376 UNS16 wIndex, |
|
377 UNS8 bSubindex, |
|
378 void * pSourceData, |
|
379 UNS8 * pExpectedSize, |
|
380 UNS8 checkAccess) |
|
381 { |
|
382 return _setODentry( d, |
|
383 wIndex, |
|
384 bSubindex, |
|
385 pSourceData, |
|
386 pExpectedSize, |
|
387 checkAccess, |
|
388 1);//endianize |
|
389 } |
|
390 |
|
391 /*! |
|
392 ** |
|
393 ** |
|
394 ** @param d |
|
395 ** @param wIndex |
|
396 ** @param bSubindex |
|
397 ** @param pSourceData |
|
398 ** @param pExpectedSize |
|
399 ** @param checkAccess |
|
400 ** |
|
401 ** @return |
|
402 **/ |
|
403 UNS32 writeLocalDict( CO_Data* d, |
|
404 UNS16 wIndex, |
|
405 UNS8 bSubindex, |
|
406 void * pSourceData, |
|
407 UNS8 * pExpectedSize, |
|
408 UNS8 checkAccess) |
|
409 { |
|
410 return _setODentry( d, |
|
411 wIndex, |
|
412 bSubindex, |
|
413 pSourceData, |
|
414 pExpectedSize, |
|
415 checkAccess, |
|
416 0);//do not endianize |
|
417 } |
|
418 |
|
419 /*! |
|
420 ** |
|
421 ** |
|
422 ** @param d |
|
423 ** @param wIndex |
|
424 ** @param errorCode |
308 ** @param errorCode |
425 ** @param Callback |
309 ** @param Callback |
426 ** |
310 ** |
427 ** @return |
311 ** @return |
428 **/ |
312 **/ |
441 ** |
325 ** |
442 ** @return |
326 ** @return |
443 **/ |
327 **/ |
444 UNS32 RegisterSetODentryCallBack(CO_Data* d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback) |
328 UNS32 RegisterSetODentryCallBack(CO_Data* d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback) |
445 { |
329 { |
446 UNS32 errorCode; |
330 UNS32 errorCode; |
447 ODCallback_t *CallbackList; |
331 ODCallback_t *CallbackList; |
448 |
332 const indextable *odentry; |
449 scanIndexOD (d, wIndex, &errorCode, &CallbackList); |
333 |
450 if(errorCode == OD_SUCCESSFUL && CallbackList) |
334 odentry = scanIndexOD (d, wIndex, &errorCode, &CallbackList); |
|
335 if(errorCode == OD_SUCCESSFUL && CallbackList && bSubindex < odentry->bSubCount) |
451 CallbackList[bSubindex] = Callback; |
336 CallbackList[bSubindex] = Callback; |
452 return errorCode; |
337 return errorCode; |
453 } |
338 } |
454 |
339 |
455 /*! |
340 /*! |