Fix padding of index 0 for object type variable

If object of type Variable return true bitsize
of subindex 0.

fixes #166
fix/download_variable_using_CA
Andreas Karlsson 2024-02-05 09:33:54 +01:00
parent 3fe4511230
commit 9525469a68
1 changed files with 5 additions and 2 deletions

View File

@ -556,8 +556,11 @@ static uint32_t complete_access_subindex_loop(const _objd *objd,
}
}
/* Subindex 0 is padded to 16 bit */
size += (nsub == 0) ? 16 : bitlen;
/* Subindex 0 is padded to 16 bit if not object type VARIABLE.
* For VARIABLE use true bitsize.
*/
size +=
((nsub == 0) && (SDOobjects[nidx].objtype != OTYPE_VAR)) ? 16 : bitlen;
nsub++;
if ((max_bytes > 0) && (BITS2BYTES(size) >= max_bytes))