tests/periph_rtt: added test for RTT drivers

This commit is contained in:
Hauke Petersen 2014-08-22 00:42:04 +02:00
parent af78ba287b
commit 9fb37be0aa
3 changed files with 90 additions and 0 deletions

10
tests/periph_rtt/Makefile Normal file
View File

@ -0,0 +1,10 @@
export APPLICATION = periph_rtt
include ../Makefile.tests_common
BOARD_BLACKLIST := chronos mbed_lpc1768 msb-430 msb-430h native qemu-i386 redbee-econotag telosb \
wsn430-v1_3b wsn430-v1_4 z1
# all listed boards: no periph_conf.h defined,
DISABLE_MODULE += auto_init
include $(RIOTBASE)/Makefile.include

View File

@ -0,0 +1,7 @@
Expected result
===============
When everything works as expected, you should see a hello message popping up every 10 seconds.
Background
==========
Test for the low-level RTT driver.

73
tests/periph_rtt/main.c Normal file
View File

@ -0,0 +1,73 @@
/*
* Copyright (C) 2014 Freie Universität Berlin
*
* This file is subject to the terms and conditions of the GNU Lesser General
* Public License v2.1. See the file LICENSE in the top level directory for more
* details.
*/
/**
* @ingroup tests
* @{
*
* @file
* @brief Test for low-level Real Time Timer drivers
*
* This test will initialize the real-time timer and trigger an alarm printing
* 'Hello' every 10 seconds
*
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
*
* @}
*/
#include <stdio.h>
#include <stdint.h>
#include "cpu.h"
#include "periph_conf.h"
#include "periph/rtt.h"
/* only compile this test if a RTT device is defined */
#if RTT_NUMOF
#define TICKS_TO_WAIT (10 * RTT_FREQUENCY)
void cb(void *arg)
{
(void)arg;
uint32_t now;
now = rtt_get_counter() + TICKS_TO_WAIT;
now = (now > RTT_MAX_VALUE) ? now - RTT_MAX_VALUE : now;
rtt_set_alarm(now, cb, 0);
puts("Hello");
}
int main(void)
{
puts("\nRIOT RTT low-level driver test");
puts("This test will display 'Hello' every 10 seconds\n");
puts("Initializing the RTT driver");
rtt_init();
puts("Setting initial alarm");
rtt_set_alarm(TICKS_TO_WAIT, cb, 0);
puts("Done setting up the RTT, wait for many Hellos");
return 0;
}
#else
int main(void)
{
puts("\nRIOT RTT low-level driver test");
puts("There are no RTT devices defined for this board!");
return 0;
}
#endif /* RTT_NUMOF */