File tree Expand file tree Collapse file tree 9 files changed +36
-9
lines changed
libraries/mbed/targets/hal/TARGET_STM Expand file tree Collapse file tree 9 files changed +36
-9
lines changed Original file line number Diff line number Diff line change @@ -169,7 +169,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
169
169
}
170
170
171
171
uint16_t analogin_read_u16 (analogin_t * obj ) {
172
- return (adc_read (obj ));
172
+ uint16_t value = adc_read (obj );
173
+ // 12-bit to 16-bit conversion
174
+ value = ((value << 4 ) & (uint16_t )0xFFF0 ) | ((value >> 8 ) & (uint16_t )0x000F );
175
+ return value ;
173
176
}
174
177
175
178
float analogin_read (analogin_t * obj ) {
Original file line number Diff line number Diff line change @@ -176,7 +176,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
176
176
}
177
177
178
178
uint16_t analogin_read_u16 (analogin_t * obj ) {
179
- return (adc_read (obj ));
179
+ uint16_t value = adc_read (obj );
180
+ // 12-bit to 16-bit conversion
181
+ value = ((value << 4 ) & (uint16_t )0xFFF0 ) | ((value >> 8 ) & (uint16_t )0x000F );
182
+ return value ;
180
183
}
181
184
182
185
float analogin_read (analogin_t * obj ) {
Original file line number Diff line number Diff line change @@ -171,7 +171,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
171
171
}
172
172
173
173
uint16_t analogin_read_u16 (analogin_t * obj ) {
174
- return (adc_read (obj ));
174
+ uint16_t value = adc_read (obj );
175
+ // 12-bit to 16-bit conversion
176
+ value = ((value << 4 ) & (uint16_t )0xFFF0 ) | ((value >> 8 ) & (uint16_t )0x000F );
177
+ return value ;
175
178
}
176
179
177
180
float analogin_read (analogin_t * obj ) {
Original file line number Diff line number Diff line change @@ -180,7 +180,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
180
180
}
181
181
182
182
uint16_t analogin_read_u16 (analogin_t * obj ) {
183
- return (adc_read (obj ));
183
+ uint16_t value = adc_read (obj );
184
+ // 12-bit to 16-bit conversion
185
+ value = ((value << 4 ) & (uint16_t )0xFFF0 ) | ((value >> 8 ) & (uint16_t )0x000F );
186
+ return value ;
184
187
}
185
188
186
189
float analogin_read (analogin_t * obj ) {
Original file line number Diff line number Diff line change @@ -198,7 +198,10 @@ static inline uint16_t adc_read(analogin_t *obj)
198
198
199
199
uint16_t analogin_read_u16 (analogin_t * obj )
200
200
{
201
- return (adc_read (obj ));
201
+ uint16_t value = adc_read (obj );
202
+ // 12-bit to 16-bit conversion
203
+ value = ((value << 4 ) & (uint16_t )0xFFF0 ) | ((value >> 8 ) & (uint16_t )0x000F );
204
+ return value ;
202
205
}
203
206
204
207
float analogin_read (analogin_t * obj )
Original file line number Diff line number Diff line change @@ -170,7 +170,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
170
170
}
171
171
172
172
uint16_t analogin_read_u16 (analogin_t * obj ) {
173
- return (adc_read (obj ));
173
+ uint16_t value = adc_read (obj );
174
+ // 12-bit to 16-bit conversion
175
+ value = ((value << 4 ) & (uint16_t )0xFFF0 ) | ((value >> 8 ) & (uint16_t )0x000F );
176
+ return value ;
174
177
}
175
178
176
179
float analogin_read (analogin_t * obj ) {
Original file line number Diff line number Diff line change @@ -173,7 +173,10 @@ static inline uint16_t adc_read(analogin_t *obj)
173
173
174
174
uint16_t analogin_read_u16 (analogin_t * obj )
175
175
{
176
- return (adc_read (obj ));
176
+ uint16_t value = adc_read (obj );
177
+ // 12-bit to 16-bit conversion
178
+ value = ((value << 4 ) & (uint16_t )0xFFF0 ) | ((value >> 8 ) & (uint16_t )0x000F );
179
+ return value ;
177
180
}
178
181
179
182
float analogin_read (analogin_t * obj )
Original file line number Diff line number Diff line change @@ -177,7 +177,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
177
177
}
178
178
179
179
uint16_t analogin_read_u16 (analogin_t * obj ) {
180
- return (adc_read (obj ));
180
+ uint16_t value = adc_read (obj );
181
+ // 12-bit to 16-bit conversion
182
+ value = ((value << 4 ) & (uint16_t )0xFFF0 ) | ((value >> 8 ) & (uint16_t )0x000F );
183
+ return value ;
181
184
}
182
185
183
186
float analogin_read (analogin_t * obj ) {
Original file line number Diff line number Diff line change @@ -180,7 +180,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
180
180
}
181
181
182
182
uint16_t analogin_read_u16 (analogin_t * obj ) {
183
- return (adc_read (obj ));
183
+ uint16_t value = adc_read (obj );
184
+ // 12-bit to 16-bit conversion
185
+ value = ((value << 4 ) & (uint16_t )0xFFF0 ) | ((value >> 8 ) & (uint16_t )0x000F );
186
+ return value ;
184
187
}
185
188
186
189
float analogin_read (analogin_t * obj ) {
You can’t perform that action at this time.
0 commit comments