summaryrefslogtreecommitdiff
path: root/samples
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2016-10-21 21:44:52 -0400
committerAnas Nashif <nashif@linux.intel.com>2016-10-27 22:13:36 +0000
commit36e1e2dbaf2527101ba933262931c9a45d4d14b7 (patch)
tree143a756a0019b8308269bea6f6269d96541466eb /samples
parent5662110ec4fad341701d1edb0cbc5d84b4c07e7e (diff)
move tests from samples to tests/
Change-Id: Ib183936134d27ff84d9af57e8e2e2d9f0cc2670f Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Diffstat (limited to 'samples')
-rw-r--r--samples/drivers/adc/Makefile5
-rw-r--r--samples/drivers/adc/prj.conf2
-rw-r--r--samples/drivers/adc/src/Makefile1
-rw-r--r--samples/drivers/adc/src/main.c93
-rw-r--r--samples/drivers/adc/testcase.ini4
-rw-r--r--samples/drivers/aon_counter/Makefile5
-rw-r--r--samples/drivers/aon_counter/prj.conf2
-rw-r--r--samples/drivers/aon_counter/readme.txt92
-rw-r--r--samples/drivers/aon_counter/src/Makefile1
-rw-r--r--samples/drivers/aon_counter/src/main.c166
-rw-r--r--samples/drivers/aon_counter/testcase.ini4
-rw-r--r--samples/drivers/dma/Makefile5
-rw-r--r--samples/drivers/dma/prj.conf2
-rw-r--r--samples/drivers/dma/src/Makefile3
-rw-r--r--samples/drivers/dma/src/dma.c133
-rw-r--r--samples/drivers/dma/testcase.ini4
-rw-r--r--samples/drivers/uart/Makefile5
-rw-r--r--samples/drivers/uart/prj.conf2
-rw-r--r--samples/drivers/uart/src/Makefile1
-rw-r--r--samples/drivers/uart/src/main.c113
20 files changed, 0 insertions, 643 deletions
diff --git a/samples/drivers/adc/Makefile b/samples/drivers/adc/Makefile
deleted file mode 100644
index 601d75890..000000000
--- a/samples/drivers/adc/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-BOARD ?= quark_se_c1000_ss_devboard
-KERNEL_TYPE = nano
-CONF_FILE = prj.conf
-
-include ${ZEPHYR_BASE}/Makefile.inc
diff --git a/samples/drivers/adc/prj.conf b/samples/drivers/adc/prj.conf
deleted file mode 100644
index 7428c6f9f..000000000
--- a/samples/drivers/adc/prj.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_ADC=y
-CONFIG_ADC_DEBUG=y
diff --git a/samples/drivers/adc/src/Makefile b/samples/drivers/adc/src/Makefile
deleted file mode 100644
index 00066e156..000000000
--- a/samples/drivers/adc/src/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-obj-y = main.o
diff --git a/samples/drivers/adc/src/main.c b/samples/drivers/adc/src/main.c
deleted file mode 100644
index 29d546c92..000000000
--- a/samples/drivers/adc/src/main.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/* adc.c - ADC test source file */
-
-/*
- * Copyright (c) 2015 Intel Corporation.
- *
- * 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.
- */
-
-#include <zephyr.h>
-
-#include <device.h>
-#include <misc/byteorder.h>
-#include <adc.h>
-#include <misc/printk.h>
-
-#define SLEEPTIME 2
-#define SLEEPTICKS (SLEEPTIME * sys_clock_ticks_per_sec)
-
-#define ADC_DEVICE_NAME "ADC_0"
-
-/*
- * The analog input pin and channel number mapping
- * for Arduino 101 board.
- * A0 Channel 10
- * A1 Channel 11
- * A2 Channel 12
- * A3 Channel 13
- * A4 Channel 14
- */
-#define CHANNEL 10
-#define BUFFER_SIZE 40
-
-static uint8_t seq_buffer[BUFFER_SIZE];
-
-static struct adc_seq_entry sample = {
- .sampling_delay = 12,
- .channel_id = CHANNEL,
- .buffer = seq_buffer,
- .buffer_length = BUFFER_SIZE,
-};
-
-static struct adc_seq_table table = {
- .entries = &sample,
- .num_entries = 1,
-};
-
-static void _print_sample_in_hex(uint8_t *buf, uint32_t length)
-{
- printk("Buffer content:\n");
- for (; length > 0; length -= 4, buf += 4) {
- printk("0x%x ", *((uint32_t *)buf));
- }
- printk("\n");
-}
-
-void main(void)
-{
- struct device *adc;
- struct nano_timer timer;
- uint32_t data[2] = {0, 0};
-
- printk("ADC sample started on %s\n", ADC_DEVICE_NAME);
-
- adc = device_get_binding(ADC_DEVICE_NAME);
- if (!adc) {
- printk("Cannot get adc controller\n");
- return;
- }
-
- nano_timer_init(&timer, data);
- adc_enable(adc);
- while (1) {
- if (adc_read(adc, &table) != 0) {
- printk("Sampling could not proceed, an error occurred\n");
- } else {
- printk("Sampling is done\n");
- _print_sample_in_hex(seq_buffer, BUFFER_SIZE);
- }
- nano_timer_start(&timer, SLEEPTICKS);
- nano_timer_test(&timer, TICKS_UNLIMITED);
- }
- adc_disable(adc);
-}
diff --git a/samples/drivers/adc/testcase.ini b/samples/drivers/adc/testcase.ini
deleted file mode 100644
index 3a54c8950..000000000
--- a/samples/drivers/adc/testcase.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[test]
-build_only = true
-tags = apps
-platform_whitelist = galileo arduino_101_sss quark_d2000_crb
diff --git a/samples/drivers/aon_counter/Makefile b/samples/drivers/aon_counter/Makefile
deleted file mode 100644
index 6377eb866..000000000
--- a/samples/drivers/aon_counter/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-KERNEL_TYPE = nano
-BOARD ?= quark_d2000_crb
-CONF_FILE = prj.conf
-
-include ${ZEPHYR_BASE}/Makefile.inc
diff --git a/samples/drivers/aon_counter/prj.conf b/samples/drivers/aon_counter/prj.conf
deleted file mode 100644
index 9d51e5fcd..000000000
--- a/samples/drivers/aon_counter/prj.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_PRINTK=y
-CONFIG_COUNTER=y
diff --git a/samples/drivers/aon_counter/readme.txt b/samples/drivers/aon_counter/readme.txt
deleted file mode 100644
index 8cc3eef6f..000000000
--- a/samples/drivers/aon_counter/readme.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-Title: Quark Always-on counter and timer test app
-
-Description:
-
-A simple test app to test the AON counter and timer for quark d2000 and Quark SE.
-
---------------------------------------------------------------------------------
-
-Building and Running Project:
-
- make BOARD=quark_d2000_crb
-
---------------------------------------------------------------------------------
-Sample Output:
-
-Always-on counter example app
-Always-on counter started
-Always-on counter value: 125
-Always-on counter value: 218
-Always-on counter value: 310
-Always-on counter value: 401
-Always-on counter value: 493
-Always-on counter value: 586
-Always-on counter value: 678
-Always-on counter value: 769
-Always-on counter value: 862
-Always-on counter value: 952
-Always-on counter value: 1045
-Always-on counter value: 1139
-Always-on counter value: 1233
-Always-on counter value: 1329
-Always-on counter value: 1422
-Always-on counter value: 1518
-Always-on counter value: 1612
-Always-on counter value: 1708
-Always-on counter value: 1802
-Always-on counter value: 1898
-Always-on counter does not support alarm!
-Always-on counter stopped
-Periodic timer example app
-Periodic timer started
-Periodic timer value: ffffff92
-Periodic timer value: ffffff2f
-Periodic timer value: fffffecd
-Periodic timer value: fffffe6a
-Periodic timer value: fffffe09
-Periodic timer value: fffffda6
-Periodic timer value: fffffd45
-Periodic timer value: fffffce4
-Periodic timer value: fffffc83
-Periodic timer value: fffffc22
-Periodic timer value: fffffbc1
-Periodic timer value: fffffb5f
-Periodic timer value: fffffafc
-Periodic timer value: fffffa9a
-Periodic timer value: fffffa37
-Periodic timer value: fffff9d6
-Periodic timer value: fffff973
-Periodic timer value: fffff910
-Periodic timer value: fffff8ae
-Periodic timer value: fffff84d
-Periodic Timer alarm on
-Periodic timer callback data 30
-Periodic timer callback value 9905
-Periodic timer callback data 30
-Periodic timer callback value 9905
-Periodic timer callback data 30
-Periodic timer callback value 9903
-Periodic timer callback data 30
-Periodic timer callback value 9903
-Periodic timer alarm off
-Periodic timer value: 000026c4
-Periodic timer value: 00002661
-Periodic timer value: 000025fe
-Periodic timer value: 0000259b
-Periodic timer value: 00002538
-Periodic timer value: 000024d5
-Periodic timer value: 00002472
-Periodic timer value: 0000240f
-Periodic timer value: 000023ac
-Periodic timer value: 00002348
-Periodic timer value: 000022e5
-Periodic timer value: 00002282
-Periodic timer value: 0000221f
-Periodic timer value: 000021bd
-Periodic timer value: 0000215a
-Periodic timer value: 000020f7
-Periodic timer value: 00002094
-Periodic timer value: 00002032
-Periodic timer value: 00001fcf
-Periodic timer value: 00001f6c
-Periodic timer stopped
diff --git a/samples/drivers/aon_counter/src/Makefile b/samples/drivers/aon_counter/src/Makefile
deleted file mode 100644
index 00066e156..000000000
--- a/samples/drivers/aon_counter/src/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-obj-y = main.o
diff --git a/samples/drivers/aon_counter/src/main.c b/samples/drivers/aon_counter/src/main.c
deleted file mode 100644
index 8e8b623eb..000000000
--- a/samples/drivers/aon_counter/src/main.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 2016 Intel Corporation
- *
- * 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.
- */
-
-#include <zephyr.h>
-
-#include <misc/printk.h>
-
-#include <device.h>
-#include <counter.h>
-
-static void aonpt_example_callback(struct device *dev, void *user_data);
-
-static void free_running_counter_example(void);
-static void periodic_timer_example(void);
-
-void main(void)
-{
- /* test quark Always-on free running counter */
- free_running_counter_example();
-
- /* test quark Always-on periodic timer */
- periodic_timer_example();
-}
-
-static void free_running_counter_example(void)
-{
- volatile uint32_t delay = 0;
- uint32_t c_val = 0, i = 0;
- uint32_t dummy_data = 30;
- uint32_t counter_initial_value = 10000;
-
- struct device *aon_counter_dev;
-
- aon_counter_dev = device_get_binding("AON_COUNTER");
-
- if (!aon_counter_dev) {
- printk("Counter device not found\n");
- return;
- }
-
- printk("Always-on free running counter example app\n");
-
- if (counter_start(aon_counter_dev) != 0) {
- printk("Counter device enabling fail!\n");
- return;
- }
-
- printk("Always-on counter started\n");
-
- /* The AON counter runs from the RTC clock at 32KHz (rather than
- * the system clock which is 32MHz) so we need to spin for a few cycles
- * allow the register change to propagate.
- */
- for (delay = 5000; delay--;) {
- }
-
- for (i = 0; i < 20; i++) {
- for (delay = 500; delay--;) {
- }
-
- c_val = counter_read(aon_counter_dev);
- printk("Always-on counter value: %d\n", c_val);
- }
-
- if (counter_set_alarm(aon_counter_dev, NULL, counter_initial_value,
- (void *)&dummy_data) != 0) {
- printk("Always-on counter does not support alarm!\n");
- }
-
- counter_stop(aon_counter_dev);
-
- printk("Always-on counter stopped\n");
-}
-
-static void periodic_timer_example(void)
-{
- volatile uint32_t delay = 0;
- uint32_t pt_val = 0, i = 0;
- uint32_t dummy_data = 30;
- uint32_t timer_initial_value = 10000;
-
- struct device *aon_periodic_timer_dev = NULL;
-
- aon_periodic_timer_dev = device_get_binding("AON_TIMER");
-
- if (!aon_periodic_timer_dev) {
- printk("Timer device not found\n");
- return;
- }
-
- printk("Periodic timer example app\n");
-
- counter_start(aon_periodic_timer_dev);
-
- printk("Periodic timer started\n");
-
- /* The AON timer runs from the RTC clock at 32KHz (rather than
- * the system clock which is 32MHz) so we need to spin for a few cycles
- * allow the register change to propagate.
- */
- for (delay = 5000; delay--;) {
- }
-
- for (i = 0; i < 20; i++) {
- for (delay = 500; delay--;) {
- }
-
- pt_val = counter_read(aon_periodic_timer_dev);
- printk("Periodic timer value: %x\n", pt_val);
- }
-
- if (counter_set_alarm(aon_periodic_timer_dev, aonpt_example_callback,
- timer_initial_value, (void *)&dummy_data)
- != 0) {
- printk("Periodic Timer was not started yet\n");
- return;
- }
-
- printk("Periodic Timer alarm on\n");
-
- /* long delay for the alarm and callback to happen */
- for (delay = 5000000; delay--;) {
- }
-
- /* callback is turned off */
- if (counter_set_alarm(aon_periodic_timer_dev, NULL,
- timer_initial_value, (void *)&dummy_data)
- != 0) {
- printk("Periodic timer was not started yet\n");
- return;
- }
-
- printk("Periodic timer alarm off\n");
-
- for (i = 0; i < 20; i++) {
- for (delay = 500; delay--;) {
- }
-
- pt_val = counter_read(aon_periodic_timer_dev);
- printk("Periodic timer value: %x\n", pt_val);
- }
-
- counter_stop(aon_periodic_timer_dev);
-
- printk("Periodic timer stopped\n");
-}
-
-static void aonpt_example_callback(struct device *dev, void *user_data)
-{
- printk("Periodic timer callback data %d\n", *((uint32_t *)user_data));
-
- printk("Periodic timer callback value %d\n", counter_read(dev));
-}
diff --git a/samples/drivers/aon_counter/testcase.ini b/samples/drivers/aon_counter/testcase.ini
deleted file mode 100644
index b96118640..000000000
--- a/samples/drivers/aon_counter/testcase.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[test]
-tags = apps
-build_only = true
-platform_whitelist = quark_d2000_crb
diff --git a/samples/drivers/dma/Makefile b/samples/drivers/dma/Makefile
deleted file mode 100644
index 5eee94f78..000000000
--- a/samples/drivers/dma/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-BOARD ?= arduino_101
-KERNEL_TYPE = nano
-CONF_FILE = prj.conf
-
-include ${ZEPHYR_BASE}/Makefile.inc
diff --git a/samples/drivers/dma/prj.conf b/samples/drivers/dma/prj.conf
deleted file mode 100644
index 00839338b..000000000
--- a/samples/drivers/dma/prj.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_DMA=y
-CONFIG_DMA_QMSI=y
diff --git a/samples/drivers/dma/src/Makefile b/samples/drivers/dma/src/Makefile
deleted file mode 100644
index 22016c8cd..000000000
--- a/samples/drivers/dma/src/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-ccflags-y += -I${ZEPHYR_BASE}/include/drivers
-
-obj-y = dma.o
diff --git a/samples/drivers/dma/src/dma.c b/samples/drivers/dma/src/dma.c
deleted file mode 100644
index 3d599986a..000000000
--- a/samples/drivers/dma/src/dma.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/* dma.c - DMA test source file */
-
-/*
- * Copyright (c) 2016 Intel Corporation.
- *
- * 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.
- */
-
-#include <zephyr.h>
-
-#include <device.h>
-#include <dma.h>
-#include <misc/printk.h>
-#include <string.h>
-
-#define SLEEPTIME 1
-#define SLEEPTICKS (SLEEPTIME * sys_clock_ticks_per_sec)
-
-#define TRANSFER_LOOPS (5)
-#define RX_BUFF_SIZE (50)
-
-static const char tx_data[] = "The quick brown fox jumps over the lazy dog";
-static char rx_data[TRANSFER_LOOPS][RX_BUFF_SIZE] = {{ 0 } };
-
-#define DMA_DEVICE_NAME "DMA_0"
-
-volatile uint8_t transfer_count;
-
-static void test_transfer(struct device *dev, void *data)
-{
- int ret;
- struct dma_transfer_config dma_trans = {0};
- uint32_t *chan_id = data;
-
- transfer_count++;
- if (transfer_count < TRANSFER_LOOPS) {
- dma_trans.block_size = strlen(tx_data);
- dma_trans.source_address = (uint32_t *)tx_data;
- dma_trans.destination_address =
- (uint32_t *)rx_data[transfer_count];
-
- ret = dma_transfer_config(dev, *chan_id, &dma_trans);
- if (ret == 0) {
- dma_transfer_start(dev, *chan_id);
- }
- }
-}
-
-static void test_error(struct device *dev, void *data)
-{
- printk("DMA could not proceed, an error occurred\n");
-}
-
-void main(void)
-{
- struct device *dma;
- struct nano_timer timer;
- static uint32_t chan_id;
- uint32_t data[2] = {0, 0};
- struct dma_channel_config dma_chan_cfg = {0};
- struct dma_transfer_config dma_trans = {0};
-
- printk("DMA memory to memory transfer started on %s\n", DMA_DEVICE_NAME);
- printk("Preparing DMA Controller\n");
-
- dma = device_get_binding(DMA_DEVICE_NAME);
- if (!dma) {
- printk("Cannot get dma controller\n");
- return;
- }
-
- dma_chan_cfg.channel_direction = MEMORY_TO_MEMORY;
- dma_chan_cfg.source_transfer_width = TRANS_WIDTH_8;
- dma_chan_cfg.destination_transfer_width = TRANS_WIDTH_8;
- dma_chan_cfg.source_burst_length = BURST_TRANS_LENGTH_1;
- dma_chan_cfg.destination_burst_length = BURST_TRANS_LENGTH_1;
- dma_chan_cfg.dma_transfer = test_transfer;
- dma_chan_cfg.dma_error = test_error;
-
- chan_id = 0;
- dma_chan_cfg.callback_data = (void *)&chan_id;
-
- if (dma_channel_config(dma, chan_id, &dma_chan_cfg)) {
- printk("Error: configuration\n");
- return;
- }
-
- printk("Starting the transfer and waiting for 1 second\n");
- dma_trans.block_size = strlen(tx_data);
- dma_trans.source_address = (uint32_t *)tx_data;
- dma_trans.destination_address = (uint32_t *)rx_data[transfer_count];
-
- if (dma_transfer_config(dma, chan_id, &dma_trans)) {
- printk("ERROR: transfer config\n");
- return;
- }
-
- if (dma_transfer_start(dma, chan_id)) {
- printk("ERROR: transfer start\n");
- return;
- }
-
- nano_timer_init(&timer, data);
- nano_timer_start(&timer, SLEEPTICKS);
- nano_timer_test(&timer, TICKS_UNLIMITED);
-
- if (transfer_count < TRANSFER_LOOPS) {
- transfer_count = TRANSFER_LOOPS;
- printk("ERROR: unfinished transfer\n");
- if (dma_transfer_stop(dma, chan_id)) {
- printk("ERROR: transfer stop\n");
- }
- }
-
- printk("Each RX buffer should contain the full TX buffer string.\n");
- printk("TX data: %s\n", tx_data);
-
- for (int i = 0; i < TRANSFER_LOOPS; i++) {
- printk("RX data Loop %d: %s\n", i, rx_data[i]);
- }
-
- printk("Finished: DMA\n");
-}
diff --git a/samples/drivers/dma/testcase.ini b/samples/drivers/dma/testcase.ini
deleted file mode 100644
index c28ea1622..000000000
--- a/samples/drivers/dma/testcase.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[test]
-build_only = true
-tags = apps
-platform_whitelist = arduino_101 quark_d2000_crb quark_se_c1000_devboard
diff --git a/samples/drivers/uart/Makefile b/samples/drivers/uart/Makefile
deleted file mode 100644
index 0e36b1c76..000000000
--- a/samples/drivers/uart/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-KERNEL_TYPE = nano
-BOARD ?= quark_se_c1000_devboard
-CONF_FILE = prj.conf
-
-include ${ZEPHYR_BASE}/Makefile.inc
diff --git a/samples/drivers/uart/prj.conf b/samples/drivers/uart/prj.conf
deleted file mode 100644
index 7142f4666..000000000
--- a/samples/drivers/uart/prj.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_SERIAL=y
-CONFIG_UART_INTERRUPT_DRIVEN=y \ No newline at end of file
diff --git a/samples/drivers/uart/src/Makefile b/samples/drivers/uart/src/Makefile
deleted file mode 100644
index 00066e156..000000000
--- a/samples/drivers/uart/src/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-obj-y = main.o
diff --git a/samples/drivers/uart/src/main.c b/samples/drivers/uart/src/main.c
deleted file mode 100644
index 933ddfad4..000000000
--- a/samples/drivers/uart/src/main.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2016 Intel Corporation
- *
- * 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.
- */
-
-#include <string.h>
-
-#include <device.h>
-#include <uart.h>
-#include <zephyr.h>
-
-static const char *banner1 = "Send any character to the UART device\r\n";
-static const char *banner2 = "Character read:\r\n";
-
-static volatile bool data_transmitted;
-static volatile bool data_arrived;
-static char new_data;
-
-static void write_string(struct device *dev, const char *str, int len)
-{
- for (int i = 0; i < len; i++)
- uart_poll_out(dev, str[i]);
-}
-
-static void test_by_polling(struct device *dev)
-{
- unsigned char data;
-
- write_string(dev, banner1, strlen(banner1));
-
- /* Poll in the character */
- while (uart_poll_in(dev, &data) == -1)
- ;
-
- write_string(dev, banner2, strlen(banner2));
- write_string(dev, &data, 1);
- write_string(dev, "\r\n", 2);
-}
-
-static void interrupt_handler(struct device *dev)
-{
- uart_irq_update(dev);
-
- if (uart_irq_tx_ready(dev)) {
- data_transmitted = true;
- }
-
- if (uart_irq_rx_ready(dev)) {
- uart_fifo_read(dev, &new_data, 1);
- data_arrived = true;
- }
-}
-
-static void read_char_irq(struct device *dev, char *data)
-{
- uart_irq_rx_enable(dev);
-
- data_arrived = false;
- while (data_arrived == false)
- ;
- *data = new_data;
-
- uart_irq_rx_disable(dev);
-}
-
-static void write_buf_irq(struct device *dev, const char *buf, int len)
-{
- int i;
-
- uart_irq_tx_enable(dev);
-
- for (i = 0; i < len; i++) {
- data_transmitted = false;
- while (uart_fifo_fill(dev, &buf[i], 1) == 0)
- ;
- while (data_transmitted == false)
- ;
- }
-
- uart_irq_tx_disable(dev);
-}
-
-static void test_by_irq(struct device *dev)
-{
- char data;
-
- uart_irq_callback_set(dev, interrupt_handler);
-
- write_buf_irq(dev, banner1, strlen(banner1));
- read_char_irq(dev, &data);
- write_buf_irq(dev, banner2, strlen(banner2));
- write_buf_irq(dev, &data, sizeof(data));
- write_buf_irq(dev, "\r\n", 2);
-}
-
-void main(void)
-{
- struct device *dev = device_get_binding(CONFIG_UART_CONSOLE_ON_DEV_NAME);
-
- test_by_polling(dev);
- test_by_irq(dev);
-}