diff --git a/soes/esc_coe.c b/soes/esc_coe.c index 3e23b3c..a85ec49 100644 --- a/soes/esc_coe.c +++ b/soes/esc_coe.c @@ -1496,17 +1496,20 @@ static uint64_t COE_getValue (const _objd * obj) case DTYPE_BOOLEAN: case DTYPE_UNSIGNED8: case DTYPE_INTEGER8: + case DTYPE_BITARR8: value = *(uint8_t *)obj->data; break; case DTYPE_UNSIGNED16: case DTYPE_INTEGER16: + case DTYPE_BITARR16: value = *(uint16_t *)obj->data; break; case DTYPE_REAL32: case DTYPE_UNSIGNED32: case DTYPE_INTEGER32: + case DTYPE_BITARR32: value = *(uint32_t *)obj->data; break; @@ -1547,17 +1550,20 @@ static void COE_setValue (const _objd * obj, uint64_t value) case DTYPE_BOOLEAN: case DTYPE_UNSIGNED8: case DTYPE_INTEGER8: + case DTYPE_BITARR8: *(uint8_t *)obj->data = value & UINT8_MAX; break; case DTYPE_UNSIGNED16: case DTYPE_INTEGER16: + case DTYPE_BITARR16: *(uint16_t *)obj->data = value & UINT16_MAX; break; case DTYPE_REAL32: case DTYPE_UNSIGNED32: case DTYPE_INTEGER32: + case DTYPE_BITARR32: *(uint32_t *)obj->data = value & UINT32_MAX; break; diff --git a/soes/esc_coe.h b/soes/esc_coe.h index 221e195..20e25d5 100644 --- a/soes/esc_coe.h +++ b/soes/esc_coe.h @@ -72,6 +72,9 @@ typedef struct #define DTYPE_REAL64 0x0011 #define DTYPE_PDO_MAPPING 0x0021 #define DTYPE_IDENTITY 0x0023 +#define DTYPE_BITARR8 0x002D +#define DTYPE_BITARR16 0x002E +#define DTYPE_BITARR32 0x002F #define DTYPE_BIT1 0x0030 #define DTYPE_BIT2 0x0031 #define DTYPE_BIT3 0x0032