Production Test Program (PTP) for the LPC4088 Experiment Base Board
Dependencies: EALib I2S LM75B SDFileSystem mbed
TestTrimpot.cpp
- Committer:
- embeddedartists
- Date:
- 2014-10-01
- Revision:
- 9:eb6086159020
- Parent:
- 2:2f4b7535ceb3
File content as of revision 9:eb6086159020:
/* * Copyright 2013 Embedded Artists AB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /****************************************************************************** * Includes *****************************************************************************/ #include "mbed.h" #include "TestTrimpot.h" /****************************************************************************** * Defines and typedefs *****************************************************************************/ #define MIN_VALUE (0.010f) #define MAX_VALUE (0.990f) /****************************************************************************** * Public Functions *****************************************************************************/ bool TestTrimpot::runTest() { AnalogIn trimpot(p15); bool min = false; bool max = false; printf("Reading trimpot for 5 seconds...\n"); // Reads the analog value of the right trimpot every 100ms for // up to five seconds or until both end limit have been reached. for (int i = 0; i < 50; i++) { float f = trimpot.read(); printf("Trimpot = %.3f\n", f); if (f < MIN_VALUE) { min = true; } else if (f > MAX_VALUE) { max = true; } if (min && max) { printf("Test passed\n"); return true; } wait(0.1); } printf("Trimpot does not reach limits (%.3f - %.3f)!\n", MIN_VALUE, MAX_VALUE); return false; }