6
6
7
7
#include <stdlib.h>
8
8
9
+ // clang-format off
9
10
#ifndef _MSC_VER
10
11
# include <stdint.h>
11
12
#else
@@ -69,21 +70,24 @@ static inline uint32_t bswap_32(uint32_t x)
69
70
return (bswap_16 (x & 0xffff ) << 16 ) | (bswap_16 (x >> 16 ));
70
71
}
71
72
#endif
73
+ // clang-format on
72
74
73
75
/* Sets many bits from a single byte value (all 8 bits of the byte value are
74
76
set) */
75
77
void modbus_set_bits_from_byte (uint8_t * dest , int idx , const uint8_t value )
76
78
{
77
79
int i ;
78
80
79
- for (i = 0 ; i < 8 ; i ++ ) {
80
- dest [idx + i ] = (value & (1 << i )) ? 1 : 0 ;
81
+ for (i = 0 ; i < 8 ; i ++ ) {
82
+ dest [idx + i ] = (value & (1 << i )) ? 1 : 0 ;
81
83
}
82
84
}
83
85
84
86
/* Sets many bits from a table of bytes (only the bits between idx and
85
87
idx + nb_bits are set) */
86
- void modbus_set_bits_from_bytes (uint8_t * dest , int idx , unsigned int nb_bits ,
88
+ void modbus_set_bits_from_bytes (uint8_t * dest ,
89
+ int idx ,
90
+ unsigned int nb_bits ,
87
91
const uint8_t * tab_byte )
88
92
{
89
93
unsigned int i ;
@@ -99,8 +103,7 @@ void modbus_set_bits_from_bytes(uint8_t *dest, int idx, unsigned int nb_bits,
99
103
100
104
/* Gets the byte value from many bits.
101
105
To obtain a full byte, set nb_bits to 8. */
102
- uint8_t modbus_get_byte_from_bits (const uint8_t * src , int idx ,
103
- unsigned int nb_bits )
106
+ uint8_t modbus_get_byte_from_bits (const uint8_t * src , int idx , unsigned int nb_bits )
104
107
{
105
108
unsigned int i ;
106
109
uint8_t value = 0 ;
@@ -111,8 +114,8 @@ uint8_t modbus_get_byte_from_bits(const uint8_t *src, int idx,
111
114
nb_bits = 8 ;
112
115
}
113
116
114
- for (i = 0 ; i < nb_bits ; i ++ ) {
115
- value |= (src [idx + i ] << i );
117
+ for (i = 0 ; i < nb_bits ; i ++ ) {
118
+ value |= (src [idx + i ] << i );
116
119
}
117
120
118
121
return value ;
@@ -130,10 +133,7 @@ float modbus_get_float_abcd(const uint16_t *src)
130
133
c = (src [1 ] >> 8 ) & 0xFF ;
131
134
d = (src [1 ] >> 0 ) & 0xFF ;
132
135
133
- i = (a << 24 ) |
134
- (b << 16 ) |
135
- (c << 8 ) |
136
- (d << 0 );
136
+ i = (a << 24 ) | (b << 16 ) | (c << 8 ) | (d << 0 );
137
137
memcpy (& f , & i , 4 );
138
138
139
139
return f ;
@@ -151,10 +151,7 @@ float modbus_get_float_dcba(const uint16_t *src)
151
151
c = (src [1 ] >> 8 ) & 0xFF ;
152
152
d = (src [1 ] >> 0 ) & 0xFF ;
153
153
154
- i = (d << 24 ) |
155
- (c << 16 ) |
156
- (b << 8 ) |
157
- (a << 0 );
154
+ i = (d << 24 ) | (c << 16 ) | (b << 8 ) | (a << 0 );
158
155
memcpy (& f , & i , 4 );
159
156
160
157
return f ;
@@ -172,10 +169,7 @@ float modbus_get_float_badc(const uint16_t *src)
172
169
c = (src [1 ] >> 8 ) & 0xFF ;
173
170
d = (src [1 ] >> 0 ) & 0xFF ;
174
171
175
- i = (b << 24 ) |
176
- (a << 16 ) |
177
- (d << 8 ) |
178
- (c << 0 );
172
+ i = (b << 24 ) | (a << 16 ) | (d << 8 ) | (c << 0 );
179
173
memcpy (& f , & i , 4 );
180
174
181
175
return f ;
@@ -193,10 +187,7 @@ float modbus_get_float_cdab(const uint16_t *src)
193
187
c = (src [1 ] >> 8 ) & 0xFF ;
194
188
d = (src [1 ] >> 0 ) & 0xFF ;
195
189
196
- i = (c << 24 ) |
197
- (d << 16 ) |
198
- (a << 8 ) |
199
- (b << 0 );
190
+ i = (c << 24 ) | (d << 16 ) | (a << 8 ) | (b << 0 );
200
191
memcpy (& f , & i , 4 );
201
192
202
193
return f ;
@@ -208,18 +199,17 @@ float modbus_get_float(const uint16_t *src)
208
199
float f ;
209
200
uint32_t i ;
210
201
211
- i = (((uint32_t )src [1 ]) << 16 ) + src [0 ];
202
+ i = (((uint32_t ) src [1 ]) << 16 ) + src [0 ];
212
203
memcpy (& f , & i , sizeof (float ));
213
204
214
205
return f ;
215
-
216
206
}
217
207
218
208
/* Set a float to 4 bytes for Modbus w/o any conversion (ABCD) */
219
209
void modbus_set_float_abcd (float f , uint16_t * dest )
220
210
{
221
211
uint32_t i ;
222
- uint8_t * out = (uint8_t * ) dest ;
212
+ uint8_t * out = (uint8_t * ) dest ;
223
213
uint8_t a , b , c , d ;
224
214
225
215
memcpy (& i , & f , sizeof (uint32_t ));
@@ -238,7 +228,7 @@ void modbus_set_float_abcd(float f, uint16_t *dest)
238
228
void modbus_set_float_dcba (float f , uint16_t * dest )
239
229
{
240
230
uint32_t i ;
241
- uint8_t * out = (uint8_t * ) dest ;
231
+ uint8_t * out = (uint8_t * ) dest ;
242
232
uint8_t a , b , c , d ;
243
233
244
234
memcpy (& i , & f , sizeof (uint32_t ));
@@ -251,14 +241,13 @@ void modbus_set_float_dcba(float f, uint16_t *dest)
251
241
out [1 ] = c ;
252
242
out [2 ] = b ;
253
243
out [3 ] = a ;
254
-
255
244
}
256
245
257
246
/* Set a float to 4 bytes for Modbus with byte swap conversion (BADC) */
258
247
void modbus_set_float_badc (float f , uint16_t * dest )
259
248
{
260
249
uint32_t i ;
261
- uint8_t * out = (uint8_t * ) dest ;
250
+ uint8_t * out = (uint8_t * ) dest ;
262
251
uint8_t a , b , c , d ;
263
252
264
253
memcpy (& i , & f , sizeof (uint32_t ));
@@ -277,7 +266,7 @@ void modbus_set_float_badc(float f, uint16_t *dest)
277
266
void modbus_set_float_cdab (float f , uint16_t * dest )
278
267
{
279
268
uint32_t i ;
280
- uint8_t * out = (uint8_t * ) dest ;
269
+ uint8_t * out = (uint8_t * ) dest ;
281
270
uint8_t a , b , c , d ;
282
271
283
272
memcpy (& i , & f , sizeof (uint32_t ));
@@ -298,6 +287,6 @@ void modbus_set_float(float f, uint16_t *dest)
298
287
uint32_t i ;
299
288
300
289
memcpy (& i , & f , sizeof (uint32_t ));
301
- dest [0 ] = (uint16_t )i ;
302
- dest [1 ] = (uint16_t )(i >> 16 );
290
+ dest [0 ] = (uint16_t ) i ;
291
+ dest [1 ] = (uint16_t ) (i >> 16 );
303
292
}
0 commit comments