mbed library sources
Fork of mbed-src by
Revision 298:7557d401dbc3, committed 2014-08-27
- Comitter:
- mbed_official
- Date:
- Wed Aug 27 03:45:07 2014 +0100
- Parent:
- 297:deebfb34b959
- Child:
- 299:fb529cc9bc22
- Commit message:
- Synchronized with git revision 74958e0f7294def61da58f82b5f48fa2b2c55e00
Full URL: https://github.com/mbedmicro/mbed/commit/74958e0f7294def61da58f82b5f48fa2b2c55e00/
[NUCLEOs] Fix bug (normalization to 16bit) in adc read_u16()
Changed in this revision
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/analogin_api.c Wed Aug 27 03:30:08 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/analogin_api.c Wed Aug 27 03:45:07 2014 +0100 @@ -169,7 +169,10 @@ } 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) {
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F072RB/analogin_api.c Wed Aug 27 03:30:08 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F072RB/analogin_api.c Wed Aug 27 03:45:07 2014 +0100 @@ -176,7 +176,10 @@ } 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) {
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F103RB/analogin_api.c Wed Aug 27 03:30:08 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F103RB/analogin_api.c Wed Aug 27 03:45:07 2014 +0100 @@ -171,7 +171,10 @@ } 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) {
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F302R8/analogin_api.c Wed Aug 27 03:30:08 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F302R8/analogin_api.c Wed Aug 27 03:45:07 2014 +0100 @@ -180,7 +180,10 @@ } 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) {
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F334R8/analogin_api.c Wed Aug 27 03:30:08 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F334R8/analogin_api.c Wed Aug 27 03:45:07 2014 +0100 @@ -198,7 +198,10 @@ 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)
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/analogin_api.c Wed Aug 27 03:30:08 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/analogin_api.c Wed Aug 27 03:45:07 2014 +0100 @@ -170,7 +170,10 @@ } 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) {
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F411RE/analogin_api.c Wed Aug 27 03:30:08 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F411RE/analogin_api.c Wed Aug 27 03:45:07 2014 +0100 @@ -173,7 +173,10 @@ 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)
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_L053R8/analogin_api.c Wed Aug 27 03:30:08 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_L053R8/analogin_api.c Wed Aug 27 03:45:07 2014 +0100 @@ -177,7 +177,10 @@ } 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) {
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_L152RE/analogin_api.c Wed Aug 27 03:30:08 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_L152RE/analogin_api.c Wed Aug 27 03:45:07 2014 +0100 @@ -180,7 +180,10 @@ } 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) {