Skip to content

Commit fba53cc

Browse files
authored
[ESD-2242] Fix integer promotion issues in generated macros (#1083)
* Fix integer promotion issues in generated macros * Getters as well
1 parent b70454e commit fba53cc

19 files changed

+2003
-1780
lines changed

c/include/libsbp/bootload_macros.h

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -30,36 +30,40 @@
3030
(0xff)
3131
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_SHIFT \
3232
(8u)
33-
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_GET( \
34-
flags) \
35-
(((flags) >> \
36-
SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_SHIFT) & \
37-
SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_MASK)
38-
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_SET( \
39-
flags, val) \
40-
do { \
41-
((flags) |= \
42-
(((val) & \
43-
(SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_MASK)) \
44-
<< (SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_SHIFT))); \
33+
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_GET( \
34+
flags) \
35+
((u32)( \
36+
((flags) >> \
37+
SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_SHIFT) & \
38+
SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_MASK))
39+
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_SET( \
40+
flags, val) \
41+
do { \
42+
(flags) = (u32)( \
43+
(flags) | \
44+
(((val) & \
45+
(SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_MASK)) \
46+
<< (SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MAJOR_PROTOCOL_VERSION_NUMBER_SHIFT))); \
4547
} while (0)
4648

4749
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_MASK \
4850
(0xff)
4951
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_SHIFT \
5052
(0u)
51-
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_GET( \
52-
flags) \
53-
(((flags) >> \
54-
SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_SHIFT) & \
55-
SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_MASK)
56-
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_SET( \
57-
flags, val) \
58-
do { \
59-
((flags) |= \
60-
(((val) & \
61-
(SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_MASK)) \
62-
<< (SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_SHIFT))); \
53+
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_GET( \
54+
flags) \
55+
((u32)( \
56+
((flags) >> \
57+
SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_SHIFT) & \
58+
SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_MASK))
59+
#define SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_SET( \
60+
flags, val) \
61+
do { \
62+
(flags) = (u32)( \
63+
(flags) | \
64+
(((val) & \
65+
(SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_MASK)) \
66+
<< (SBP_BOOTLOADER_HANDSHAKE_RESP_SBP_MINOR_PROTOCOL_VERSION_NUMBER_SHIFT))); \
6367
} while (0)
6468

6569
/**

c/include/libsbp/ext_events_macros.h

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,26 @@
2121
#define SBP_MSG_EXT_EVENT 0x0101
2222
#define SBP_EXT_EVENT_TIME_QUALITY_MASK (0x1)
2323
#define SBP_EXT_EVENT_TIME_QUALITY_SHIFT (1u)
24-
#define SBP_EXT_EVENT_TIME_QUALITY_GET(flags) \
25-
(((flags) >> SBP_EXT_EVENT_TIME_QUALITY_SHIFT) & \
26-
SBP_EXT_EVENT_TIME_QUALITY_MASK)
27-
#define SBP_EXT_EVENT_TIME_QUALITY_SET(flags, val) \
28-
do { \
29-
((flags) |= (((val) & (SBP_EXT_EVENT_TIME_QUALITY_MASK)) \
30-
<< (SBP_EXT_EVENT_TIME_QUALITY_SHIFT))); \
24+
#define SBP_EXT_EVENT_TIME_QUALITY_GET(flags) \
25+
((u8)(((flags) >> SBP_EXT_EVENT_TIME_QUALITY_SHIFT) & \
26+
SBP_EXT_EVENT_TIME_QUALITY_MASK))
27+
#define SBP_EXT_EVENT_TIME_QUALITY_SET(flags, val) \
28+
do { \
29+
(flags) = (u8)((flags) | (((val) & (SBP_EXT_EVENT_TIME_QUALITY_MASK)) \
30+
<< (SBP_EXT_EVENT_TIME_QUALITY_SHIFT))); \
3131
} while (0)
3232

3333
#define SBP_EXT_EVENT_TIME_QUALITY_UNKNOWN_DONT_HAVE_NAV_SOLUTION (0)
3434
#define SBP_EXT_EVENT_TIME_QUALITY_GOOD (1)
3535
#define SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_MASK (0x1)
3636
#define SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_SHIFT (0u)
37-
#define SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_GET(flags) \
38-
(((flags) >> SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_SHIFT) & \
39-
SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_MASK)
40-
#define SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_SET(flags, val) \
41-
do { \
42-
((flags) |= (((val) & (SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_MASK)) \
43-
<< (SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_SHIFT))); \
37+
#define SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_GET(flags) \
38+
((u8)(((flags) >> SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_SHIFT) & \
39+
SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_MASK))
40+
#define SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_SET(flags, val) \
41+
do { \
42+
(flags) = (u8)((flags) | (((val) & (SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_MASK)) \
43+
<< (SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_SHIFT))); \
4444
} while (0)
4545

4646
#define SBP_EXT_EVENT_NEW_LEVEL_OF_PIN_LOW (0)

c/include/libsbp/flash_macros.h

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@
2121
#define SBP_MSG_FLASH_PROGRAM 0x00E6
2222
#define SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_MASK (0x1)
2323
#define SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_SHIFT (0u)
24-
#define SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_GET(flags) \
25-
(((flags) >> SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_SHIFT) & \
26-
SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_MASK)
27-
#define SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_SET(flags, val) \
28-
do { \
29-
((flags) |= (((val) & (SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_MASK)) \
30-
<< (SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_SHIFT))); \
24+
#define SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_GET(flags) \
25+
((u8)(((flags) >> SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_SHIFT) & \
26+
SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_MASK))
27+
#define SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_SET(flags, val) \
28+
do { \
29+
(flags) = (u8)((flags) | \
30+
(((val) & (SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_MASK)) \
31+
<< (SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_SHIFT))); \
3132
} while (0)
3233

3334
#define SBP_FLASH_PROGRAM_FLASH_TARGET_TO_READ_FLASH_STM (0)
@@ -65,13 +66,13 @@
6566
#define SBP_MSG_FLASH_DONE 0x00E0
6667
#define SBP_FLASH_DONE_RESPONSE_CODE_MASK (0x7)
6768
#define SBP_FLASH_DONE_RESPONSE_CODE_SHIFT (0u)
68-
#define SBP_FLASH_DONE_RESPONSE_CODE_GET(flags) \
69-
(((flags) >> SBP_FLASH_DONE_RESPONSE_CODE_SHIFT) & \
70-
SBP_FLASH_DONE_RESPONSE_CODE_MASK)
71-
#define SBP_FLASH_DONE_RESPONSE_CODE_SET(flags, val) \
72-
do { \
73-
((flags) |= (((val) & (SBP_FLASH_DONE_RESPONSE_CODE_MASK)) \
74-
<< (SBP_FLASH_DONE_RESPONSE_CODE_SHIFT))); \
69+
#define SBP_FLASH_DONE_RESPONSE_CODE_GET(flags) \
70+
((u8)(((flags) >> SBP_FLASH_DONE_RESPONSE_CODE_SHIFT) & \
71+
SBP_FLASH_DONE_RESPONSE_CODE_MASK))
72+
#define SBP_FLASH_DONE_RESPONSE_CODE_SET(flags, val) \
73+
do { \
74+
(flags) = (u8)((flags) | (((val) & (SBP_FLASH_DONE_RESPONSE_CODE_MASK)) \
75+
<< (SBP_FLASH_DONE_RESPONSE_CODE_SHIFT))); \
7576
} while (0)
7677

7778
#define SBP_FLASH_DONE_RESPONSE_CODE_FLASH_OK (0)
@@ -89,13 +90,14 @@
8990
#define SBP_MSG_FLASH_READ_REQ 0x00E7
9091
#define SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_MASK (0x1)
9192
#define SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_SHIFT (0u)
92-
#define SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_GET(flags) \
93-
(((flags) >> SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_SHIFT) & \
94-
SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_MASK)
95-
#define SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_SET(flags, val) \
96-
do { \
97-
((flags) |= (((val) & (SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_MASK)) \
98-
<< (SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_SHIFT))); \
93+
#define SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_GET(flags) \
94+
((u8)(((flags) >> SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_SHIFT) & \
95+
SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_MASK))
96+
#define SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_SET(flags, val) \
97+
do { \
98+
(flags) = (u8)((flags) | \
99+
(((val) & (SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_MASK)) \
100+
<< (SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_SHIFT))); \
99101
} while (0)
100102

101103
#define SBP_FLASH_READ_REQ_FLASH_TARGET_TO_READ_FLASH_STM (0)
@@ -117,13 +119,14 @@
117119
#define SBP_MSG_FLASH_READ_RESP 0x00E1
118120
#define SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_MASK (0x1)
119121
#define SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_SHIFT (0u)
120-
#define SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_GET(flags) \
121-
(((flags) >> SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_SHIFT) & \
122-
SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_MASK)
123-
#define SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_SET(flags, val) \
124-
do { \
125-
((flags) |= (((val) & (SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_MASK)) \
126-
<< (SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_SHIFT))); \
122+
#define SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_GET(flags) \
123+
((u8)(((flags) >> SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_SHIFT) & \
124+
SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_MASK))
125+
#define SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_SET(flags, val) \
126+
do { \
127+
(flags) = (u8)((flags) | \
128+
(((val) & (SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_MASK)) \
129+
<< (SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_SHIFT))); \
127130
} while (0)
128131

129132
#define SBP_FLASH_READ_RESP_FLASH_TARGET_TO_READ_FLASH_STM (0)
@@ -145,13 +148,14 @@
145148
#define SBP_MSG_FLASH_ERASE 0x00E2
146149
#define SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_MASK (0x1)
147150
#define SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_SHIFT (0u)
148-
#define SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_GET(flags) \
149-
(((flags) >> SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_SHIFT) & \
150-
SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_MASK)
151-
#define SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_SET(flags, val) \
152-
do { \
153-
((flags) |= (((val) & (SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_MASK)) \
154-
<< (SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_SHIFT))); \
151+
#define SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_GET(flags) \
152+
((u8)(((flags) >> SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_SHIFT) & \
153+
SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_MASK))
154+
#define SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_SET(flags, val) \
155+
do { \
156+
(flags) = \
157+
(u8)((flags) | (((val) & (SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_MASK)) \
158+
<< (SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_SHIFT))); \
155159
} while (0)
156160

157161
#define SBP_FLASH_ERASE_FLASH_TARGET_TO_READ_FLASH_STM (0)

c/include/libsbp/gnss_macros.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121
#define SBP_GNSSSIGNAL__MASK (0xff)
2222
#define SBP_GNSSSIGNAL__SHIFT (0u)
2323
#define SBP_GNSSSIGNAL__GET(flags) \
24-
(((flags) >> SBP_GNSSSIGNAL__SHIFT) & SBP_GNSSSIGNAL__MASK)
25-
#define SBP_GNSSSIGNAL__SET(flags, val) \
26-
do { \
27-
((flags) |= \
28-
(((val) & (SBP_GNSSSIGNAL__MASK)) << (SBP_GNSSSIGNAL__SHIFT))); \
24+
((u8)(((flags) >> SBP_GNSSSIGNAL__SHIFT) & SBP_GNSSSIGNAL__MASK))
25+
#define SBP_GNSSSIGNAL__SET(flags, val) \
26+
do { \
27+
(flags) = (u8)((flags) | (((val) & (SBP_GNSSSIGNAL__MASK)) \
28+
<< (SBP_GNSSSIGNAL__SHIFT))); \
2929
} while (0)
3030

3131
#define SBP_GNSSSIGNAL_GPS_L1CA (0)
@@ -55,11 +55,11 @@
5555
#define SBP_GNSSSIGNALDEP__MASK (0xff)
5656
#define SBP_GNSSSIGNALDEP__SHIFT (0u)
5757
#define SBP_GNSSSIGNALDEP__GET(flags) \
58-
(((flags) >> SBP_GNSSSIGNALDEP__SHIFT) & SBP_GNSSSIGNALDEP__MASK)
59-
#define SBP_GNSSSIGNALDEP__SET(flags, val) \
60-
do { \
61-
((flags) |= \
62-
(((val) & (SBP_GNSSSIGNALDEP__MASK)) << (SBP_GNSSSIGNALDEP__SHIFT))); \
58+
((u8)(((flags) >> SBP_GNSSSIGNALDEP__SHIFT) & SBP_GNSSSIGNALDEP__MASK))
59+
#define SBP_GNSSSIGNALDEP__SET(flags, val) \
60+
do { \
61+
(flags) = (u8)((flags) | (((val) & (SBP_GNSSSIGNALDEP__MASK)) \
62+
<< (SBP_GNSSSIGNALDEP__SHIFT))); \
6363
} while (0)
6464

6565
#define SBP_GNSSSIGNALDEP_GPS_L1CA (0)

0 commit comments

Comments
 (0)