27#if (HAL_USE_DAC == TRUE) || defined(__DOXYGEN__)
75#if DAC_USE_MUTUAL_EXCLUSION
78#if defined(DAC_DRIVER_EXT_INIT_HOOK)
79 DAC_DRIVER_EXT_INIT_HOOK(dacp);
107#if defined(DAC_LLD_ENHANCED_API)
167#if defined(DAC_LLD_ENHANCED_API)
200#if defined(DAC_LLD_ENHANCED_API)
237 osalDbgCheck((dacp != NULL) && (grpp != NULL) && (samples != NULL) &&
238 ((depth == 1U) || ((depth & 1U) == 0U)));
247#if defined(DAC_LLD_ENHANCED_API)
321#if (DAC_USE_SYNCHRONIZATION == TRUE) || defined(__DOXYGEN__)
421#if (DAC_USE_MUTUAL_EXCLUSION == TRUE) || defined(__DOXYGEN__)
void dac_lld_put_channel(DACDriver *dacp, dacchannel_t channel, dacsample_t sample)
Outputs a value directly on a DAC channel.
msg_t dacSynchronizeS(DACDriver *dacp, sysinterval_t timeout)
Synchronize to a conversion completion.
void dac_lld_init(void)
Low level DAC driver initialization.
uint16_t dacsample_t
Type representing a DAC sample.
struct hal_dac_driver DACDriver
Type of a structure representing an DAC driver.
void dacStop(DACDriver *dacp)
Deactivates the DAC peripheral.
uint32_t dacchannel_t
Type of a DAC channel index.
msg_t dacStartConversionI(DACDriver *dacp, const DACConversionGroup *grpp, dacsample_t *samples, size_t depth)
Starts a DAC conversion.
void dacReleaseBus(DACDriver *dacp)
Releases exclusive access to the DAC bus.
void dacStopConversion(DACDriver *dacp)
Stops an ongoing conversion.
void dac_lld_start_conversion(DACDriver *dacp)
Starts a DAC conversion.
void dacAcquireBus(DACDriver *dacp)
Gains exclusive access to the DAC bus.
void dacObjectInit(DACDriver *dacp)
Initializes the standard part of a DACDriver structure.
msg_t dacStartConversion(DACDriver *dacp, const DACConversionGroup *grpp, dacsample_t *samples, size_t depth)
Starts a DAC conversion.
void dacInit(void)
DAC Driver initialization.
void dacStopConversionI(DACDriver *dacp)
Stops an ongoing conversion.
void dac_lld_start(DACDriver *dacp)
Configures and activates the DAC peripheral.
msg_t dacSynchronize(DACDriver *dacp, sysinterval_t timeout)
Synchronize to a conversion completion.
#define _dac_reset_s(dacp)
Resumes a thread waiting for a conversion completion.
struct hal_dac_config DACConfig
Type of a structure representing an DAC driver configuration.
msg_t dacStart(DACDriver *dacp, const DACConfig *config)
Configures and activates the DAC peripheral.
msg_t dacPutChannelX(DACDriver *dacp, dacchannel_t channel, dacsample_t sample)
Outputs a value directly on a DAC channel.
void dac_lld_stop_conversion(DACDriver *dacp)
Stops an ongoing conversion.
struct hal_dac_conversion_group DACConversionGroup
Type of a DAC conversion group.
#define DAC_MAX_CHANNELS
Maximum number of DAC channels per unit.
#define _dac_reset_i(dacp)
Resumes a thread waiting for a conversion completion.
void dac_lld_stop(DACDriver *dacp)
Deactivates the DAC peripheral.
msg_t dacConvert(DACDriver *dacp, const DACConversionGroup *grpp, dacsample_t *samples, size_t depth)
Performs a DAC conversion.
static void osalSysLock(void)
Enters a critical zone from thread context.
static void osalMutexObjectInit(mutex_t *mp)
Initializes a mutex_t object.
static void osalSysUnlock(void)
Leaves a critical zone from thread context.
int32_t msg_t
Type of a message.
uint32_t sysinterval_t
Type of system time interval.
msg_t osalThreadSuspendS(thread_reference_t *trp)
Sends the current thread sleeping and sets a reference variable.
void osalMutexLock(mutex_t *mp)
Locks the specified mutex.
#define osalDbgCheckClassS()
S-Class state check.
#define osalDbgAssert(c, remark)
Condition assertion.
void osalMutexUnlock(mutex_t *mp)
Unlocks the specified mutex.
msg_t osalThreadSuspendTimeoutS(thread_reference_t *trp, sysinterval_t timeout)
Sends the current thread sleeping and sets a reference variable.
#define osalDbgCheck(c)
Function parameters check.
#define osalDbgCheckClassI()
I-Class state check.
const DACConversionGroup * grpp
Conversion group.
size_t depth
Samples buffer size.
dacsample_t * samples
Samples buffer pointer.
thread_reference_t thread
Waiting thread.
const DACConfig * config
Current configuration data.
dacstate_t state
Driver state.
mutex_t mutex
Mutex protecting the bus.