@@ -57,113 +57,143 @@ uint32_t core_util_atomic_exchange_u32(volatile uint32_t *ptr, uint32_t desiredV
5757
5858uint8_t core_util_atomic_incr_u8 (volatile uint8_t * valuePtr , uint8_t delta )
5959{
60- return 0 ;
60+ return * valuePtr += delta ;
6161}
6262
6363uint16_t core_util_atomic_incr_u16 (volatile uint16_t * valuePtr , uint16_t delta )
6464{
65- return 0 ;
65+ return * valuePtr += delta ;
6666}
6767
6868uint32_t core_util_atomic_incr_u32 (volatile uint32_t * valuePtr , uint32_t delta )
6969{
70- return 0 ;
70+ return * valuePtr += delta ;
7171}
7272
7373
7474uint8_t core_util_atomic_decr_u8 (volatile uint8_t * valuePtr , uint8_t delta )
7575{
76- return 0 ;
76+ return * valuePtr -= delta ;
7777}
7878
7979uint16_t core_util_atomic_decr_u16 (volatile uint16_t * valuePtr , uint16_t delta )
8080{
81- return 0 ;
81+ return * valuePtr -= delta ;
8282}
8383
8484uint32_t core_util_atomic_decr_u32 (volatile uint32_t * valuePtr , uint32_t delta )
8585{
86- return 0 ;
86+ return * valuePtr -= delta ;
8787}
8888
8989
9090uint8_t core_util_atomic_fetch_add_u8 (volatile uint8_t * valuePtr , uint8_t arg )
9191{
92- return 0 ;
92+ uint8_t v = * valuePtr ;
93+ * valuePtr += arg ;
94+ return v ;
9395}
9496
9597uint16_t core_util_atomic_fetch_add_u16 (volatile uint16_t * valuePtr , uint16_t arg )
9698{
97- return 0 ;
99+ uint16_t v = * valuePtr ;
100+ * valuePtr += arg ;
101+ return v ;
98102}
99103
100104uint32_t core_util_atomic_fetch_add_u32 (volatile uint32_t * valuePtr , uint32_t arg )
101105{
102- return 0 ;
106+ uint32_t v = * valuePtr ;
107+ * valuePtr += arg ;
108+ return v ;
103109}
104110
105111
106112uint8_t core_util_atomic_fetch_sub_u8 (volatile uint8_t * valuePtr , uint8_t arg )
107113{
108- return 0 ;
114+ uint8_t v = * valuePtr ;
115+ * valuePtr -= arg ;
116+ return v ;
109117}
110118
111119uint16_t core_util_atomic_fetch_sub_u16 (volatile uint16_t * valuePtr , uint16_t arg )
112120{
113- return 0 ;
121+ uint16_t v = * valuePtr ;
122+ * valuePtr -= arg ;
123+ return v ;
114124}
115125
116126uint32_t core_util_atomic_fetch_sub_u32 (volatile uint32_t * valuePtr , uint32_t arg )
117127{
118- return 0 ;
128+ uint32_t v = * valuePtr ;
129+ * valuePtr -= arg ;
130+ return v ;
119131}
120132
121133
122134uint8_t core_util_atomic_fetch_and_u8 (volatile uint8_t * valuePtr , uint8_t arg )
123135{
124- return 0 ;
136+ uint8_t v = * valuePtr ;
137+ * valuePtr &= arg ;
138+ return v ;
125139}
126140
127141uint16_t core_util_atomic_fetch_and_u16 (volatile uint16_t * valuePtr , uint16_t arg )
128142{
129- return 0 ;
143+ uint16_t v = * valuePtr ;
144+ * valuePtr &= arg ;
145+ return v ;
130146}
131147
132148uint32_t core_util_atomic_fetch_and_u32 (volatile uint32_t * valuePtr , uint32_t arg )
133149{
134- return 0 ;
150+ uint32_t v = * valuePtr ;
151+ * valuePtr &= arg ;
152+ return v ;
135153}
136154
137155
138156uint8_t core_util_atomic_fetch_or_u8 (volatile uint8_t * valuePtr , uint8_t arg )
139157{
140- return 0 ;
158+ uint8_t v = * valuePtr ;
159+ * valuePtr |= arg ;
160+ return v ;
141161}
142162
143163uint16_t core_util_atomic_fetch_or_u16 (volatile uint16_t * valuePtr , uint16_t arg )
144164{
145- return 0 ;
165+ uint16_t v = * valuePtr ;
166+ * valuePtr |= arg ;
167+ return v ;
146168}
147169
148170uint32_t core_util_atomic_fetch_or_u32 (volatile uint32_t * valuePtr , uint32_t arg )
149171{
150- return 0 ;
172+ uint32_t v = * valuePtr ;
173+ * valuePtr |= arg ;
174+ return v ;
151175}
152176
153177
154178uint8_t core_util_atomic_fetch_xor_u8 (volatile uint8_t * valuePtr , uint8_t arg )
155179{
156- return 0 ;
180+ uint8_t v = * valuePtr ;
181+ * valuePtr ^= arg ;
182+ return v ;
157183}
158184
159185uint16_t core_util_atomic_fetch_xor_u16 (volatile uint16_t * valuePtr , uint16_t arg )
160186{
161- return 0 ;
187+ uint16_t v = * valuePtr ;
188+ * valuePtr ^= arg ;
189+ return v ;
162190}
163191
164192uint32_t core_util_atomic_fetch_xor_u32 (volatile uint32_t * valuePtr , uint32_t arg )
165193{
166- return 0 ;
194+ uint32_t v = * valuePtr ;
195+ * valuePtr ^= arg ;
196+ return v ;
167197}
168198
169199
0 commit comments