Add HAL API for analog in pinmap

Add the function analogin_pinmap to all targets.
pull/9449/head
Russ Butler 2019-01-23 21:50:05 -06:00
parent 3252530e3a
commit 4818f88d73
67 changed files with 342 additions and 0 deletions

View File

@ -21,6 +21,7 @@
#define MBED_ANALOGIN_API_H #define MBED_ANALOGIN_API_H
#include "device.h" #include "device.h"
#include "pinmap.h"
#if DEVICE_ANALOGIN #if DEVICE_ANALOGIN
@ -59,6 +60,15 @@ float analogin_read(analogin_t *obj);
*/ */
uint16_t analogin_read_u16(analogin_t *obj); uint16_t analogin_read_u16(analogin_t *obj);
/** Get the pins that support analogin
*
* Return a PinMap array of pins that support analogin. The
* array is terminated with {NC, NC, 0}.
*
* @return PinMap array
*/
const PinMap *analogin_pinmap(void);
/**@}*/ /**@}*/
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -112,3 +112,7 @@ uint16_t analogin_read_u16(analogin_t *obj)
return 0; return 0;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -145,4 +145,9 @@ float analogin_read(analogin_t *obj)
return (float)((result & ADC_RESOLUTION) * 1.0f) / ADC_DIV; return (float)((result & ADC_RESOLUTION) * 1.0f) / ADC_DIV;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -151,3 +151,8 @@ float analogin_read(analogin_t *obj)
return (result * (1. / MAXIMUM_VALUE_12_BITS)); return (result * (1. / MAXIMUM_VALUE_12_BITS));
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -108,3 +108,7 @@ uint16_t analogin_read_u16(analogin_t *obj) {
return 0; return 0;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -108,3 +108,7 @@ uint16_t analogin_read_u16(analogin_t *obj) {
return 0; return 0;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -186,6 +186,11 @@ uint16_t analogin_read_u16(analogin_t *obj)
return( (uint16_t)( ((uint16_t *)pAdcBuffer->pDataBuffer)[(pAdcBuffer->nNumConversionPasses) - 1]) ); return( (uint16_t)( ((uint16_t *)pAdcBuffer->pDataBuffer)[(pAdcBuffer->nNumConversionPasses) - 1]) );
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
/* Retrieve the active channel corresponding to the input pin */ /* Retrieve the active channel corresponding to the input pin */
static uint32_t adi_pin2channel(PinName pin) static uint32_t adi_pin2channel(PinName pin)
{ {

View File

@ -186,6 +186,11 @@ uint16_t analogin_read_u16(analogin_t *obj)
return( (uint16_t)( ((uint16_t *)pAdcBuffer->pDataBuffer)[(pAdcBuffer->nNumConversionPasses) - 1]) ); return( (uint16_t)( ((uint16_t *)pAdcBuffer->pDataBuffer)[(pAdcBuffer->nNumConversionPasses) - 1]) );
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
/* Retrieve the active channel corresponding to the input pin */ /* Retrieve the active channel corresponding to the input pin */
static uint32_t adi_pin2channel(PinName pin) static uint32_t adi_pin2channel(PinName pin)
{ {

View File

@ -108,3 +108,8 @@ uint16_t analogout_read_u16(dac_t *obj)
uint32_t data_val = data_reg_read(obj); uint32_t data_val = data_reg_read(obj);
return (uint16_t)((data_val / (float)MAX_VAL_10BIT) * 0xFFFF); /*Normalization to the value 0xFFFF*/ return (uint16_t)((data_val / (float)MAX_VAL_10BIT) * 0xFFFF); /*Normalization to the value 0xFFFF*/
} }
const PinMap *analogout_pinmap()
{
return PinMap_DAC;
}

View File

@ -108,3 +108,8 @@ uint16_t analogout_read_u16(dac_t *obj)
uint32_t data_val = data_reg_read(obj); uint32_t data_val = data_reg_read(obj);
return (uint16_t)((data_val / (float)MAX_VAL_10BIT) * 0xFFFF); /*Normalization to the value 0xFFFF*/ return (uint16_t)((data_val / (float)MAX_VAL_10BIT) * 0xFFFF); /*Normalization to the value 0xFFFF*/
} }
const PinMap *analogout_pinmap()
{
return PinMap_DAC;
}

View File

@ -225,3 +225,7 @@ float analogin_read(analogin_t *obj)
return (float)value * (1.0f / (float)0xFFFF); return (float)value * (1.0f / (float)0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -64,3 +64,8 @@ float analogin_read(analogin_t *obj)
uint16_t value = analogin_read_u16(obj); uint16_t value = analogin_read_u16(obj);
return (float)value * (1.0f / (float)0xFFFF); return (float)value * (1.0f / (float)0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -205,5 +205,10 @@ uint16_t analogin_read_u16(analogin_t *obj)
return (uint16_t)(result); return (uint16_t)(result);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif // DEVICE_ANALOGIN #endif // DEVICE_ANALOGIN

View File

@ -167,5 +167,10 @@ uint16_t analogin_read_u16(analogin_t *obj)
return (uint16_t)(result); return (uint16_t)(result);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif // DEVICE_ANALOGIN #endif // DEVICE_ANALOGIN

View File

@ -76,3 +76,8 @@ float analogin_read(analogin_t *obj) {
uint16_t value = analogin_read_u16(obj); uint16_t value = analogin_read_u16(obj);
return (float)value * (1.0f / (float)0xFFFF); return (float)value * (1.0f / (float)0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -85,3 +85,7 @@ float analogin_read(analogin_t *obj) {
return (float)value * (1.0f / (float)0xFFFF); return (float)value * (1.0f / (float)0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -91,4 +91,9 @@ float analogin_read(analogin_t *obj)
return (float)value * (1.0f / (float)0xFFFF); return (float)value * (1.0f / (float)0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -172,4 +172,9 @@ float analogin_read(analogin_t *obj)
return (float)reval * (1.0f / (float)DEV_ADC_ACCURACY_12BIT); return (float)reval * (1.0f / (float)DEV_ADC_ACCURACY_12BIT);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif /* DEVICE_ANALOGIN */ #endif /* DEVICE_ANALOGIN */

View File

@ -145,4 +145,9 @@ float analogin_read(analogin_t *obj)
return (float)reval * (1.0f / (float)DEV_ADC_ACCURACY_12BIT); return (float)reval * (1.0f / (float)DEV_ADC_ACCURACY_12BIT);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif /* DEVICE_ANALOGIN */ #endif /* DEVICE_ANALOGIN */

View File

@ -187,4 +187,9 @@ float analogin_read(analogin_t *obj)
return (float)reval * (1.0f / (float)DEV_ADC_ACCURACY_12BIT); return (float)reval * (1.0f / (float)DEV_ADC_ACCURACY_12BIT);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif /* DEVICE_ANALOGIN */ #endif /* DEVICE_ANALOGIN */

View File

@ -145,3 +145,9 @@ uint16_t analogin_read_u16(analogin_t *obj)
return (sample - 1); return (sample - 1);
} }
//******************************************************************************
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -145,3 +145,9 @@ uint16_t analogin_read_u16(analogin_t *obj)
return (sample - 1); return (sample - 1);
} }
//******************************************************************************
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -143,3 +143,9 @@ uint16_t analogin_read_u16(analogin_t *obj)
return sample; return sample;
} }
//******************************************************************************
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -93,3 +93,9 @@ uint16_t analogin_read_u16(analogin_t *obj)
return result; return result;
} }
//******************************************************************************
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -93,3 +93,9 @@ uint16_t analogin_read_u16(analogin_t *obj)
return result; return result;
} }
//******************************************************************************
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -79,3 +79,8 @@ float analogin_read(analogin_t *obj)
uint16_t value = analogin_read_u16(obj); uint16_t value = analogin_read_u16(obj);
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -88,4 +88,9 @@ float analogin_read(analogin_t *obj)
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif // DEVICE_ANALOGIN #endif // DEVICE_ANALOGIN

View File

@ -145,4 +145,9 @@ float analogin_read(analogin_t *obj)
return result; return result;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif // DEVICE_ANALOGIN #endif // DEVICE_ANALOGIN

View File

@ -112,4 +112,9 @@ float analogin_read(analogin_t *obj)
return (float) value * (1.0f / (float) 0xFFFF); return (float) value * (1.0f / (float) 0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -103,4 +103,9 @@ float analogin_read(analogin_t *obj)
return (float) value * (1.0f / (float) 0xFFFF); return (float) value * (1.0f / (float) 0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -102,4 +102,9 @@ float analogin_read(analogin_t *obj)
return (float) value * (1.0f / (float) 0xFFFF); return (float) value * (1.0f / (float) 0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -151,4 +151,9 @@ float analogin_read(analogin_t *obj)
return (float) value * (1.0f / (float) 0xFFFF); return (float) value * (1.0f / (float) 0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -105,4 +105,9 @@ float analogin_read(analogin_t *obj)
return (float) value * (1.0f / (float) 0xFFFF); return (float) value * (1.0f / (float) 0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -133,4 +133,9 @@ float analogin_read(analogin_t *obj) {
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -112,3 +112,8 @@ float analogin_read(analogin_t *obj) {
uint32_t value = adc_read_u32(obj); uint32_t value = adc_read_u32(obj);
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -120,3 +120,8 @@ float analogin_read(analogin_t *obj) {
uint32_t value = adc_read_u32(obj); uint32_t value = adc_read_u32(obj);
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -123,3 +123,8 @@ float analogin_read(analogin_t *obj) {
uint32_t value = adc_read_u32(obj); uint32_t value = adc_read_u32(obj);
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -152,3 +152,8 @@ float analogin_read(analogin_t *obj) {
uint32_t value = adc_read_u32(obj); uint32_t value = adc_read_u32(obj);
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -123,3 +123,8 @@ float analogin_read(analogin_t *obj) {
uint32_t value = adc_read_u32(obj); uint32_t value = adc_read_u32(obj);
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -123,3 +123,8 @@ float analogin_read(analogin_t *obj) {
uint32_t value = adc_read_u32(obj); uint32_t value = adc_read_u32(obj);
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -117,3 +117,8 @@ float analogin_read(analogin_t *obj) {
uint32_t value = adc_read_u32(obj); uint32_t value = adc_read_u32(obj);
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -162,3 +162,8 @@ float analogin_read(analogin_t *obj) {
uint32_t value = adc_read_u32(obj); uint32_t value = adc_read_u32(obj);
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -128,4 +128,9 @@ float analogin_read(analogin_t *obj)
return (float)value * (1.0f / (float)ADC_RANGE); return (float)value * (1.0f / (float)ADC_RANGE);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -80,4 +80,9 @@ float analogin_read(analogin_t *obj)
return (float)value * (1.0f / (float)0xFFFF); return (float)value * (1.0f / (float)0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -102,4 +102,9 @@ float analogin_read(analogin_t *obj)
return (float)value * (1.0f / (float)0xFFFF); return (float)value * (1.0f / (float)0xFFFF);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -196,5 +196,10 @@ uint16_t analogin_read_u16(analogin_t *obj)
return(adcData); return(adcData);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif // DEVICE_ANALOGIN #endif // DEVICE_ANALOGIN

View File

@ -89,4 +89,10 @@ void analogin_free(analogin_t *obj)
rda_ccfg_adc_gp(gp, 0x01U); rda_ccfg_adc_gp(gp, 0x01U);
rda_ccfg_gp(gp, 0x01U); rda_ccfg_gp(gp, 0x01U);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif /* DEVICE_ANALOGIN */ #endif /* DEVICE_ANALOGIN */

View File

@ -105,3 +105,8 @@ float analogin_read(analogin_t *obj) {
return (float)value * (1.0f / (float)0x0FFF); // 12 bits range return (float)value * (1.0f / (float)0x0FFF); // 12 bits range
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -201,4 +201,10 @@ void analogin_deinit(analogin_t *obj)
/* To deinit analogin */ /* To deinit analogin */
RtkADCDeInit(pSalADCHND); RtkADCDeInit(pSalADCHND);
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -182,4 +182,9 @@ uint16_t adc_read(analogin_t *obj)
} }
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -180,4 +180,9 @@ uint16_t adc_read(analogin_t *obj)
} }
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -187,4 +187,9 @@ uint16_t adc_read(analogin_t *obj)
} }
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -235,4 +235,9 @@ uint16_t adc_read(analogin_t *obj)
return MeasuredValue; return MeasuredValue;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -193,4 +193,9 @@ uint16_t adc_read(analogin_t *obj)
} }
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -193,4 +193,9 @@ uint16_t adc_read(analogin_t *obj)
} }
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -213,4 +213,9 @@ uint16_t adc_read(analogin_t *obj)
} }
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -184,4 +184,9 @@ uint16_t adc_read(analogin_t *obj)
return adcValue; return adcValue;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -233,4 +233,9 @@ uint16_t adc_read(analogin_t *obj)
} }
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -206,4 +206,9 @@ uint16_t adc_read(analogin_t *obj)
} }
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -103,4 +103,9 @@ float analogin_read(analogin_t *obj)
return analogin_read_u16(obj) / (float) 0xFFF0; return analogin_read_u16(obj) / (float) 0xFFF0;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif

View File

@ -91,3 +91,8 @@ float analogin_read(analogin_t *obj)
uint16_t value = analogin_read_u16(obj); uint16_t value = analogin_read_u16(obj);
return (float)(value * (1.0f / (float)ADC_10BIT_RANGE)); return (float)(value * (1.0f / (float)ADC_10BIT_RANGE));
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -89,3 +89,8 @@ float analogin_read(analogin_t *obj)
return result; return result;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -96,3 +96,8 @@ float analogin_read(analogin_t *obj)
return result; return result;
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -92,3 +92,8 @@ float analogin_read(analogin_t *obj)
uint16_t value = analogin_read_u16(obj); uint16_t value = analogin_read_u16(obj);
return (float)(value * (1.0f / (float)ADC_12BIT_RANGE)); return (float)(value * (1.0f / (float)ADC_12BIT_RANGE));
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -137,3 +137,8 @@ float analogin_read(analogin_t *obj)
return (float)(value * (1.0f / (float)ADC_12BIT_RANGE)); return (float)(value * (1.0f / (float)ADC_12BIT_RANGE));
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -112,3 +112,8 @@ float analogin_read(analogin_t *obj)
uint16_t value = analogin_read_u16(obj); uint16_t value = analogin_read_u16(obj);
return ((float)(value * (1.0f / (float)ADC_12BIT_RANGE))); return ((float)(value * (1.0f / (float)ADC_12BIT_RANGE)));
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}

View File

@ -114,4 +114,9 @@ float analogin_read(analogin_t *obj)
return (float)value * (1.0f / (float)0xFFF); // 12 bits range return (float)value * (1.0f / (float)0xFFF); // 12 bits range
} }
const PinMap *analogin_pinmap()
{
return PinMap_ADC;
}
#endif #endif