|
1 | | -#include "mbed.h" |
2 | | -#include "greentea-client/test_env.h" |
3 | | -#include "unity.h" |
4 | | -#include "utest.h" |
5 | | -#include "rtos.h" |
6 | | - |
7 | | -using namespace utest::v1; |
8 | | - |
9 | | -// Template to set one Analog pin as input and then cycle through the rest as outputs. |
10 | | -// As you turn more pins on the voltage on the ain pin will go up. |
11 | | -template <PinName aout_pin, PinName ain_pin> |
12 | | -void AnalogOutput_Test() |
13 | | -{ |
14 | | - AnalogIn ain(ain_pin); |
15 | | - AnalogOut aout(aout_pin); |
16 | | - float valueOff = 0; |
17 | | - float valueOn = 0; |
18 | | - aout = 0; |
19 | | - valueOff = ain.read(); |
20 | | - aout = 0.5; |
21 | | - valueOn = ain.read(); |
22 | | - printf("***** valueOff = %f, valueOn = %f \n",valueOff, valueOn); |
23 | | - TEST_ASSERT(valueOn > valueOff); |
24 | | - valueOff = ain.read(); |
25 | | - aout = 1.0; |
26 | | - valueOn = ain.read(); |
27 | | - printf("***** valueOff = %f, valueOn = %f \n",valueOff, valueOn); |
28 | | - TEST_ASSERT(valueOn > valueOff); |
29 | | -} |
30 | | - |
31 | | -utest::v1::status_t test_setup(const size_t number_of_cases) { |
32 | | - // Setup Greentea using a reasonable timeout in seconds |
33 | | - GREENTEA_SETUP(30, "default_auto"); |
34 | | - return verbose_test_setup_handler(number_of_cases); |
35 | | -} |
36 | | - |
37 | | -// Handle test failures, keep testing, dont stop |
38 | | -utest::v1::status_t greentea_failure_handler(const Case *const source, const failure_t reason) { |
39 | | - greentea_case_failure_abort_handler(source, reason); |
40 | | - return STATUS_CONTINUE; |
41 | | -} |
42 | | - |
43 | | -// Test cases |
44 | | -// TODO: take input based on pinmap |
45 | | -Case cases[] = { |
46 | | - Case("Test Analog Output on A5", AnalogOutput_Test<A5,A0>,greentea_failure_handler), |
47 | | -}; |
48 | | - |
49 | | -Specification specification(test_setup, cases); |
50 | | - |
51 | | -// Entry point into the tests |
52 | | -int main() { |
53 | | - return !Harness::run(specification); |
54 | | -} |
| 1 | +#include "mbed.h" |
| 2 | +#include "greentea-client/test_env.h" |
| 3 | +#include "unity.h" |
| 4 | +#include "utest.h" |
| 5 | +#include "rtos.h" |
| 6 | + |
| 7 | +using namespace utest::v1; |
| 8 | + |
| 9 | +// Template to set one Analog pin as input and then cycle through the rest as outputs. |
| 10 | +// As you turn more pins on the voltage on the ain pin will go up. |
| 11 | +template <PinName aout_pin, PinName ain_pin> |
| 12 | +void AnalogOutput_Test() |
| 13 | +{ |
| 14 | + AnalogIn ain(ain_pin); |
| 15 | + AnalogOut aout(aout_pin); |
| 16 | + float valueOff = 0; |
| 17 | + float valueOn = 0; |
| 18 | + aout = 0; |
| 19 | + valueOff = ain.read(); |
| 20 | + aout = 0.5; |
| 21 | + valueOn = ain.read(); |
| 22 | + printf("***** valueOff = %f, valueOn = %f \n",valueOff, valueOn); |
| 23 | + TEST_ASSERT(valueOn > valueOff); |
| 24 | + valueOff = ain.read(); |
| 25 | + aout = 1.0; |
| 26 | + valueOn = ain.read(); |
| 27 | + printf("***** valueOff = %f, valueOn = %f \n",valueOff, valueOn); |
| 28 | + TEST_ASSERT(valueOn > valueOff); |
| 29 | +} |
| 30 | + |
| 31 | +utest::v1::status_t test_setup(const size_t number_of_cases) { |
| 32 | + // Setup Greentea using a reasonable timeout in seconds |
| 33 | + GREENTEA_SETUP(30, "default_auto"); |
| 34 | + return verbose_test_setup_handler(number_of_cases); |
| 35 | +} |
| 36 | + |
| 37 | +// Handle test failures, keep testing, dont stop |
| 38 | +utest::v1::status_t greentea_failure_handler(const Case *const source, const failure_t reason) { |
| 39 | + greentea_case_failure_abort_handler(source, reason); |
| 40 | + return STATUS_CONTINUE; |
| 41 | +} |
| 42 | + |
| 43 | +// Test cases |
| 44 | +// TODO: take input based on pinmap |
| 45 | +Case cases[] = { |
| 46 | + Case("Test Analog Output on A5", AnalogOutput_Test<A5,A0>,greentea_failure_handler), |
| 47 | +}; |
| 48 | + |
| 49 | +Specification specification(test_setup, cases); |
| 50 | + |
| 51 | +// Entry point into the tests |
| 52 | +int main() { |
| 53 | + return !Harness::run(specification); |
| 54 | +} |
0 commit comments