aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/src
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-03-17 14:21:45 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-03-17 14:21:45 +0000
commit3534921f053bb9ea25413e8b10424ad06ff9b677 (patch)
tree6616689e8f988b070dae036a82f82edaa4e3c9ac /os/hal/src
parent093b17ed718bef6d6c1b941218edd67327884c87 (diff)
downloadChibiOS-3534921f053bb9ea25413e8b10424ad06ff9b677.tar.gz
ChibiOS-3534921f053bb9ea25413e8b10424ad06ff9b677.tar.bz2
ChibiOS-3534921f053bb9ea25413e8b10424ad06ff9b677.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4047 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/src')
-rw-r--r--os/hal/src/i2s.c58
1 files changed, 12 insertions, 46 deletions
diff --git a/os/hal/src/i2s.c b/os/hal/src/i2s.c
index 4eecfffbf..e0c547847 100644
--- a/os/hal/src/i2s.c
+++ b/os/hal/src/i2s.c
@@ -117,75 +117,41 @@ void i2sStop(I2SDriver *i2sp) {
}
/**
- * @brief Starts a I2S transmission.
- * @details The transmission is started and it is executes until the specified
- * buffer has entirely transmitted.
- * @post A callback is invoked when the buffer has been fully transmitted.
+ * @brief Starts a I2S data exchange.
*
* @param[in] i2sp pointer to the @p I2SDriver object
- * @param[in] n number of samples to send
- * @param[in] txbuf the pointer to the transmit buffer
*
* @api
*/
-void i2sStartSendOnce(I2SDriver *i2sp, size_t n,
- const i2ssample_t *txbuf) {
+void i2sStartExchange(I2SDriver *i2sp) {
- chDbgCheck((i2sp != NULL) && (n > 0) && (txbuf != NULL),
- "i2sStartSendOnce");
+ chDbgCheck(i2sp != NULL "i2sStartExchange");
chSysLock();
- chDbgAssert(i2sp->state == I2S_READY, "i2sStartSendOnce(), #1",
- "not ready");
- i2sStartSendOnceI(i2sp, n, txbuf);
+ chDbgAssert(i2sp->state == I2S_READY, "i2sStartExchange(), #1", "not ready");
+ i2sStartExchangeI(i2sp);
chSysUnlock();
}
/**
- * @brief Starts a continuous I2S transmission.
- * @details The transmission is started and it is executes continuously
- * until @p i2sStopSend() has been explicitly invoked .
- * @post A callback is invoked when the buffer has been half transmitted
- * and fully transmitted.
+ * @brief Stops the ongoing data exchange.
+ * @details The ongoing data exchange, if any, is stopped, if the driver
+ * was not active the function does nothing.
*
* @param[in] i2sp pointer to the @p I2SDriver object
- * @param[in] n number of samples to send
- * @param[in] txbuf the pointer to the transmit buffer
*
* @api
*/
-void i2sStartSendContinuous(I2SDriver *i2sp, size_t n,
- const i2ssample_t *txbuf) {
+void i2sStopExchange(I2SDriver *i2sp) {
- chDbgCheck((i2sp != NULL) && (n > 0) && (txbuf != NULL),
- "i2sStartSendContinuous");
-
- chSysLock();
- chDbgAssert(i2sp->state == I2S_READY, "i2sStartSendContinuous(), #1",
- "not ready");
- i2sStartSendContinuousI(i2sp, n, txbuf);
- chSysUnlock();
-}
-
-/**
- * @brief Stops the ongoing transmission.
- * @details The ongoing transmission, if any, is stopped, if the driver
- * was not transmitting the function does nothing.
- *
- * @param[in] i2sp pointer to the @p I2SDriver object
- *
- * @api
- */
-void i2sStopSend(I2SDriver *i2sp) {
-
- chDbgCheck((i2sp != NULL), "i2sStopSend");
+ chDbgCheck((i2sp != NULL), "i2sStopExchange");
chSysLock();
chDbgAssert((i2sp->state == I2S_READY) ||
(i2sp->state == I2S_ACTIVE) ||
(i2sp->state == I2S_COMPLETE),
- "i2sStopSend(), #1", "not ready");
- i2sStopSendI(i2sp);
+ "i2sStopExchange(), #1", "not ready");
+ i2sStopExchangeI(i2sp);
chSysUnlock();
}