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 /******************************************************************************
embeddedartists 2:2f4b7535ceb3 18 * Includes
embeddedartists 2:2f4b7535ceb3 19 *****************************************************************************/
embeddedartists 2:2f4b7535ceb3 20
embeddedartists 2:2f4b7535ceb3 21 #include "mbed.h"
embeddedartists 2:2f4b7535ceb3 22 #include "TestFileSystemMCI.h"
embeddedartists 2:2f4b7535ceb3 23 #include "MCIFileSystem.h"
embeddedartists 2:2f4b7535ceb3 24
embeddedartists 2:2f4b7535ceb3 25 /******************************************************************************
embeddedartists 2:2f4b7535ceb3 26 * Defines and typedefs
embeddedartists 2:2f4b7535ceb3 27 *****************************************************************************/
embeddedartists 2:2f4b7535ceb3 28
embeddedartists 2:2f4b7535ceb3 29
embeddedartists 2:2f4b7535ceb3 30 /******************************************************************************
embeddedartists 2:2f4b7535ceb3 31 * Public Functions
embeddedartists 2:2f4b7535ceb3 32 *****************************************************************************/
embeddedartists 2:2f4b7535ceb3 33
embeddedartists 2:2f4b7535ceb3 34 /*
embeddedartists 2:2f4b7535ceb3 35 Prerequisites:
embeddedartists 2:2f4b7535ceb3 36
embeddedartists 2:2f4b7535ceb3 37 - For this test to work jumpers JP1..JP6 on the LPC4088 Experiment Base Board
embeddedartists 2:2f4b7535ceb3 38 must all be in positions 1-2, that is closest to the center of the board.
embeddedartists 2:2f4b7535ceb3 39
embeddedartists 2:2f4b7535ceb3 40 - The uSD card must be formatted as FAT or FAT32, NTFS will not work.
embeddedartists 2:2f4b7535ceb3 41
embeddedartists 2:2f4b7535ceb3 42 - This test expects a file with the name message.txt to exist in the
embeddedartists 2:2f4b7535ceb3 43 root folder on the uSD card. The file must be at least 10 bytes in
embeddedartists 2:2f4b7535ceb3 44 size and the first bytes must be eatest2014
embeddedartists 2:2f4b7535ceb3 45 */
embeddedartists 2:2f4b7535ceb3 46
embeddedartists 2:2f4b7535ceb3 47 bool TestFileSystemMCI::runTest() {
embeddedartists 3:7ef908e84ae1 48 printf("Testing MCI file system. If this test takes a lot of time make sure that\n"
embeddedartists 3:7ef908e84ae1 49 "there is a uSD card inserted and that the jumpers are inserted according\n"
embeddedartists 3:7ef908e84ae1 50 "to the instructions!\n");
embeddedartists 3:7ef908e84ae1 51
embeddedartists 2:2f4b7535ceb3 52 // The LPC4088 Experiment Base Board does not have the CardDetect signal
embeddedartists 2:2f4b7535ceb3 53 // available so it must be set to NC here to work.
embeddedartists 2:2f4b7535ceb3 54 MCIFileSystem mcifs("mci", NC);
embeddedartists 2:2f4b7535ceb3 55
embeddedartists 2:2f4b7535ceb3 56 FILE* fp = fopen("/mci/message.txt", "r");
embeddedartists 2:2f4b7535ceb3 57 if (fp != NULL) {
embeddedartists 2:2f4b7535ceb3 58 char buf[20];
embeddedartists 2:2f4b7535ceb3 59 int num = fread(buf, 1, sizeof(buf), fp);
embeddedartists 2:2f4b7535ceb3 60 if (num >= 10) {
embeddedartists 2:2f4b7535ceb3 61 buf[10] = '\0';
embeddedartists 2:2f4b7535ceb3 62 if (strcmp(buf, "eatest2014") == 0) {
embeddedartists 2:2f4b7535ceb3 63 printf("MCI SD Card works!\n");
embeddedartists 2:2f4b7535ceb3 64 fclose(fp);
embeddedartists 2:2f4b7535ceb3 65 return true;
embeddedartists 2:2f4b7535ceb3 66 }
embeddedartists 2:2f4b7535ceb3 67 printf("Invalid data read from /mci/message.txt\n");
embeddedartists 2:2f4b7535ceb3 68 }
embeddedartists 2:2f4b7535ceb3 69 printf("Failed to read >= 10 bytes from /mci/message.txt\n");
embeddedartists 2:2f4b7535ceb3 70 }
embeddedartists 2:2f4b7535ceb3 71 printf("Failed to open /mci/message.txt\n");
embeddedartists 2:2f4b7535ceb3 72 return false;
embeddedartists 2:2f4b7535ceb3 73 }
embeddedartists 2:2f4b7535ceb3 74
embeddedartists 2:2f4b7535ceb3 75