Production Test Program (PTP) for the LPC4088 Experiment Base Board

Dependencies:   EALib I2S LM75B SDFileSystem mbed

Committer:
embeddedartists
Date:
Wed Oct 01 11:16:38 2014 +0000
Revision:
9:eb6086159020
Parent:
3:7ef908e84ae1
Updated used libraries

Who changed what in which revision?

UserRevisionLine numberNew contents of line
embeddedartists 2:2f4b7535ceb3 1 /*
embeddedartists 2:2f4b7535ceb3 2 * Copyright 2013 Embedded Artists AB
embeddedartists 2:2f4b7535ceb3 3 *
embeddedartists 2:2f4b7535ceb3 4 * Licensed under the Apache License, Version 2.0 (the "License");
embeddedartists 2:2f4b7535ceb3 5 * you may not use this file except in compliance with the License.
embeddedartists 2:2f4b7535ceb3 6 * You may obtain a copy of the License at
embeddedartists 2:2f4b7535ceb3 7 *
embeddedartists 2:2f4b7535ceb3 8 * http://www.apache.org/licenses/LICENSE-2.0
embeddedartists 2:2f4b7535ceb3 9 *
embeddedartists 2:2f4b7535ceb3 10 * Unless required by applicable law or agreed to in writing, software
embeddedartists 2:2f4b7535ceb3 11 * distributed under the License is distributed on an "AS IS" BASIS,
embeddedartists 2:2f4b7535ceb3 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
embeddedartists 2:2f4b7535ceb3 13 * See the License for the specific language governing permissions and
embeddedartists 2:2f4b7535ceb3 14 * limitations under the License.
embeddedartists 2:2f4b7535ceb3 15 */
embeddedartists 2:2f4b7535ceb3 16
embeddedartists 2:2f4b7535ceb3 17 #ifndef TESTAUDIO_H
embeddedartists 2:2f4b7535ceb3 18 #define TESTAUDIO_H
embeddedartists 2:2f4b7535ceb3 19
embeddedartists 3:7ef908e84ae1 20 #include "WM8731.h"
embeddedartists 3:7ef908e84ae1 21 #include "I2S.h"
embeddedartists 3:7ef908e84ae1 22
embeddedartists 3:7ef908e84ae1 23 #define ECHOLENGTH 12000
embeddedartists 3:7ef908e84ae1 24
embeddedartists 2:2f4b7535ceb3 25
embeddedartists 2:2f4b7535ceb3 26 /**
embeddedartists 2:2f4b7535ceb3 27 * Test the WM8731 audio codec and the audio connectors on
embeddedartists 2:2f4b7535ceb3 28 * the LPC4088 Experiment Base Board
embeddedartists 2:2f4b7535ceb3 29 */
embeddedartists 2:2f4b7535ceb3 30 class TestAudio {
embeddedartists 2:2f4b7535ceb3 31 public:
embeddedartists 2:2f4b7535ceb3 32
embeddedartists 2:2f4b7535ceb3 33 /**
embeddedartists 3:7ef908e84ae1 34 * Create an interface to the audio codec
embeddedartists 3:7ef908e84ae1 35 */
embeddedartists 3:7ef908e84ae1 36 TestAudio();
embeddedartists 3:7ef908e84ae1 37
embeddedartists 3:7ef908e84ae1 38 /**
embeddedartists 2:2f4b7535ceb3 39 * Test the audio
embeddedartists 2:2f4b7535ceb3 40 *
embeddedartists 2:2f4b7535ceb3 41 * @return true if the test was successful; otherwise false
embeddedartists 2:2f4b7535ceb3 42 */
embeddedartists 2:2f4b7535ceb3 43 bool runTest();
embeddedartists 2:2f4b7535ceb3 44
embeddedartists 2:2f4b7535ceb3 45 private:
embeddedartists 2:2f4b7535ceb3 46
embeddedartists 3:7ef908e84ae1 47 /**
embeddedartists 3:7ef908e84ae1 48 * Callback function for I2S
embeddedartists 3:7ef908e84ae1 49 */
embeddedartists 3:7ef908e84ae1 50 void echo(void);
embeddedartists 3:7ef908e84ae1 51
embeddedartists 3:7ef908e84ae1 52 WM8731 _codec;
embeddedartists 3:7ef908e84ae1 53 I2S _i2sTx;
embeddedartists 3:7ef908e84ae1 54 I2S _i2sRx;
embeddedartists 3:7ef908e84ae1 55 AnalogIn _aIn;
embeddedartists 3:7ef908e84ae1 56
embeddedartists 3:7ef908e84ae1 57 int _waveIdx;
embeddedartists 3:7ef908e84ae1 58 int _echoBufPtr;
embeddedartists 3:7ef908e84ae1 59 int _echoBuf[ECHOLENGTH];
embeddedartists 3:7ef908e84ae1 60 int _txBuf[16];
embeddedartists 3:7ef908e84ae1 61 int _rxBuf[16];
embeddedartists 2:2f4b7535ceb3 62 };
embeddedartists 2:2f4b7535ceb3 63
embeddedartists 2:2f4b7535ceb3 64 #endif
embeddedartists 2:2f4b7535ceb3 65