mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-10 01:21:49 +00:00
Added test recording when calling reset from command line. These results are printed on the screen and saved in /tmp/results/<board>/<module>.txt BRANCH=None BUG=None TEST=Manual - Connect, build and flash boards - Navigate to ec/cts - ./cts.py --run - Find test results /tmp/results/<board>/<module>.txt - Tests names should be left aligned in one column and their results right aligned in a 2nd column Change-Id: I3429d6092f2bd5d5f6825245f5439ace3f47f1fa Reviewed-on: https://chromium-review.googlesource.com/360653 Commit-Ready: Chris Chen <twothreecc@google.com> Tested-by: Chris Chen <twothreecc@google.com> Reviewed-by: Randall Spangler <rspangler@chromium.org>
90 lines
1.7 KiB
C
90 lines
1.7 KiB
C
/* Copyright 2016 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#include "common.h"
|
|
#include "watchdog.h"
|
|
#include "uart.h"
|
|
#include "timer.h"
|
|
#include "watchdog.h"
|
|
#include "dut_common.h"
|
|
#include "cts_common.h"
|
|
|
|
enum cts_rc sync_test(void)
|
|
{
|
|
return CTS_RC_SUCCESS;
|
|
}
|
|
|
|
enum cts_rc set_high_test(void)
|
|
{
|
|
int level;
|
|
|
|
gpio_set_flags(GPIO_INPUT_TEST, GPIO_INPUT | GPIO_PULL_UP);
|
|
msleep(READ_WAIT_TIME_MS);
|
|
level = gpio_get_level(GPIO_INPUT_TEST);
|
|
if (level)
|
|
return CTS_RC_SUCCESS;
|
|
else
|
|
return CTS_RC_FAILURE;
|
|
}
|
|
|
|
enum cts_rc set_low_test(void)
|
|
{
|
|
int level;
|
|
|
|
gpio_set_flags(GPIO_INPUT_TEST, GPIO_INPUT | GPIO_PULL_UP);
|
|
msleep(READ_WAIT_TIME_MS);
|
|
level = gpio_get_level(GPIO_INPUT_TEST);
|
|
if (!level)
|
|
return CTS_RC_SUCCESS;
|
|
else
|
|
return CTS_RC_FAILURE;
|
|
}
|
|
|
|
enum cts_rc read_high_test(void)
|
|
{
|
|
gpio_set_flags(GPIO_OUTPUT_TEST, GPIO_ODR_LOW);
|
|
gpio_set_level(GPIO_OUTPUT_TEST, 1);
|
|
msleep(READ_WAIT_TIME_MS*2);
|
|
return CTS_RC_SUCCESS;
|
|
}
|
|
|
|
enum cts_rc read_low_test(void)
|
|
{
|
|
gpio_set_flags(GPIO_OUTPUT_TEST, GPIO_ODR_LOW);
|
|
gpio_set_level(GPIO_OUTPUT_TEST, 0);
|
|
msleep(READ_WAIT_TIME_MS*2);
|
|
return CTS_RC_SUCCESS;
|
|
}
|
|
|
|
enum cts_rc od_read_high_test(void)
|
|
{
|
|
gpio_set_flags(GPIO_INPUT_TEST, GPIO_OUTPUT | GPIO_ODR_LOW);
|
|
msleep(READ_WAIT_TIME_MS*2);
|
|
return CTS_RC_SUCCESS;
|
|
}
|
|
|
|
#include "cts_testlist.h"
|
|
|
|
void cts_task(void)
|
|
{
|
|
enum cts_rc result;
|
|
int i;
|
|
|
|
uart_flush_output();
|
|
for (i = 0; i < CTS_TEST_ID_COUNT; i++) {
|
|
sync();
|
|
result = tests[i].run();
|
|
CPRINTF("\n%s %d\n", tests[i].name, result);
|
|
uart_flush_output();
|
|
}
|
|
|
|
CPRINTS("GPIO test suite finished");
|
|
uart_flush_output();
|
|
while (1) {
|
|
watchdog_reload();
|
|
sleep(1);
|
|
}
|
|
}
|