26 |
26 |
27 const indextable *ptrTable; |
27 const indextable *ptrTable; |
28 |
28 |
29 static void CheckSDOAndContinue(CO_Data* d, UNS8 nodeId) |
29 static void CheckSDOAndContinue(CO_Data* d, UNS8 nodeId) |
30 { |
30 { |
31 UNS32 res; |
|
32 UNS8 line; |
|
33 UNS8 err; |
|
34 UNS16 Index; |
|
35 UNS8 SubIndex; |
|
36 UNS32 abortCode; |
31 UNS32 abortCode; |
37 |
32 |
38 if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED) |
33 if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED) |
39 printf("Master : Failed in initializing slave %2.2x, AbortCode :%4.4x \n", nodeId, abortCode); |
34 { |
40 |
35 MSG_ERR(0x1A01, "SDO error in consise DCF", abortCode); |
|
36 MSG_WAR(0x2A02, "server node : ", nodeId); |
|
37 } |
|
38 |
41 closeSDOtransfer(d, nodeId, SDO_CLIENT); |
39 closeSDOtransfer(d, nodeId, SDO_CLIENT); |
42 res = decompo_dcf(d,nodeId); |
40 decompo_dcf(d,nodeId); |
43 } |
41 } |
44 |
42 |
45 UNS32 decompo_dcf(CO_Data* d,UNS8 nodeId) |
43 UNS32 decompo_dcf(CO_Data* d,UNS8 nodeId) |
46 { |
44 { |
47 UNS32 errorCode; |
45 UNS32 errorCode; |
48 UNS16 target_Index; |
46 UNS16 target_Index; |
49 UNS8 target_Subindex; |
47 UNS8 target_Subindex; |
50 UNS32 target_Size; |
48 UNS32 target_Size; |
51 void* target_data = NULL; |
|
52 UNS32 res; |
49 UNS32 res; |
53 ODCallback_t *Callback; |
50 ODCallback_t *Callback; |
54 |
51 |
55 ptrTable = (*d->scanIndexOD)(0x1F22, &errorCode, &Callback); |
52 ptrTable = (*d->scanIndexOD)(0x1F22, &errorCode, &Callback); |
56 if (errorCode != OD_SUCCESSFUL) |
53 if (errorCode != OD_SUCCESSFUL) |
91 target_Index = *((UNS16*)(d->dcf_cursor)); d->dcf_cursor += 2; |
88 target_Index = *((UNS16*)(d->dcf_cursor)); d->dcf_cursor += 2; |
92 target_Subindex = *((UNS8*)(d->dcf_cursor++)); |
89 target_Subindex = *((UNS8*)(d->dcf_cursor++)); |
93 target_Size = *((UNS32*)(d->dcf_cursor)); d->dcf_cursor += 4; |
90 target_Size = *((UNS32*)(d->dcf_cursor)); d->dcf_cursor += 4; |
94 #endif |
91 #endif |
95 |
92 |
96 printf("Master : ConfigureSlaveNode %2.2x (Concise DCF)\n",nodeId); |
93 /*printf("Master : ConfigureSlaveNode %2.2x (Concise DCF)\n",nodeId);*/ |
97 res = writeNetworkDictCallBack(d, /*CO_Data* d*/ |
94 res = writeNetworkDictCallBack(d, /*CO_Data* d*/ |
98 nodeId, /*UNS8 nodeId*/ |
95 nodeId, /*UNS8 nodeId*/ |
99 target_Index, /*UNS16 index*/ |
96 target_Index, /*UNS16 index*/ |
100 target_Subindex, /*UNS8 subindex*/ |
97 target_Subindex, /*UNS8 subindex*/ |
101 target_Size, /*UNS8 count*/ |
98 target_Size, /*UNS8 count*/ |