From b2431579e414f837add230e540af226a73ddc8ab Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 2 May 2015 20:26:17 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7938 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/src/dac.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'os/hal/src') diff --git a/os/hal/src/dac.c b/os/hal/src/dac.c index a4e0fa672..024547b78 100644 --- a/os/hal/src/dac.c +++ b/os/hal/src/dac.c @@ -130,6 +130,40 @@ void dacStop(DACDriver *dacp) { osalSysUnlock(); } +/** + * @brief Outputs a value directly on a DAC channel. + * + * @param[in] dacp pointer to the @p DACDriver object + * @param[in] channel DAC channel number + * @param[in] sample value to be output + * + * @api + */ +void dacPutChannel(DACDriver *dacp, dacchannel_t channel, dacsample_t sample) { + + osalSysLock(); + dacPutChannelI(dacp, channel, sample); + osalSysUnlock(); +} + +/** + * @brief Outputs a value directly on a DAC channel. + * + * @param[in] dacp pointer to the @p DACDriver object + * @param[in] channel DAC channel number + * @param[in] sample value to be output + * + * @iclass + */ +void dacPutChannelI(DACDriver *dacp, dacchannel_t channel, dacsample_t sample) { + + osalDbgCheckClassI(); + osalDbgCheck(channel < DAC_MAX_CHANNELS); + osalDbgAssert(dacp->state == DAC_READY, "invalid state"); + + dac_lld_put_channel(dacp, channel, sample); +} + /** * @brief Starts a DAC conversion. * @details Starts an asynchronous conversion operation. -- cgit v1.2.3