Merge pull request #465 from bcostm/master

[NUCLEOs] Fix bug (normalization to 16bit) in adc read_u16()
pull/431/merge
Martin Kojtal 2014-08-27 10:40:19 +08:00
commit 74958e0f72
9 changed files with 36 additions and 9 deletions

View File

@ -169,7 +169,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
}
uint16_t analogin_read_u16(analogin_t *obj) {
return (adc_read(obj));
uint16_t value = adc_read(obj);
// 12-bit to 16-bit conversion
value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F);
return value;
}
float analogin_read(analogin_t *obj) {

View File

@ -176,7 +176,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
}
uint16_t analogin_read_u16(analogin_t *obj) {
return (adc_read(obj));
uint16_t value = adc_read(obj);
// 12-bit to 16-bit conversion
value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F);
return value;
}
float analogin_read(analogin_t *obj) {

View File

@ -171,7 +171,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
}
uint16_t analogin_read_u16(analogin_t *obj) {
return (adc_read(obj));
uint16_t value = adc_read(obj);
// 12-bit to 16-bit conversion
value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F);
return value;
}
float analogin_read(analogin_t *obj) {

View File

@ -180,7 +180,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
}
uint16_t analogin_read_u16(analogin_t *obj) {
return (adc_read(obj));
uint16_t value = adc_read(obj);
// 12-bit to 16-bit conversion
value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F);
return value;
}
float analogin_read(analogin_t *obj) {

View File

@ -198,7 +198,10 @@ static inline uint16_t adc_read(analogin_t *obj)
uint16_t analogin_read_u16(analogin_t *obj)
{
return (adc_read(obj));
uint16_t value = adc_read(obj);
// 12-bit to 16-bit conversion
value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F);
return value;
}
float analogin_read(analogin_t *obj)

View File

@ -170,7 +170,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
}
uint16_t analogin_read_u16(analogin_t *obj) {
return (adc_read(obj));
uint16_t value = adc_read(obj);
// 12-bit to 16-bit conversion
value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F);
return value;
}
float analogin_read(analogin_t *obj) {

View File

@ -173,7 +173,10 @@ static inline uint16_t adc_read(analogin_t *obj)
uint16_t analogin_read_u16(analogin_t *obj)
{
return (adc_read(obj));
uint16_t value = adc_read(obj);
// 12-bit to 16-bit conversion
value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F);
return value;
}
float analogin_read(analogin_t *obj)

View File

@ -177,7 +177,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
}
uint16_t analogin_read_u16(analogin_t *obj) {
return (adc_read(obj));
uint16_t value = adc_read(obj);
// 12-bit to 16-bit conversion
value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F);
return value;
}
float analogin_read(analogin_t *obj) {

View File

@ -180,7 +180,10 @@ static inline uint16_t adc_read(analogin_t *obj) {
}
uint16_t analogin_read_u16(analogin_t *obj) {
return (adc_read(obj));
uint16_t value = adc_read(obj);
// 12-bit to 16-bit conversion
value = ((value << 4) & (uint16_t)0xFFF0) | ((value >> 8) & (uint16_t)0x000F);
return value;
}
float analogin_read(analogin_t *obj) {