From f4f37527845e2b316b8199554a757ed0068e6839 Mon Sep 17 00:00:00 2001 From: bernie Date: Thu, 18 May 2006 00:41:47 +0000 Subject: [PATCH] New triface devlib application. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@615 38d2e660-2303-0410-9eaa-f027e97ec537 --- app/triface/appconfig.h | 137 ++++++++++++++++++++++++++++++++++++++++ app/triface/hw/hw_cpu.h | 38 +++++++++++ app/triface/hw/hw_ser.h | 0 app/triface/triface.c | 47 ++++++++++++++ app/triface/triface.mk | 41 ++++++++++++ 5 files changed, 263 insertions(+) create mode 100755 app/triface/appconfig.h create mode 100755 app/triface/hw/hw_cpu.h create mode 100755 app/triface/hw/hw_ser.h create mode 100755 app/triface/triface.c create mode 100755 app/triface/triface.mk diff --git a/app/triface/appconfig.h b/app/triface/appconfig.h new file mode 100755 index 00000000..9bbd9963 --- /dev/null +++ b/app/triface/appconfig.h @@ -0,0 +1,137 @@ +/*! + * \file + * + * + * \brief DevLib configuration options + * + * You should copy this header in your project and rename it to + * "config.h" and delete the CONFIG_ macros for the modules + * you're not using. + * + *

Working with multiple applications

+ * + * If your project is made of multiple DevLib-based applications, + * create a custom "config.h" file in each application subdirectory + * and play with the compiler include path to get the desired result. + * You can share common options by creationg a "config_common.h" header + * and including it from all your "config.h" copies. + * + *

Configuration style

+ * + * For improved compile-time checking of configuration options, + * the preferred way to use a \c CONFIG_ symbol is keeping it + * always defined with a value of either 0 or 1. This lets + * you write tests like this: + * + * \code + * #if CONFIG_FOO + * void foo(void) + * { + * if (CONFIG_BAR) + * bar(); + * } + * #endif // CONFIG_FOO + * \endcode + * + * In most cases, we rely on the optimizer to discard checks + * on constant values and performing dead-code elimination. + * + * \version $Id$ + * \author Bernardo Innocenti + * \author Stefano Fedrigo + */ + +/*#* + *#* $Log$ + *#* Revision 1.1 2006/05/18 00:41:47 bernie + *#* New triface devlib application. + *#* + *#*/ + +#ifndef APPCONFIG_TRIFACE_H +#define APPCONFIG_TRIFACE_H + +/** Baud-rate for the kdebug console */ +#define CONFIG_KDEBUG_BAUDRATE 38400 + +/** + * printf()-style formatter configuration. + * + * \sa PRINTF_DISABLED + * \sa PRINTF_NOMODIFIERS + * \sa PRINTF_REDUCED + * \sa PRINTF_NOFLOAT + * \sa PRINTF_FULL + */ +#define CONFIG_PRINTF PRINTF_FULL + +/** + * Multithreading kernel. + * + * \sa config_kern.h + */ +#define CONFIG_KERNEL 0 + +/** + * \name Serial driver parameters + * \{ + */ + /** [bytes] Size of the outbound FIFO buffer for port 0. */ + #define CONFIG_UART0_TXBUFSIZE 32 + + /** [bytes] Size of the inbound FIFO buffer for port 0. */ + #define CONFIG_UART0_RXBUFSIZE 64 + + /** [bytes] Size of the outbound FIFO buffer for port 1. */ + #define CONFIG_UART1_TXBUFSIZE 32 + + /** [bytes] Size of the inbound FIFO buffer for port 1. */ + #define CONFIG_UART1_RXBUFSIZE 64 + + /** [bytes] Size of the outbound FIFO buffer for SPI port (AVR only). */ + #define CONFIG_SPI_TXBUFSIZE 16 + + /** [bytes] Size of the inbound FIFO buffer for SPI port (AVR only). */ + #define CONFIG_SPI_RXBUFSIZE 32 + + /** Default transmit timeout (ms). Set to -1 to disable timeout support */ + #define CONFIG_SER_TXTIMEOUT -1 + + /** Default receive timeout (ms). Set to -1 to disable timeout support */ + #define CONFIG_SER_RXTIMEOUT -1 + + /** Use RTS/CTS handshake */ + #define CONFIG_SER_HWHANDSHAKE 0 + + /** Default baud rate (set to 0 to disable) */ + #define CONFIG_SER_DEFBAUDRATE 0 + + /** Enable ser_gets() and ser_gets_echo() */ + #define CONFIG_SER_GETS 0 + + /** Enable second serial port in emulator. */ + #define CONFIG_EMUL_UART1 0 + + /** + * Transmit always something on serial port 0 TX + * to avoid interference when sending burst of data, + * using AVR multiprocessor serial mode + */ + #define CONFIG_SER_TXFILL 0 + + #define CONFIG_SER_STROBE 0 +/*\}*/ + +/// Hardware timer selection for drv/timer.c +#define CONFIG_TIMER TIMER_ON_OUTPUT_COMPARE2 + +/// Debug timer interrupt using a strobe pin. +#define CONFIG_TIMER_STROBE 0 + +/// Enable watchdog timer. +#define CONFIG_WATCHDOG 0 + +#endif /* APPCONFIG_TRIFACE_H */ diff --git a/app/triface/hw/hw_cpu.h b/app/triface/hw/hw_cpu.h new file mode 100755 index 00000000..34729cb5 --- /dev/null +++ b/app/triface/hw/hw_cpu.h @@ -0,0 +1,38 @@ +/** + * \file + * + * + * \brief Hardware-specific definitions + * + * \version $Id$ + * + * \author Bernardo Innocenti + */ + +/*#* + *#* $Log$ + *#* Revision 1.1 2006/05/18 00:41:47 bernie + *#* New triface devlib application. + *#* + *#*/ + +#ifndef TRIFACE_HW_H +#define TRIFACE_HW_H + +#include + +/// CPU Clock frequency (14.7456 MHz) +#define CLOCK_FREQ (14745600UL) + + +/* Timer IRQ strobe */ +//#if CONFIG_TIMER_STROBE +// #define TIMER_STROBE_ON ATOMIC(PORTD |= BV(PD0)) +// #define TIMER_STROBE_OFF ATOMIC(PORTD &= ~BV(PD0)) +// #define TIMER_STROBE_INIT ATOMIC(PORTD &= ~BV(PD0); DDRD |= BV(PD0)) +//#endif /* CONFIG_TIMER_STROBE */ + +#endif /* TRIFACE_HW_H */ diff --git a/app/triface/hw/hw_ser.h b/app/triface/hw/hw_ser.h new file mode 100755 index 00000000..e69de29b diff --git a/app/triface/triface.c b/app/triface/triface.c new file mode 100755 index 00000000..c0638081 --- /dev/null +++ b/app/triface/triface.c @@ -0,0 +1,47 @@ +/** + * \file + * + * + * \version $Id$ + * + * \author Marco Benelli + * \author Bernardo Innocenti + * + * \brief Windowing system test. + */ + +/*#* + *#* $Log$ + *#* Revision 1.1 2006/05/18 00:41:47 bernie + *#* New triface devlib application. + *#* + *#*/ + +#include +#include +#include +#include + +int main(void) +{ + kdbg_init(); + timer_init(); +// buz_init(); + + IRQ_ENABLE; + + Serial *host_port = ser_open(0); + ser_setbaudrate(host_port, 38400); + + + // Main loop + for(;;) + { + ser_print(host_port, "Hello, world!\r\n"); + } + + return 0; +} diff --git a/app/triface/triface.mk b/app/triface/triface.mk new file mode 100755 index 00000000..990a68ee --- /dev/null +++ b/app/triface/triface.mk @@ -0,0 +1,41 @@ +# +# $Id$ +# Copyright 2006 Develer S.r.l. (http://www.develer.com/) +# All rights reserved. +# +# Makefile fragment for DevLib demo application. +# +# Author: Bernardo Innocenti +# +# $Log$ +# Revision 1.1 2006/05/18 00:41:47 bernie +# New triface devlib application. +# +# + + +# Set to 1 for debug builds +demo_DEBUG = 1 + +# Our target application +TRG += triface + +triface_CSRC = \ + app/triface/triface.c \ + drv/timer.c \ + drv/ser.c \ + drv/ser_avr.c \ + mware/formatwr.c \ + mware/hex.c \ + +# drv/buzzer.c + +triface_CFLAGS = -Os -D'ARCH=0' -Iapp/triface/hw -Iapp/triface +triface_MCU = atmega128 + +# Debug stuff +ifeq ($(triface_DEBUG),1) + triface_CFLAGS += -D_DEBUG +# triface_PCSRC += drv/kdebug.c +endif + -- 2.25.1