Library to handle the X-NUCLEO-CCA01M1 Sound Terminal Expansion Board.

Dependencies:   ST_I2S X_NUCLEO_COMMON

Dependents:   HelloWorld_CCA01M1 HelloWorld_CCA01M1_mbedOS HelloWorld_CCA01M1_mbedOS Karaoke_CCA01M1_CCA02M1_mbedOS ... more

Fork of X_NUCLEO_CCA01M1 by ST Expansion SW Team

Sound Terminal Library

Library to handle the X-NUCLEO-CCA01M1 Sound Terminal Expansion Board based on the STA350BW Sound Terminal device. A single board allows the output of a standard 2-channel stereo signal, while two boards stacked up realize a 4-channel audio system.


Power supply

The X-NUCLEO-CCA01M1 Sound Terminal Expansion Board has to be powered with at least 5V DC. You can connect the VCC terminal to an external power supplier or directly to the +5V pin of the CN6 Arduino connector.


Platform compatibility

  • This board can be currently used with the Nucleo F4 Family only, please see the ST_I2S library compatibility for further information.
  • The library is compatible both with mbed OS 5.x and mbed classic 2.x (to work with mbed classic, the main application has to import the "events" library, which is not included into the "mbed" library).


I2S Peripheral Usage

This board makes use of an I2S peripheral available on Nucleo boards, and when stacked up two times on the same Nucleo board each expansion board have to be configured to use a different I2S peripheral.

By default it comes with solder bridges configured to use the I2S1 peripheral, as depicted here below:

/media/uploads/Davidroid/solder_bridges_i2s1.png

And can be set to use the I2S2 peripheral by configuring the solder bridges this way:

/media/uploads/Davidroid/solder_bridges_i2s2.png


Committer:
davide.aliprandi@st.com
Date:
Fri Apr 21 10:07:28 2017 +0200
Revision:
3:c688a4acb4bf
Aligned to ARM mbed coding style.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
davide.aliprandi@st.com 3:c688a4acb4bf 1 /**
davide.aliprandi@st.com 3:c688a4acb4bf 2 ******************************************************************************
davide.aliprandi@st.com 3:c688a4acb4bf 3 * @file Component.h
davide.aliprandi@st.com 3:c688a4acb4bf 4 * @author AST
davide.aliprandi@st.com 3:c688a4acb4bf 5 * @version V1.0.0
davide.aliprandi@st.com 3:c688a4acb4bf 6 * @date April 13th, 2015
davide.aliprandi@st.com 3:c688a4acb4bf 7 * @brief This file contains the abstract class describing the interface of a
davide.aliprandi@st.com 3:c688a4acb4bf 8 * generic component.
davide.aliprandi@st.com 3:c688a4acb4bf 9 ******************************************************************************
davide.aliprandi@st.com 3:c688a4acb4bf 10 * @attention
davide.aliprandi@st.com 3:c688a4acb4bf 11 *
davide.aliprandi@st.com 3:c688a4acb4bf 12 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
davide.aliprandi@st.com 3:c688a4acb4bf 13 *
davide.aliprandi@st.com 3:c688a4acb4bf 14 * Redistribution and use in source and binary forms, with or without modification,
davide.aliprandi@st.com 3:c688a4acb4bf 15 * are permitted provided that the following conditions are met:
davide.aliprandi@st.com 3:c688a4acb4bf 16 * 1. Redistributions of source code must retain the above copyright notice,
davide.aliprandi@st.com 3:c688a4acb4bf 17 * this list of conditions and the following disclaimer.
davide.aliprandi@st.com 3:c688a4acb4bf 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
davide.aliprandi@st.com 3:c688a4acb4bf 19 * this list of conditions and the following disclaimer in the documentation
davide.aliprandi@st.com 3:c688a4acb4bf 20 * and/or other materials provided with the distribution.
davide.aliprandi@st.com 3:c688a4acb4bf 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
davide.aliprandi@st.com 3:c688a4acb4bf 22 * may be used to endorse or promote products derived from this software
davide.aliprandi@st.com 3:c688a4acb4bf 23 * without specific prior written permission.
davide.aliprandi@st.com 3:c688a4acb4bf 24 *
davide.aliprandi@st.com 3:c688a4acb4bf 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
davide.aliprandi@st.com 3:c688a4acb4bf 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
davide.aliprandi@st.com 3:c688a4acb4bf 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
davide.aliprandi@st.com 3:c688a4acb4bf 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
davide.aliprandi@st.com 3:c688a4acb4bf 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
davide.aliprandi@st.com 3:c688a4acb4bf 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
davide.aliprandi@st.com 3:c688a4acb4bf 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
davide.aliprandi@st.com 3:c688a4acb4bf 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
davide.aliprandi@st.com 3:c688a4acb4bf 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
davide.aliprandi@st.com 3:c688a4acb4bf 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
davide.aliprandi@st.com 3:c688a4acb4bf 35 *
davide.aliprandi@st.com 3:c688a4acb4bf 36 ******************************************************************************
davide.aliprandi@st.com 3:c688a4acb4bf 37 */
davide.aliprandi@st.com 3:c688a4acb4bf 38
davide.aliprandi@st.com 3:c688a4acb4bf 39
davide.aliprandi@st.com 3:c688a4acb4bf 40 /* Define to prevent recursive inclusion -------------------------------------*/
davide.aliprandi@st.com 3:c688a4acb4bf 41
davide.aliprandi@st.com 3:c688a4acb4bf 42 #ifndef __COMPONENT_CLASS_H
davide.aliprandi@st.com 3:c688a4acb4bf 43 #define __COMPONENT_CLASS_H
davide.aliprandi@st.com 3:c688a4acb4bf 44
davide.aliprandi@st.com 3:c688a4acb4bf 45
davide.aliprandi@st.com 3:c688a4acb4bf 46 /* Includes ------------------------------------------------------------------*/
davide.aliprandi@st.com 3:c688a4acb4bf 47
davide.aliprandi@st.com 3:c688a4acb4bf 48 #include <stdint.h>
davide.aliprandi@st.com 3:c688a4acb4bf 49
davide.aliprandi@st.com 3:c688a4acb4bf 50
davide.aliprandi@st.com 3:c688a4acb4bf 51 /* Classes ------------------------------------------------------------------*/
davide.aliprandi@st.com 3:c688a4acb4bf 52
davide.aliprandi@st.com 3:c688a4acb4bf 53 /**
davide.aliprandi@st.com 3:c688a4acb4bf 54 * An abstract class for Generic components.
davide.aliprandi@st.com 3:c688a4acb4bf 55 */
davide.aliprandi@st.com 3:c688a4acb4bf 56 class Component {
davide.aliprandi@st.com 3:c688a4acb4bf 57 public:
davide.aliprandi@st.com 3:c688a4acb4bf 58
davide.aliprandi@st.com 3:c688a4acb4bf 59 /**
davide.aliprandi@st.com 3:c688a4acb4bf 60 * @brief Initializing the component.
davide.aliprandi@st.com 3:c688a4acb4bf 61 * @param[in] init pointer to device specific initalization structure.
davide.aliprandi@st.com 3:c688a4acb4bf 62 * @retval "0" in case of success, an error code otherwise.
davide.aliprandi@st.com 3:c688a4acb4bf 63 */
davide.aliprandi@st.com 3:c688a4acb4bf 64 virtual int init(void *init) = 0;
davide.aliprandi@st.com 3:c688a4acb4bf 65
davide.aliprandi@st.com 3:c688a4acb4bf 66 /**
davide.aliprandi@st.com 3:c688a4acb4bf 67 * @brief Getting the ID of the component.
davide.aliprandi@st.com 3:c688a4acb4bf 68 * @param[out] id pointer to an allocated variable to store the ID into.
davide.aliprandi@st.com 3:c688a4acb4bf 69 * @retval "0" in case of success, an error code otherwise.
davide.aliprandi@st.com 3:c688a4acb4bf 70 */
davide.aliprandi@st.com 3:c688a4acb4bf 71 virtual int read_id(uint8_t *id) = 0;
davide.aliprandi@st.com 3:c688a4acb4bf 72
davide.aliprandi@st.com 3:c688a4acb4bf 73 /**
davide.aliprandi@st.com 3:c688a4acb4bf 74 * @brief Destructor.
davide.aliprandi@st.com 3:c688a4acb4bf 75 */
davide.aliprandi@st.com 3:c688a4acb4bf 76 virtual ~Component() {};
davide.aliprandi@st.com 3:c688a4acb4bf 77 };
davide.aliprandi@st.com 3:c688a4acb4bf 78
davide.aliprandi@st.com 3:c688a4acb4bf 79 #endif /* __COMPONENT_CLASS_H */
davide.aliprandi@st.com 3:c688a4acb4bf 80
davide.aliprandi@st.com 3:c688a4acb4bf 81 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/