equal
deleted
inserted
replaced
111 */ |
111 */ |
112 #define getSDOt(byte) ((byte >> 4) & 1) |
112 #define getSDOt(byte) ((byte >> 4) & 1) |
113 |
113 |
114 /** Returns the index from the bytes 1 and 2 of the SDO |
114 /** Returns the index from the bytes 1 and 2 of the SDO |
115 */ |
115 */ |
116 #define getSDOindex(byte1, byte2) ((byte2 << 8) | (byte1)) |
116 #define getSDOindex(byte1, byte2) (((UNS16)byte2 << 8) | ((UNS16)byte1)) |
117 |
117 |
118 /** Returns the subIndex from the byte 3 of the SDO |
118 /** Returns the subIndex from the byte 3 of the SDO |
119 */ |
119 */ |
120 #define getSDOsubIndex(byte3) (byte3) |
120 #define getSDOsubIndex(byte3) (byte3) |
121 |
121 |
864 /* Release of the line. */ |
864 /* Release of the line. */ |
865 resetSDOline(d, line); |
865 resetSDOline(d, line); |
866 } |
866 } |
867 else {/* So, if it is not an expedited transfert */ |
867 else {/* So, if it is not an expedited transfert */ |
868 if (getSDOs(m->data[0])) { |
868 if (getSDOs(m->data[0])) { |
869 nbBytes = (m->data[4]) + (m->data[5]<<8) + (m->data[6]<<16) + (m->data[7]<<24); |
869 nbBytes = (m->data[4]) + ((UNS32)(m->data[5])<<8) + ((UNS32)(m->data[6])<<16) + ((UNS32)(m->data[7])<<24); |
870 err = setSDOlineRestBytes(d, nodeId, nbBytes); |
870 err = setSDOlineRestBytes(d, nodeId, nbBytes); |
871 if (err) { |
871 if (err) { |
872 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); |
872 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); |
873 return 0xFF; |
873 return 0xFF; |
874 } |
874 } |
1056 return 0; |
1056 return 0; |
1057 } |
1057 } |
1058 else { /* So, if it is not an expedited transfert */ |
1058 else { /* So, if it is not an expedited transfert */ |
1059 /* Storing the nb of data to receive. */ |
1059 /* Storing the nb of data to receive. */ |
1060 if (getSDOs(m->data[0])) { |
1060 if (getSDOs(m->data[0])) { |
1061 nbBytes = m->data[4] + (m->data[5]<<8) + (m->data[6]<<16) + (m->data[7]<<24); |
1061 nbBytes = m->data[4] + ((UNS32)(m->data[5])<<8) + ((UNS32)(m->data[6])<<16) + ((UNS32)(m->data[7])<<24); |
1062 err = setSDOlineRestBytes(d, line, nbBytes); |
1062 err = setSDOlineRestBytes(d, line, nbBytes); |
1063 if (err) { |
1063 if (err) { |
1064 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); |
1064 failedSDO(d, nodeId, whoami, index, subIndex, SDOABT_GENERAL_ERROR); |
1065 return 0xFF; |
1065 return 0xFF; |
1066 } |
1066 } |