revert to 32-bit objd values
The size of the objd->value member was previously increased to 64-bit to allow setting 64-bit default values. This may waste some (ROM) memory as 64-bit values are somewhat uncommon, and the value can be set from an application hook instead. Revert to 32-bit values. Fix #59pull/62/head
parent
75a5514430
commit
f61e77a5d1
|
@ -1121,9 +1121,8 @@ void COE_initDefaultValues (void)
|
|||
i = 0;
|
||||
do
|
||||
{
|
||||
if (objd[i].data != NULL)
|
||||
if (objd[i].data != NULL && objd[i].bitlength <= sizeof(objd[i].value))
|
||||
{
|
||||
/* TODO: bitlength > 64 */
|
||||
COE_setValue (&objd[i], objd[i].value);
|
||||
DPRINT ("%04x:%02x = %x\n", SDOobjects[n].index, objd[i].subindex, objd[i].value);
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ typedef struct CC_PACKED
|
|||
uint16_t bitlength;
|
||||
uint16_t flags;
|
||||
const char *name;
|
||||
uint64_t value;
|
||||
uint32_t value;
|
||||
void *data;
|
||||
} _objd;
|
||||
CC_PACKED_END
|
||||
|
|
Loading…
Reference in New Issue