HAL  v0.6.1
Hardware Abstraction Layer
Loading...
Searching...
No Matches
DAC

Digital-to-Analog Converter. More...

Collaboration diagram for DAC:

Data Structures

struct  dac_channel_attr_t
 

Enumerations

enum  dac_result_t {
  DAC_RESULT_OK ,
  DAC_RESULT_INVALID ,
  DAC_RESULT_UNSUPPORTED ,
  DAC_RESULT_OVERFLOW ,
  DAC_RESULT_BUSY ,
  DAC_RESULT_ERR ,
  TOTAL_DAC_RESULT
}
 
enum  dac_resolution_t {
  DAC_RESOLUTION_6_BITS ,
  DAC_RESOLUTION_8_BITS ,
  DAC_RESOLUTION_10_BITS ,
  DAC_RESOLUTION_12_BITS ,
  DAC_RESOLUTION_16_BITS ,
  DAC_RESOLUTION_24_BITS ,
  TOTAL_DAC_RESOLUTION
}
 

Functions

dac_result_t hal_dac_init (const dac_channel_attr_t attr)
 Configure DAC channel.
 
dac_result_t hal_dac_calibrate (const float vref)
 Calibrate DAC reference voltage.
 
dac_result_t hal_dac_write (const gpio_pin_t pin, const uint32_t value)
 Write DAC value to pin.
 
dac_result_t hal_dac_write_volt (const gpio_pin_t pin, const float volt)
 Write DAC value in voltage to pin.
 
dac_result_t hal_dac_mutex_take (const gpio_pin_t pin, const uint32_t timeout_ms)
 Try acquire RTOS mutex for specified pin.
 
dac_result_t hal_dac_mutex_give (const gpio_pin_t pin)
 Release RTOS mutex for specified pin.
 

Detailed Description

Digital-to-Analog Converter.

Enumeration Type Documentation

◆ dac_resolution_t

#include <dac/public_inc/hal_dac.h>

Enumerator
DAC_RESOLUTION_6_BITS 
DAC_RESOLUTION_8_BITS 
DAC_RESOLUTION_10_BITS 
DAC_RESOLUTION_12_BITS 
DAC_RESOLUTION_16_BITS 
DAC_RESOLUTION_24_BITS 
TOTAL_DAC_RESOLUTION 

◆ dac_result_t

#include <dac/public_inc/hal_dac.h>

Enumerator
DAC_RESULT_OK 

No error.

DAC_RESULT_INVALID 

Operation invalid.

DAC_RESULT_UNSUPPORTED 

Operation not supported.

DAC_RESULT_OVERFLOW 

Overflow occurred.

DAC_RESULT_BUSY 

DAC busy.

DAC_RESULT_ERR 

Error occurred.

TOTAL_DAC_RESULT 

Function Documentation

◆ hal_dac_calibrate()

dac_result_t hal_dac_calibrate ( const float vref)

#include <dac/public_inc/hal_dac.h>

Calibrate DAC reference voltage.

dac_result_t hal_dac_calibrate(const float vref)
Calibrate DAC reference voltage.
dac_result_t
Definition hal_dac.h:39
Parameters
[in]vrefActual measured DAC reference voltage
Return values
DAC_RESULT_OKSuccess calibrate DAC channel
DAC_RESULT_INVALIDReference voltage invalid
DAC_RESULT_UNSUPPORTEDOperation not supported
DAC_RESULT_ERRFailed calibrate DAC channel

◆ hal_dac_init()

dac_result_t hal_dac_init ( const dac_channel_attr_t attr)

#include <dac/public_inc/hal_dac.h>

Configure DAC channel.

.pin = 13U,
.resolution = DAC_RESOLUTION_12_BITS,
.low_power_enable = false
};
dac_result_t result = hal_dac_init( attr );
dac_result_t hal_dac_init(const dac_channel_attr_t attr)
Configure DAC channel.
@ DAC_RESOLUTION_12_BITS
Definition hal_dac.h:55
Definition hal_dac.h:63
gpio_pin_t pin
Definition hal_dac.h:64
Parameters
[in]attrDAC channel configuration
Return values
DAC_RESULT_OKSuccess configure DAC channel
DAC_RESULT_INVALIDConfiguration attributes invalid
DAC_RESULT_UNSUPPORTEDOperation not supported
DAC_RESULT_ERRFailed configure DAC channel

◆ hal_dac_mutex_give()

dac_result_t hal_dac_mutex_give ( const gpio_pin_t pin)

#include <dac/public_inc/hal_dac.h>

Release RTOS mutex for specified pin.

dac_result_t hal_dac_mutex_give(const gpio_pin_t pin)
Release RTOS mutex for specified pin.
Parameters
[in]pinDAC pin's mutex to be released
Return values
DAC_RESULT_OKSuccess release mutex
DAC_RESULT_INVALIDInvalid pin
DAC_RESULT_UNSUPPORTEDOperation not supported
DAC_RESULT_ERRFailed release mutex

◆ hal_dac_mutex_take()

dac_result_t hal_dac_mutex_take ( const gpio_pin_t pin,
const uint32_t timeout_ms )

#include <dac/public_inc/hal_dac.h>

Try acquire RTOS mutex for specified pin.

dac_result_t result = hal_dac_mutex_take( 13U, 10U );
dac_result_t hal_dac_mutex_take(const gpio_pin_t pin, const uint32_t timeout_ms)
Try acquire RTOS mutex for specified pin.
Parameters
[in]pinDAC pin's mutex to be locked
[in]timeout_msMutex acquiring timeout in milliseconds
Return values
DAC_RESULT_OKSuccess acquire mutex
DAC_RESULT_INVALIDInvalid pin
DAC_RESULT_UNSUPPORTEDOperation not supported
DAC_RESULT_ERRFailed acquire mutex

◆ hal_dac_write()

dac_result_t hal_dac_write ( const gpio_pin_t pin,
const uint32_t value )

#include <dac/public_inc/hal_dac.h>

Write DAC value to pin.

dac_result_t result = hal_dac_write( 13U, 1000U );
dac_result_t hal_dac_write(const gpio_pin_t pin, const uint32_t value)
Write DAC value to pin.
Parameters
[in]pinPin number
[in]valueDAC value to be written
Return values
DAC_RESULT_OKSuccess write value to DAC pin
DAC_RESULT_UNSUPPORTEDOperation not supported
DAC_RESULT_ERRFailed write value to DAC pin

◆ hal_dac_write_volt()

dac_result_t hal_dac_write_volt ( const gpio_pin_t pin,
const float volt )

#include <dac/public_inc/hal_dac.h>

Write DAC value in voltage to pin.

dac_result_t result = hal_dac_write_volt( 13U, 1.5f );
dac_result_t hal_dac_write_volt(const gpio_pin_t pin, const float volt)
Write DAC value in voltage to pin.
Parameters
[in]pinPin number
[in]voltVoltage to be set
Return values
DAC_RESULT_OKSuccess write voltage to DAC pin
DAC_RESULT_UNSUPPORTEDOperation not supported
DAC_RESULT_ERRFailed write voltage to DAC pin