summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--extmod/moductypes.c3
-rw-r--r--py/qstrdefs.h3
-rw-r--r--tests/extmod/uctypes_le.py12
-rw-r--r--tests/extmod/uctypes_native_le.py12
4 files changed, 18 insertions, 12 deletions
diff --git a/extmod/moductypes.c b/extmod/moductypes.c
index f0aaa78b29..dd78102aee 100644
--- a/extmod/moductypes.c
+++ b/extmod/moductypes.c
@@ -606,6 +606,9 @@ STATIC const mp_map_elem_t mp_module_uctypes_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_BFUINT32), MP_OBJ_NEW_SMALL_INT(TYPE2SMALLINT(BFUINT32, 4)) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_BFINT32), MP_OBJ_NEW_SMALL_INT(TYPE2SMALLINT(BFINT32, 4)) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_BF_POS), MP_OBJ_NEW_SMALL_INT(17) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_BF_LEN), MP_OBJ_NEW_SMALL_INT(22) },
+
{ MP_OBJ_NEW_QSTR(MP_QSTR_PTR), MP_OBJ_NEW_SMALL_INT(TYPE2SMALLINT(PTR, AGG_TYPE_BITS)) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ARRAY), MP_OBJ_NEW_SMALL_INT(TYPE2SMALLINT(ARRAY, AGG_TYPE_BITS)) },
};
diff --git a/py/qstrdefs.h b/py/qstrdefs.h
index cb40bdb835..e3a4dc01ab 100644
--- a/py/qstrdefs.h
+++ b/py/qstrdefs.h
@@ -398,6 +398,9 @@ Q(FLOAT64)
Q(ARRAY)
Q(PTR)
//Q(BITFIELD)
+
+Q(BF_POS)
+Q(BF_LEN)
#endif
#if MICROPY_PY_IO
diff --git a/tests/extmod/uctypes_le.py b/tests/extmod/uctypes_le.py
index 0e3bd9a82d..416a007448 100644
--- a/tests/extmod/uctypes_le.py
+++ b/tests/extmod/uctypes_le.py
@@ -8,13 +8,13 @@ desc = {
}),
"arr": (uctypes.ARRAY | 0, uctypes.UINT8 | 2),
"arr2": (uctypes.ARRAY | 0, 2, {"b": uctypes.UINT8 | 0}),
- "bitf0": uctypes.BFUINT16 | 0 | 0 << 17 | 8 << 22,
- "bitf1": uctypes.BFUINT16 | 0 | 8 << 17 | 8 << 22,
+ "bitf0": uctypes.BFUINT16 | 0 | 0 << uctypes.BF_POS | 8 << uctypes.BF_LEN,
+ "bitf1": uctypes.BFUINT16 | 0 | 8 << uctypes.BF_POS | 8 << uctypes.BF_LEN,
- "bf0": uctypes.BFUINT16 | 0 | 0 << 17 | 4 << 22,
- "bf1": uctypes.BFUINT16 | 0 | 4 << 17 | 4 << 22,
- "bf2": uctypes.BFUINT16 | 0 | 8 << 17 | 4 << 22,
- "bf3": uctypes.BFUINT16 | 0 | 12 << 17 | 4 << 22,
+ "bf0": uctypes.BFUINT16 | 0 | 0 << uctypes.BF_POS | 4 << uctypes.BF_LEN,
+ "bf1": uctypes.BFUINT16 | 0 | 4 << uctypes.BF_POS | 4 << uctypes.BF_LEN,
+ "bf2": uctypes.BFUINT16 | 0 | 8 << uctypes.BF_POS | 4 << uctypes.BF_LEN,
+ "bf3": uctypes.BFUINT16 | 0 | 12 << uctypes.BF_POS | 4 << uctypes.BF_LEN,
"ptr": (uctypes.PTR | 0, uctypes.UINT8),
"ptr2": (uctypes.PTR | 0, {"b": uctypes.UINT8 | 0}),
diff --git a/tests/extmod/uctypes_native_le.py b/tests/extmod/uctypes_native_le.py
index 7a5e38733a..b4694994a2 100644
--- a/tests/extmod/uctypes_native_le.py
+++ b/tests/extmod/uctypes_native_le.py
@@ -17,13 +17,13 @@ desc = {
}),
"arr": (uctypes.ARRAY | 0, uctypes.UINT8 | 2),
"arr2": (uctypes.ARRAY | 0, 2, {"b": uctypes.UINT8 | 0}),
- "bitf0": uctypes.BFUINT16 | 0 | 0 << 17 | 8 << 22,
- "bitf1": uctypes.BFUINT16 | 0 | 8 << 17 | 8 << 22,
+ "bitf0": uctypes.BFUINT16 | 0 | 0 << uctypes.BF_POS | 8 << uctypes.BF_LEN,
+ "bitf1": uctypes.BFUINT16 | 0 | 8 << uctypes.BF_POS | 8 << uctypes.BF_LEN,
- "bf0": uctypes.BFUINT16 | 0 | 0 << 17 | 4 << 22,
- "bf1": uctypes.BFUINT16 | 0 | 4 << 17 | 4 << 22,
- "bf2": uctypes.BFUINT16 | 0 | 8 << 17 | 4 << 22,
- "bf3": uctypes.BFUINT16 | 0 | 12 << 17 | 4 << 22,
+ "bf0": uctypes.BFUINT16 | 0 | 0 << uctypes.BF_POS | 4 << uctypes.BF_LEN,
+ "bf1": uctypes.BFUINT16 | 0 | 4 << uctypes.BF_POS | 4 << uctypes.BF_LEN,
+ "bf2": uctypes.BFUINT16 | 0 | 8 << uctypes.BF_POS | 4 << uctypes.BF_LEN,
+ "bf3": uctypes.BFUINT16 | 0 | 12 << uctypes.BF_POS | 4 << uctypes.BF_LEN,
"ptr": (uctypes.PTR | 0, uctypes.UINT8),
"ptr2": (uctypes.PTR | 0, {"b": uctypes.UINT8 | 0}),