134 // UNS8 *data; |
134 // UNS8 *data; |
135 UNS8 size = 0; |
135 UNS8 size = 0; |
136 UNS8 dataType; |
136 UNS8 dataType; |
137 UNS32 errorCode; |
137 UNS32 errorCode; |
138 |
138 |
139 MSG_WAR(0x3A05, "Reading at index : ", d->transfers[line].index); |
139 MSG_WAR(0x3A05, "objdict->line index : ", d->transfers[line].index); |
140 MSG_WAR(0x3A06, "Reading at subIndex : ", d->transfers[line].subIndex); |
140 MSG_WAR(0x3A06, " subIndex : ", d->transfers[line].subIndex); |
141 |
141 |
142 errorCode = getODentry(d, d->transfers[line].index, |
142 errorCode = getODentry(d, d->transfers[line].index, |
143 d->transfers[line].subIndex, |
143 d->transfers[line].subIndex, |
144 (void *)d->transfers[line].data, |
144 (void *)d->transfers[line].data, |
145 &size, &dataType, 0); |
145 &size, &dataType, 0); |
147 if (errorCode != OD_SUCCESSFUL) |
147 if (errorCode != OD_SUCCESSFUL) |
148 return errorCode; |
148 return errorCode; |
149 |
149 |
150 d->transfers[line].count = size; |
150 d->transfers[line].count = size; |
151 d->transfers[line].offset = 0; |
151 d->transfers[line].offset = 0; |
|
152 #if 0 |
|
153 // Me laisser ça, please ! (FD) |
|
154 { |
|
155 UNS8 i; |
|
156 for (i = 0 ; i < 10 ; i++) { |
|
157 MSG_WAR(i, "data= ", d->transfers[line].data[i]); |
|
158 } |
|
159 } |
|
160 #endif |
152 return 0; |
161 return 0; |
153 } |
162 } |
154 |
163 |
155 /***************************************************************************/ |
164 /***************************************************************************/ |
156 UNS8 lineToSDO (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8* data) { |
165 UNS8 lineToSDO (CO_Data* d, UNS8 line, UNS8 nbBytes, UNS8* data) { |
762 MSG_WAR(0x3A90, "Reading at index : ", index); |
771 MSG_WAR(0x3A90, "Reading at index : ", index); |
763 MSG_WAR(0x3A91, "Reading at subIndex : ", subIndex); |
772 MSG_WAR(0x3A91, "Reading at subIndex : ", subIndex); |
764 // Search if a SDO transfert have been yet initiated |
773 // Search if a SDO transfert have been yet initiated |
765 err = getSDOlineOnUse( d, nodeId, whoami, &line ); |
774 err = getSDOlineOnUse( d, nodeId, whoami, &line ); |
766 if (! err) { |
775 if (! err) { |
767 MSG_ERR(0x1A92, "SDO error : Transmission yet started at line : ", line); |
776 MSG_ERR(0x1A92, "SDO error : Transmission yet started at line : ", line); |
768 MSG_WAR(0x3A93, "nodeId = ", nodeId); |
777 MSG_WAR(0x3A93, "nodeId = ", nodeId); |
769 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); |
778 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); |
770 return 0xFF; |
779 return 0xFF; |
771 } |
780 } |
772 // No line on use. Great ! |
781 // No line on use. Great ! |
773 // Try to open a new line. |
782 // Try to open a new line. |
774 err = getSDOfreeLine( d, whoami, &line ); |
783 err = getSDOfreeLine( d, whoami, &line ); |
775 if (err) { |
784 if (err) { |