# HG changeset patch # User etisserant # Date 1191340711 -7200 # Node ID 340348f0193f14165e7d17e118d3377a42ff1698 # Parent 7ba4302a99998d5e9c5f9feabace9b0c255722b8 Now, SetNodeId will change 1200h SDO server params to new defaul values only if already set to appropriate default values. diff -r 7ba4302a9999 -r 340348f0193f src/states.c --- a/src/states.c Tue Oct 02 17:57:16 2007 +0200 +++ b/src/states.c Tue Oct 02 17:58:31 2007 +0200 @@ -242,12 +242,16 @@ { UNS16 offset = d->firstIndex->SDO_SVR; if(offset){ + /* Adjust COB-ID Client->Server (rx) only id already set to default value*/ + if(*(UNS32*)d->objdict[offset].pSubindex[1].pObject = 0x600 + *d->bDeviceNodeId){ /* cob_id_client = 0x600 + nodeId; */ *(UNS32*)d->objdict[offset].pSubindex[1].pObject = 0x600 + nodeId; + } + /* Adjust COB-ID Server -> Client (tx) only id already set to default value*/ + if(*(UNS32*)d->objdict[offset].pSubindex[2].pObject = 0x580 + *d->bDeviceNodeId){ /* cob_id_server = 0x580 + nodeId; */ *(UNS32*)d->objdict[offset].pSubindex[2].pObject = 0x580 + nodeId; - /* node Id client. As we do not know the value, we put the node Id Server */ - /* *(UNS8*)d->objdict[offset].pSubindex[3].pObject = nodeId; */ + } } /*