mirror of https://github.com/ARMmbed/mbed-os.git
Add HAL API for analog out pinmap
Add the function analogout_pinmap to all targets.pull/9449/head
parent
4818f88d73
commit
3bd3aca6db
|
@ -21,6 +21,7 @@
|
||||||
#define MBED_ANALOGOUT_API_H
|
#define MBED_ANALOGOUT_API_H
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
|
#include "pinmap.h"
|
||||||
|
|
||||||
#if DEVICE_ANALOGOUT
|
#if DEVICE_ANALOGOUT
|
||||||
|
|
||||||
|
@ -81,6 +82,15 @@ float analogout_read(dac_t *obj);
|
||||||
*/
|
*/
|
||||||
uint16_t analogout_read_u16(dac_t *obj);
|
uint16_t analogout_read_u16(dac_t *obj);
|
||||||
|
|
||||||
|
/** Get the pins that support analogout
|
||||||
|
*
|
||||||
|
* Return a PinMap array of pins that support analogout. The
|
||||||
|
* array is terminated with {NC, NC, 0}.
|
||||||
|
*
|
||||||
|
* @return PinMap array
|
||||||
|
*/
|
||||||
|
const PinMap *analogout_pinmap(void);
|
||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -114,3 +114,9 @@ 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_12BIT) * 0xFFFF); /*Normalization to the value 0xFFFF*/
|
return (uint16_t)((data_val / (float)MAX_VAL_12BIT) * 0xFFFF); /*Normalization to the value 0xFFFF*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -159,5 +159,10 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGIN
|
#endif // DEVICE_ANALOGIN
|
||||||
|
|
||||||
|
|
|
@ -146,5 +146,10 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGIN
|
#endif // DEVICE_ANALOGIN
|
||||||
|
|
||||||
|
|
|
@ -81,4 +81,9 @@ uint16_t analogout_read_u16(dac_t *obj) {
|
||||||
return (value << 4) | ((value >> 8) & 0x003F);
|
return (value << 4) | ((value >> 8) & 0x003F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -78,3 +78,8 @@ uint16_t analogout_read_u16(dac_t *obj) {
|
||||||
uint32_t value = dac_read(obj); // 12-bit
|
uint32_t value = dac_read(obj); // 12-bit
|
||||||
return (value << 4) | ((value >> 8) & 0x003F);
|
return (value << 4) | ((value >> 8) & 0x003F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -86,4 +86,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return (value << 4) | ((value >> 8) & 0x003F);
|
return (value << 4) | ((value >> 8) & 0x003F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -158,4 +158,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return (ret_val << 4) | ((ret_val >> 8) & 0x000F);
|
return (ret_val << 4) | ((ret_val >> 8) & 0x000F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* DEVICE_ANALOGOUT */
|
#endif /* DEVICE_ANALOGOUT */
|
||||||
|
|
|
@ -157,4 +157,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return (ret_val << 4) | ((ret_val >> 8) & 0x000F);
|
return (ret_val << 4) | ((ret_val >> 8) & 0x000F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* DEVICE_ANALOGOUT */
|
#endif /* DEVICE_ANALOGOUT */
|
||||||
|
|
|
@ -155,4 +155,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return (uint16_t)((ret_val << 4) | ((ret_val >> 8) & 0x000F));
|
return (uint16_t)((ret_val << 4) | ((ret_val >> 8) & 0x000F));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* DEVICE_ANALOGOUT */
|
#endif /* DEVICE_ANALOGOUT */
|
||||||
|
|
|
@ -210,3 +210,8 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return (obj->out << 8);
|
return (obj->out << 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -210,3 +210,8 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return (obj->out << 8);
|
return (obj->out << 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -93,3 +93,9 @@ uint16_t analogin_read_u16(analogin_t *obj)
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
const PinMap *analogin_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_ADC;
|
||||||
|
}
|
||||||
|
|
|
@ -196,4 +196,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return dat16;
|
return dat16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -174,4 +174,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return dat16;
|
return dat16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -184,4 +184,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return dat16;
|
return dat16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -170,4 +170,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return dat16;
|
return dat16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -69,3 +69,8 @@ float analogout_read(dac_t *obj) {
|
||||||
uint16_t analogout_read_u16(dac_t *obj) {
|
uint16_t analogout_read_u16(dac_t *obj) {
|
||||||
return (uint16_t)dac_read();
|
return (uint16_t)dac_read();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -74,3 +74,8 @@ uint16_t analogout_read_u16(dac_t *obj) {
|
||||||
uint32_t value = dac_read(); // 10-bit
|
uint32_t value = dac_read(); // 10-bit
|
||||||
return (value << 6) | ((value >> 4) & 0x003F);
|
return (value << 6) | ((value >> 4) & 0x003F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -73,3 +73,8 @@ uint16_t analogout_read_u16(dac_t *obj) {
|
||||||
uint32_t value = dac_read(); // 10-bit
|
uint32_t value = dac_read(); // 10-bit
|
||||||
return (value << 6) | ((value >> 4) & 0x003F);
|
return (value << 6) | ((value >> 4) & 0x003F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -84,3 +84,8 @@ uint16_t analogout_read_u16(dac_t *obj) {
|
||||||
uint32_t value = dac_read(); // 10-bit
|
uint32_t value = dac_read(); // 10-bit
|
||||||
return (value << 6) | ((value >> 4) & 0x003F);
|
return (value << 6) | ((value >> 4) & 0x003F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -188,4 +188,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return (uint16_t)0xFFFF;
|
return (uint16_t)0xFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -99,4 +99,9 @@ void analogout_free(dac_t *obj)
|
||||||
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGOUT
|
#endif // DEVICE_ANALOGOUT
|
||||||
|
|
|
@ -99,4 +99,9 @@ void analogout_free(dac_t *obj)
|
||||||
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGOUT
|
#endif // DEVICE_ANALOGOUT
|
||||||
|
|
|
@ -144,4 +144,9 @@ void analogout_free(dac_t *obj)
|
||||||
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGOUT
|
#endif // DEVICE_ANALOGOUT
|
||||||
|
|
|
@ -92,4 +92,9 @@ void analogout_free(dac_t *obj)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGOUT
|
#endif // DEVICE_ANALOGOUT
|
||||||
|
|
|
@ -92,5 +92,10 @@ void analogout_free(dac_t *obj)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGOUT
|
#endif // DEVICE_ANALOGOUT
|
||||||
|
|
|
@ -92,5 +92,10 @@ void analogout_free(dac_t *obj)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGOUT
|
#endif // DEVICE_ANALOGOUT
|
||||||
|
|
|
@ -118,4 +118,9 @@ void analogout_free(dac_t *obj)
|
||||||
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGOUT
|
#endif // DEVICE_ANALOGOUT
|
||||||
|
|
|
@ -114,4 +114,9 @@ void analogout_free(dac_t *obj)
|
||||||
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGOUT
|
#endif // DEVICE_ANALOGOUT
|
||||||
|
|
|
@ -123,4 +123,9 @@ void analogout_free(dac_t *obj)
|
||||||
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
pin_function(obj->pin, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // DEVICE_ANALOGOUT
|
#endif // DEVICE_ANALOGOUT
|
||||||
|
|
|
@ -140,4 +140,9 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
return dac_read(obj) << 4;
|
return dac_read(obj) << 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -98,3 +98,8 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -98,3 +98,8 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -129,3 +129,8 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
// Upper and lower byte stored with read value
|
// Upper and lower byte stored with read value
|
||||||
return ((value << (16 - DAC_NB_BITS)) | value);
|
return ((value << (16 - DAC_NB_BITS)) | value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
|
@ -102,3 +102,8 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PinMap *analogout_pinmap()
|
||||||
|
{
|
||||||
|
return PinMap_DAC;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue