summaryrefslogtreecommitdiff
path: root/ucoolib/hal/uart/test
diff options
context:
space:
mode:
Diffstat (limited to 'ucoolib/hal/uart/test')
-rw-r--r--ucoolib/hal/uart/test/Config4
-rw-r--r--ucoolib/hal/uart/test/Makefile12
-rw-r--r--ucoolib/hal/uart/test/test_uart.cc70
-rw-r--r--ucoolib/hal/uart/test/test_uart_disc.cc128
4 files changed, 0 insertions, 214 deletions
diff --git a/ucoolib/hal/uart/test/Config b/ucoolib/hal/uart/test/Config
deleted file mode 100644
index 4fd7571..0000000
--- a/ucoolib/hal/uart/test/Config
+++ /dev/null
@@ -1,4 +0,0 @@
-[hal/uart]
-rx_buffer = 32
-tx_buffer = 8
-
diff --git a/ucoolib/hal/uart/test/Makefile b/ucoolib/hal/uart/test/Makefile
deleted file mode 100644
index 6989dd2..0000000
--- a/ucoolib/hal/uart/test/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-BASE = ../../../..
-
-TARGETS = host stm32f4
-PROGS = test_uart
-stm32f4_PROGS = test_uart_disc
-test_uart_SOURCES = test_uart.cc
-test_uart_disc_SOURCES = test_uart_disc.cc
-
-MODULES = hal/uart
-test_uart_disc_MODULES = $(MODULES) base/test hal/usb
-
-include $(BASE)/build/top.mk
diff --git a/ucoolib/hal/uart/test/test_uart.cc b/ucoolib/hal/uart/test/test_uart.cc
deleted file mode 100644
index 7752342..0000000
--- a/ucoolib/hal/uart/test/test_uart.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-// ucoolib - Microcontroller object oriented library. {{{
-//
-// Copyright (C) 2013 Nicolas Schodet
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the "Software"),
-// to deal in the Software without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-//
-// }}}
-#include "ucoolib/hal/uart/uart.hh"
-
-#include "ucoolib/arch/arch.hh"
-
-#if defined (TARGET_stm32)
-# include <libopencm3/stm32/f4/rcc.h>
-# include "ucoolib/hal/gpio/gpio.hh"
-#endif
-
-#include "ucoolib/common.hh"
-
-int
-main (int argc, const char **argv)
-{
- ucoo::arch_init (argc, argv);
-#if defined (TARGET_host)
- ucoo::Uart u0, u1 ("uart1");
-#elif defined (TARGET_stm32)
- // D8, D9: UART3
- // C12, D2: UART5
- rcc_peripheral_enable_clock (&RCC_AHB1ENR, RCC_AHB1ENR_IOPCEN);
- rcc_peripheral_enable_clock (&RCC_AHB1ENR, RCC_AHB1ENR_IOPDEN);
- gpio_mode_setup (GPIOC, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO12);
- gpio_mode_setup (GPIOD, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO2 | GPIO8 | GPIO9);
- gpio_set_af (GPIOC, GPIO_AF8, GPIO12);
- gpio_set_af (GPIOD, GPIO_AF8, GPIO2);
- gpio_set_af (GPIOD, GPIO_AF7, GPIO8 | GPIO9);
- ucoo::Uart u0 (2), u1 (4);
- u0.enable (38400, ucoo::Uart::EVEN, 1);
- u1.enable (38400, ucoo::Uart::EVEN, 1);
-#endif
- ucoo::Uart *u[] = { &u0, &u1 };
- char buf[64];
- while (1)
- {
- for (int i = 0; i < (int) lengthof (u); i++)
- {
- if (u[i]->poll ())
- {
- int len = u[i]->read (buf, sizeof (buf));
- u[i]->write (buf, len);
- }
- }
- ucoo::yield ();
- }
-}
-
diff --git a/ucoolib/hal/uart/test/test_uart_disc.cc b/ucoolib/hal/uart/test/test_uart_disc.cc
deleted file mode 100644
index 5e42613..0000000
--- a/ucoolib/hal/uart/test/test_uart_disc.cc
+++ /dev/null
@@ -1,128 +0,0 @@
-// ucoolib - Microcontroller object oriented library. {{{
-//
-// Copyright (C) 2012 Nicolas Schodet
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the "Software"),
-// to deal in the Software without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-//
-// }}}
-#include "ucoolib/hal/uart/uart.hh"
-
-#include "ucoolib/arch/arch.hh"
-#include "ucoolib/hal/gpio/gpio.hh"
-#include "ucoolib/base/test/test.hh"
-
-#include <libopencm3/stm32/f4/rcc.h>
-
-static void
-check_act (ucoo::Stream &ts, ucoo::Stream &u, char n)
-{
- char buf[3 + 16 + 1];
- if (!u.poll ())
- return;
- int r = u.read (buf + 3, 16);
- if (r <= 0)
- {
- buf[3] = '#';
- r = 1;
- }
- buf[0] = '<';
- buf[1] = n;
- buf[2] = ':';
- buf[3 + r] = '>';
- ts.write (buf, 3 + r + 1);
-}
-
-int
-main (int argc, const char **argv)
-{
- ucoo::arch_init (argc, argv);
- ucoo::Stream &ts = ucoo::test_stream ();
- ucoo::Uart u1 (0);
- ucoo::Uart u3 (2);
- ucoo::Uart u4 (3);
- u1.enable (38400, ucoo::Uart::EVEN, 1);
- u3.enable (38400, ucoo::Uart::EVEN, 1);
- u4.enable (38400, ucoo::Uart::EVEN, 1);
- // For this test, shorten B6 & B7 to have a loopback on UART1, shorten C10
- // & C11 to connect UART3 to UART4.
- rcc_peripheral_enable_clock (&RCC_AHB1ENR, RCC_AHB1ENR_IOPBEN
- | RCC_AHB1ENR_IOPCEN);
- gpio_mode_setup (GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE,
- GPIO6 | GPIO7);
- gpio_set_af (GPIOB, GPIO_AF7, GPIO6 | GPIO7);
- gpio_mode_setup (GPIOC, GPIO_MODE_AF, GPIO_PUPD_NONE,
- GPIO10 | GPIO11);
- gpio_set_af (GPIOC, GPIO_AF7, GPIO10);
- gpio_set_af (GPIOC, GPIO_AF8, GPIO11);
- // Loop to report any activity on ports and provide a simple UI.
- char buf[64];
- int buf_i = 0;
- ucoo::Uart *u = &u1;
- while (1)
- {
- check_act (ts, u1, '1');
- check_act (ts, u3, '3');
- check_act (ts, u4, '4');
- while (ts.poll ())
- {
- char c = ts.getc ();
- switch (c)
- {
- case '?':
- static const char help[] =
- "? - help\n"
- "1, 3, 4 - set output uart\n"
- ": - reset output buffer index\n"
- "! - send output buffer\n"
- "O, E, N - change parity to Odd, Even or None\n"
- "any - fill output buffer\n";
- ts.write (help, sizeof (help));
- break;
- case '1':
- u = &u1;
- break;
- case '3':
- u = &u3;
- break;
- case '4':
- u = &u4;
- break;
- case ':':
- buf_i = 0;
- break;
- case '!':
- u->write (buf, buf_i);
- break;
- case 'O':
- u->enable (38400, ucoo::Uart::ODD, 1);
- break;
- case 'E':
- u->enable (38400, ucoo::Uart::EVEN, 1);
- break;
- case 'N':
- u->enable (38400, ucoo::Uart::NONE, 1);
- break;
- default:
- if (buf_i < static_cast<int> (sizeof (buf)))
- buf[buf_i++] = c;
- break;
- }
- }
- }
-}