Add more fine-grained control of default values

Add a new flag to the object dictionary that makes `COE_initDefaultValues`
skip setting default values.
pull/133/head
Mikael Heden 2022-09-13 11:52:15 +02:00
parent 8de160a851
commit 952950dc9b
2 changed files with 2 additions and 1 deletions

View File

@ -1726,7 +1726,7 @@ void COE_initDefaultValues (void)
i = 0;
do
{
if (objd[i].data != NULL)
if ((objd[i].data != NULL) && (!(objd[i].flags & ATYPE_NODEFAULT)))
{
COE_setValue (&objd[i], objd[i].value);
DPRINT ("%04x:%02x = %x\n", SDOobjects[n].index, objd[i].subindex, objd[i].value);

View File

@ -96,6 +96,7 @@ typedef struct
#define ATYPE_Wop 0x20
#define ATYPE_RXPDO 0x40
#define ATYPE_TXPDO 0x80
#define ATYPE_NODEFAULT 0x8000
#define ATYPE_RO (ATYPE_Rpre | ATYPE_Rsafe | ATYPE_Rop)
#define ATYPE_WO (ATYPE_Wpre | ATYPE_Wsafe | ATYPE_Wop)