Output the audio signal with filtering by graphic equalizer in the *.wav file on the SD card using onboard CODEC. SD カードの *.wav ファイルのオーディオ信号をグラフィック・イコライザを通して,ボードに搭載されているCODEC で出力する.

Dependencies:   F746_GUI F746_SAI_IO SD_PlayerSkeleton FrequencyResponseDrawer

Committer:
MikamiUitOpen
Date:
Mon Apr 10 04:07:35 2017 +0000
Revision:
24:f78f9d0ac262
Parent:
16:cbb726ac20d8
25

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 16:cbb726ac20d8 1 /* mbed Microcontroller Library
MikamiUitOpen 16:cbb726ac20d8 2 * Copyright (c) 2006-2013 ARM Limited
MikamiUitOpen 16:cbb726ac20d8 3 *
MikamiUitOpen 16:cbb726ac20d8 4 * Licensed under the Apache License, Version 2.0 (the "License");
MikamiUitOpen 16:cbb726ac20d8 5 * you may not use this file except in compliance with the License.
MikamiUitOpen 16:cbb726ac20d8 6 * You may obtain a copy of the License at
MikamiUitOpen 16:cbb726ac20d8 7 *
MikamiUitOpen 16:cbb726ac20d8 8 * http://www.apache.org/licenses/LICENSE-2.0
MikamiUitOpen 16:cbb726ac20d8 9 *
MikamiUitOpen 16:cbb726ac20d8 10 * Unless required by applicable law or agreed to in writing, software
MikamiUitOpen 16:cbb726ac20d8 11 * distributed under the License is distributed on an "AS IS" BASIS,
MikamiUitOpen 16:cbb726ac20d8 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
MikamiUitOpen 16:cbb726ac20d8 13 * See the License for the specific language governing permissions and
MikamiUitOpen 16:cbb726ac20d8 14 * limitations under the License.
MikamiUitOpen 16:cbb726ac20d8 15 */
MikamiUitOpen 16:cbb726ac20d8 16 #ifndef MBED_ANALOGIN_H
MikamiUitOpen 16:cbb726ac20d8 17 #define MBED_ANALOGIN_H
MikamiUitOpen 16:cbb726ac20d8 18
MikamiUitOpen 16:cbb726ac20d8 19 #include "platform.h"
MikamiUitOpen 16:cbb726ac20d8 20
MikamiUitOpen 16:cbb726ac20d8 21 #if DEVICE_ANALOGIN
MikamiUitOpen 16:cbb726ac20d8 22
MikamiUitOpen 16:cbb726ac20d8 23 #include "analogin_api.h"
MikamiUitOpen 16:cbb726ac20d8 24
MikamiUitOpen 16:cbb726ac20d8 25 namespace mbed {
MikamiUitOpen 16:cbb726ac20d8 26
MikamiUitOpen 16:cbb726ac20d8 27 /** An analog input, used for reading the voltage on a pin
MikamiUitOpen 16:cbb726ac20d8 28 *
MikamiUitOpen 16:cbb726ac20d8 29 * Example:
MikamiUitOpen 16:cbb726ac20d8 30 * @code
MikamiUitOpen 16:cbb726ac20d8 31 * // Print messages when the AnalogIn is greater than 50%
MikamiUitOpen 16:cbb726ac20d8 32 *
MikamiUitOpen 16:cbb726ac20d8 33 * #include "mbed.h"
MikamiUitOpen 16:cbb726ac20d8 34 *
MikamiUitOpen 16:cbb726ac20d8 35 * AnalogIn temperature(p20);
MikamiUitOpen 16:cbb726ac20d8 36 *
MikamiUitOpen 16:cbb726ac20d8 37 * int main() {
MikamiUitOpen 16:cbb726ac20d8 38 * while(1) {
MikamiUitOpen 16:cbb726ac20d8 39 * if(temperature > 0.5) {
MikamiUitOpen 16:cbb726ac20d8 40 * printf("Too hot! (%f)", temperature.read());
MikamiUitOpen 16:cbb726ac20d8 41 * }
MikamiUitOpen 16:cbb726ac20d8 42 * }
MikamiUitOpen 16:cbb726ac20d8 43 * }
MikamiUitOpen 16:cbb726ac20d8 44 * @endcode
MikamiUitOpen 16:cbb726ac20d8 45 */
MikamiUitOpen 16:cbb726ac20d8 46 class AnalogIn {
MikamiUitOpen 16:cbb726ac20d8 47
MikamiUitOpen 16:cbb726ac20d8 48 public:
MikamiUitOpen 16:cbb726ac20d8 49
MikamiUitOpen 16:cbb726ac20d8 50 /** Create an AnalogIn, connected to the specified pin
MikamiUitOpen 16:cbb726ac20d8 51 *
MikamiUitOpen 16:cbb726ac20d8 52 * @param pin AnalogIn pin to connect to
MikamiUitOpen 16:cbb726ac20d8 53 * @param name (optional) A string to identify the object
MikamiUitOpen 16:cbb726ac20d8 54 */
MikamiUitOpen 16:cbb726ac20d8 55 AnalogIn(PinName pin) {
MikamiUitOpen 16:cbb726ac20d8 56 analogin_init(&_adc, pin);
MikamiUitOpen 16:cbb726ac20d8 57 }
MikamiUitOpen 16:cbb726ac20d8 58
MikamiUitOpen 16:cbb726ac20d8 59 /** Read the input voltage, represented as a float in the range [0.0, 1.0]
MikamiUitOpen 16:cbb726ac20d8 60 *
MikamiUitOpen 16:cbb726ac20d8 61 * @returns A floating-point value representing the current input voltage, measured as a percentage
MikamiUitOpen 16:cbb726ac20d8 62 */
MikamiUitOpen 16:cbb726ac20d8 63 float read() {
MikamiUitOpen 16:cbb726ac20d8 64 return analogin_read(&_adc);
MikamiUitOpen 16:cbb726ac20d8 65 }
MikamiUitOpen 16:cbb726ac20d8 66
MikamiUitOpen 16:cbb726ac20d8 67 /** Read the input voltage, represented as an unsigned short in the range [0x0, 0xFFFF]
MikamiUitOpen 16:cbb726ac20d8 68 *
MikamiUitOpen 16:cbb726ac20d8 69 * @returns
MikamiUitOpen 16:cbb726ac20d8 70 * 16-bit unsigned short representing the current input voltage, normalised to a 16-bit value
MikamiUitOpen 16:cbb726ac20d8 71 */
MikamiUitOpen 16:cbb726ac20d8 72 unsigned short read_u16() {
MikamiUitOpen 16:cbb726ac20d8 73 return analogin_read_u16(&_adc);
MikamiUitOpen 16:cbb726ac20d8 74 }
MikamiUitOpen 16:cbb726ac20d8 75
MikamiUitOpen 16:cbb726ac20d8 76 #ifdef MBED_OPERATORS
MikamiUitOpen 16:cbb726ac20d8 77 /** An operator shorthand for read()
MikamiUitOpen 16:cbb726ac20d8 78 *
MikamiUitOpen 16:cbb726ac20d8 79 * The float() operator can be used as a shorthand for read() to simplify common code sequences
MikamiUitOpen 16:cbb726ac20d8 80 *
MikamiUitOpen 16:cbb726ac20d8 81 * Example:
MikamiUitOpen 16:cbb726ac20d8 82 * @code
MikamiUitOpen 16:cbb726ac20d8 83 * float x = volume.read();
MikamiUitOpen 16:cbb726ac20d8 84 * float x = volume;
MikamiUitOpen 16:cbb726ac20d8 85 *
MikamiUitOpen 16:cbb726ac20d8 86 * if(volume.read() > 0.25) { ... }
MikamiUitOpen 16:cbb726ac20d8 87 * if(volume > 0.25) { ... }
MikamiUitOpen 16:cbb726ac20d8 88 * @endcode
MikamiUitOpen 16:cbb726ac20d8 89 */
MikamiUitOpen 16:cbb726ac20d8 90 operator float() {
MikamiUitOpen 16:cbb726ac20d8 91 return read();
MikamiUitOpen 16:cbb726ac20d8 92 }
MikamiUitOpen 16:cbb726ac20d8 93 #endif
MikamiUitOpen 16:cbb726ac20d8 94
MikamiUitOpen 16:cbb726ac20d8 95 protected:
MikamiUitOpen 16:cbb726ac20d8 96 analogin_t _adc;
MikamiUitOpen 16:cbb726ac20d8 97 };
MikamiUitOpen 16:cbb726ac20d8 98
MikamiUitOpen 16:cbb726ac20d8 99 } // namespace mbed
MikamiUitOpen 16:cbb726ac20d8 100
MikamiUitOpen 16:cbb726ac20d8 101 #endif
MikamiUitOpen 16:cbb726ac20d8 102
MikamiUitOpen 16:cbb726ac20d8 103 #endif