# HG changeset patch # User etisserant # Date 1181306477 -7200 # Node ID 94c3f89bc3ccc7ac003ba3167a18f320f2803456 # Parent 8ae2ae25b0961eee1b70426e70410b3dd90338a0 Fixed compile error because of missed type casting in certain compiler (http://www.iar.se/). Thanks to Raphael Studer diff -r 8ae2ae25b096 -r 94c3f89bc3cc src/pdo.c --- a/src/pdo.c Fri Jun 08 11:50:51 2007 +0200 +++ b/src/pdo.c Fri Jun 08 14:41:17 2007 +0200 @@ -194,7 +194,7 @@ if (offset) while (offset <= lastIndex) { /* get the CobId*/ - pwCobId = d->objdict[offset].pSubindex[1].pObject; + pwCobId = (UNS32*) d->objdict[offset].pSubindex[1].pObject; if ( *pwCobId == cobId ) { s_PDO pdo; @@ -269,7 +269,7 @@ case state2: /* get CobId of the dictionary correspondant to the received PDO */ - pwCobId = d->objdict[offsetObjdict].pSubindex[1].pObject; + pwCobId = (UNS32*) d->objdict[offsetObjdict].pSubindex[1].pObject; /* check the CobId coherance */ /*pwCobId is the cobId read in the dictionary at the state 3 */ @@ -293,12 +293,12 @@ dictionnary. */ offsetObjdict = d->firstIndex->PDO_RCV_MAP; lastIndex = d->lastIndex->PDO_RCV_MAP; - pMappingCount = (d->objdict + offsetObjdict + numPdo)->pSubindex[0].pObject; + pMappingCount = (UNS8*) (d->objdict + offsetObjdict + numPdo)->pSubindex[0].pObject; numMap = 0; while (numMap < *pMappingCount) { UNS8 tmp[]= {0,0,0,0,0,0,0,0}; UNS8 ByteSize; - pMappingParameter = (d->objdict + offsetObjdict + numPdo)->pSubindex[numMap + 1].pObject; + pMappingParameter = (UNS32*) (d->objdict + offsetObjdict + numPdo)->pSubindex[numMap + 1].pObject; if (pMappingParameter == NULL) { MSG_ERR(0x1937, "Couldn't get mapping parameter : ", numMap + 1); return 0xFF; @@ -357,7 +357,7 @@ case state1:/* check the CobId */ /* get CobId of the dictionary which match to the received PDO */ - pwCobId = (d->objdict + offsetObjdict)->pSubindex[1].pObject; + pwCobId = (UNS32*) (d->objdict + offsetObjdict)->pSubindex[1].pObject; if ( *pwCobId == (*m).cob_id.w ) { status = state4; break; @@ -371,7 +371,7 @@ case state4:/* check transmission type (after request?) */ - pTransmissionType = d->objdict[offsetObjdict].pSubindex[2].pObject; + pTransmissionType = (UNS8*) d->objdict[offsetObjdict].pSubindex[2].pObject; if ( (*pTransmissionType == TRANS_RTR) || (*pTransmissionType == TRANS_RTR_SYNC ) || (*pTransmissionType == TRANS_EVENT) ) { status = state5; break; @@ -386,10 +386,10 @@ case state5:/* get mapped objects number */ offsetObjdict = d->firstIndex->PDO_TRS_MAP; lastIndex = d->lastIndex->PDO_TRS_MAP; - pMappingCount = (d->objdict + offsetObjdict + numPdo)->pSubindex[0].pObject; + pMappingCount = (UNS8*) (d->objdict + offsetObjdict + numPdo)->pSubindex[0].pObject; numMap = 0; while (numMap < *pMappingCount) { - pMappingParameter = (d->objdict + offsetObjdict + numPdo)->pSubindex[numMap + 1].pObject; + pMappingParameter = (UNS32*) (d->objdict + offsetObjdict + numPdo)->pSubindex[numMap + 1].pObject; /* Get the mapped variable */ Size = ((UNS8)(((*pMappingParameter) & 0xFF) >> 3)); objDict = getODentry( d, (UNS16)((*pMappingParameter) >> (UNS8)16), diff -r 8ae2ae25b096 -r 94c3f89bc3cc src/sdo.c --- a/src/sdo.c Fri Jun 08 11:50:51 2007 +0200 +++ b/src/sdo.c Fri Jun 08 14:41:17 2007 +0200 @@ -518,7 +518,7 @@ MSG_ERR(0x1A42, "SendSDO : No SDO server found", 0); return 0xFF; } - pwCobId = d->objdict[offset].pSubindex[2].pObject; + pwCobId = (UNS32*) d->objdict[offset].pSubindex[2].pObject; MSG_WAR(0x3A41, "I am server. cobId : ", *pwCobId); } else { /*case client*/ @@ -537,7 +537,7 @@ MSG_ERR(0x1A28, "Subindex 3 not found at index ", 0x1280 + sdoNum); return 0xFF; } - pwNodeId = d->objdict[offset].pSubindex[3].pObject; + pwNodeId = (UNS32*) d->objdict[offset].pSubindex[3].pObject; MSG_WAR(0x3A44, "Found nodeId server = ", *pwNodeId); if(*pwNodeId == sdo.nodeId) { found = 1; @@ -551,7 +551,7 @@ return 0xFF; } /* Second, read the cobid client->server */ - pwCobId = d->objdict[offset].pSubindex[1].pObject; + pwCobId = (UNS32*) d->objdict[offset].pSubindex[1].pObject; } /* message copy for sending */ m.cob_id.w = *pwCobId; @@ -636,7 +636,7 @@ MSG_ERR(0x1A61, "Subindex 1 not found at index ", 0x1200 + j); return 0xFF; } - pCobId = d->objdict[offset].pSubindex[1].pObject; + pCobId = (UNS32*) d->objdict[offset].pSubindex[1].pObject; if ( *pCobId == (*m).cob_id.w ) { whoami = SDO_SERVER; MSG_WAR(0x3A62, "proceedSDO. I am server. index : ", 0x1200 + j); @@ -659,10 +659,10 @@ return 0xFF; } /* a) Looking for the cobid received. */ - pCobId = d->objdict[offset].pSubindex[2].pObject; + pCobId = (UNS32*) d->objdict[offset].pSubindex[2].pObject; if (*pCobId == (*m).cob_id.w ) { /* b) cobid found, so reading the node id of the server. */ - pNodeId = d->objdict[offset].pSubindex[3].pObject; + pNodeId = (UNS32*) d->objdict[offset].pSubindex[3].pObject; whoami = SDO_CLIENT; nodeId_32 = *pNodeId; nodeId = (UNS8)nodeId_32; @@ -1288,7 +1288,7 @@ return 0xFF; } /* looking for the nodeId server */ - pNodeIdServer = d->objdict[offset].pSubindex[3].pObject; + pNodeIdServer = (UNS32*) d->objdict[offset].pSubindex[3].pObject; nodeIdServer = *pNodeIdServer; MSG_WAR(0x1AD2, "index : ", 0x1280 + i); MSG_WAR(0x1AD3, "nodeIdServer : ", nodeIdServer); @@ -1448,7 +1448,7 @@ return 0xFF; } /* looking for the nodeId server */ - pNodeIdServer = d->objdict[offset].pSubindex[3].pObject; + pNodeIdServer = (UNS32*) d->objdict[offset].pSubindex[3].pObject; nodeIdServer = *pNodeIdServer; if(nodeIdServer == (UNS32)nodeId) { diff -r 8ae2ae25b096 -r 94c3f89bc3cc src/sync.c --- a/src/sync.c Fri Jun 08 11:50:51 2007 +0200 +++ b/src/sync.c Fri Jun 08 14:41:17 2007 +0200 @@ -192,7 +192,7 @@ MSG_ERR(0x1004, "Subindex 2 not found at index ", 0x1800 + pdoNum); return 0xFF; } - pTransmissionType = d->objdict[offsetObjdict].pSubindex[2].pObject; + pTransmissionType = (UNS8*) d->objdict[offsetObjdict].pSubindex[2].pObject; MSG_WAR(0x3005, "Reading PDO at index : ", 0x1800 + pdoNum); status = state4; break; @@ -215,16 +215,16 @@ break; } case state5: /* get PDO CobId */ - pwCobId = d->objdict[offsetObjdict].pSubindex[1].pObject; + pwCobId = (UNS32*) d->objdict[offsetObjdict].pSubindex[1].pObject; MSG_WAR(0x3009, " PDO CobId is : ", *pwCobId); status = state7; break; case state7: /* get mapped objects number to transmit with this PDO */ - pMappingCount = d->objdict[offsetObjdictMap].pSubindex[0].pObject; + pMappingCount = (UNS8*) d->objdict[offsetObjdictMap].pSubindex[0].pObject; MSG_WAR(0x300D, " Number of objects mapped : ",*pMappingCount ); status = state8; case state8: /* get mapping parameters */ - pMappingParameter = d->objdict[offsetObjdictMap].pSubindex[prp_j + 1].pObject; + pMappingParameter = (UNS32*) d->objdict[offsetObjdictMap].pSubindex[prp_j + 1].pObject; MSG_WAR(0x300F, " got mapping parameter : ", *pMappingParameter); MSG_WAR(0x3050, " at index : ", 0x1A00 + pdoNum); MSG_WAR(0x3051, " sub-index : ", prp_j + 1);