Add triface example.
authorasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 7 May 2010 17:13:25 +0000 (17:13 +0000)
committerasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 7 May 2010 17:13:25 +0000 (17:13 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3632 38d2e660-2303-0410-9eaa-f027e97ec537

83 files changed:
boards/triface/.spec [new file with mode: 0644]
boards/triface/examples/.spec [new file with mode: 0644]
boards/triface/examples/triface/.spec [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_adc.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_afsk.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_ax25.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_battfs.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_dataflash.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_dc_motor.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_debug.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_fat.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_flash25.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_formatwr.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_hashtable.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_heap.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_i2c.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_i2s.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_ini_reader.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_kbd.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_keytag.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_kfile.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_lcd.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_lm75.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_md2.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_monitor.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_nmea.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_parser.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_phase.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_pocketbus.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_proc.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_pwm.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_ramp.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_randpool.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_sem.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_ser.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_signal.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_spi_bitbang.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_stepper.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_tas5706a.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_thermo.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_timer.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_wdt.h [new file with mode: 0644]
boards/triface/examples/triface/cfg/cfg_xmodem.h [new file with mode: 0644]
boards/triface/examples/triface/cmd_ctor.h [new file with mode: 0644]
boards/triface/examples/triface/main.c [new file with mode: 0644]
boards/triface/examples/triface/project.bertos [new file with mode: 0644]
boards/triface/examples/triface/protocol.c [new file with mode: 0644]
boards/triface/examples/triface/protocol.h [new file with mode: 0644]
boards/triface/examples/triface/triface.mk [new file with mode: 0644]
boards/triface/examples/triface/triface_user.mk [new file with mode: 0644]
boards/triface/hw/hw_afsk.h [new file with mode: 0644]
boards/triface/hw/hw_buzzer.h [new file with mode: 0644]
boards/triface/hw/hw_dataflash.c [new file with mode: 0644]
boards/triface/hw/hw_dataflash.h [new file with mode: 0644]
boards/triface/hw/hw_dc_motor.h [new file with mode: 0644]
boards/triface/hw/hw_ft245rl.h [new file with mode: 0644]
boards/triface/hw/hw_i2c_bitbang.h [new file with mode: 0644]
boards/triface/hw/hw_input.h [new file with mode: 0644]
boards/triface/hw/hw_kbd.h [new file with mode: 0644]
boards/triface/hw/hw_lcd.h [new file with mode: 0644]
boards/triface/hw/hw_lm75.h [new file with mode: 0644]
boards/triface/hw/hw_mcp41.c [new file with mode: 0644]
boards/triface/hw/hw_mcp41.h [new file with mode: 0644]
boards/triface/hw/hw_ntc.c [new file with mode: 0644]
boards/triface/hw/hw_ntc.h [new file with mode: 0644]
boards/triface/hw/hw_phase.c [new file with mode: 0644]
boards/triface/hw/hw_phase.h [new file with mode: 0644]
boards/triface/hw/hw_rit128x96.h [new file with mode: 0644]
boards/triface/hw/hw_sd.h [new file with mode: 0644]
boards/triface/hw/hw_ser.h [new file with mode: 0644]
boards/triface/hw/hw_sipo.h [new file with mode: 0644]
boards/triface/hw/hw_spi.h [new file with mode: 0644]
boards/triface/hw/hw_stepper.h [new file with mode: 0644]
boards/triface/hw/hw_tas5706a.h [new file with mode: 0644]
boards/triface/hw/hw_thermo.h [new file with mode: 0644]
boards/triface/hw/hw_tlv5618.h [new file with mode: 0644]
boards/triface/hw/hw_tmp123.h [new file with mode: 0644]
boards/triface/hw/kbd_map.h [new file with mode: 0644]
boards/triface/hw/mcp41_map.h [new file with mode: 0644]
boards/triface/hw/ntc_map.h [new file with mode: 0644]
boards/triface/hw/phase_map.h [new file with mode: 0644]
boards/triface/hw/pwm_map.h [new file with mode: 0644]
boards/triface/hw/thermo_map.h [new file with mode: 0644]

diff --git a/boards/triface/.spec b/boards/triface/.spec
new file mode 100644 (file)
index 0000000..f27383b
--- /dev/null
@@ -0,0 +1 @@
+name = "Triface"
diff --git a/boards/triface/examples/.spec b/boards/triface/examples/.spec
new file mode 100644 (file)
index 0000000..1cb28b5
--- /dev/null
@@ -0,0 +1 @@
+name = "Examples"
diff --git a/boards/triface/examples/triface/.spec b/boards/triface/examples/triface/.spec
new file mode 100644 (file)
index 0000000..5e43157
--- /dev/null
@@ -0,0 +1 @@
+name = 'Triface project'
diff --git a/boards/triface/examples/triface/cfg/cfg_adc.h b/boards/triface/examples/triface/cfg/cfg_adc.h
new file mode 100644 (file)
index 0000000..dd65e13
--- /dev/null
@@ -0,0 +1,110 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for the ADC module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_ADC_H
+#define CFG_ADC_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define ADC_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define ADC_LOG_FORMAT     LOG_FMT_VERBOSE
+
+/**
+ * Clock Frequency for ADC conversion.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_ADC_CLOCK        4800000UL
+
+/**
+ * Minimum time for starting up a conversion [us].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_ADC_STARTUP_TIME 20
+
+/**
+ * Minimum time for sample and hold [us].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_ADC_SHTIME       834
+
+/**
+ * ADC Voltage Reference.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "avr_adc_refs"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_ADC_AVR_REF      ADC_AVR_AVCC
+
+/**
+ * ADC clock divisor from main crystal.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ max = 128
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_ADC_AVR_DIVISOR  2
+
+/**
+ * Enable ADC strobe for debugging ADC ISR.
+ *
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_ADC_STROBE  0
+
+#endif /* CFG_ADC_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_afsk.h b/boards/triface/examples/triface/cfg/cfg_afsk.h
new file mode 100644 (file)
index 0000000..d8bc1d5
--- /dev/null
@@ -0,0 +1,114 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for AFSK1200 modem.
+ *
+ * \version $Id$
+ * \author Francesco Sacchi <asterix@develer.com>
+ */
+
+#ifndef CFG_AFSK_H
+#define CFG_AFSK_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define AFSK_LOG_LEVEL      LOG_LVL_WARN
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define AFSK_LOG_FORMAT     LOG_FMT_TERSE
+
+
+/**
+ * AFSK discriminator filter type.
+ *
+ * $WIZ$ type = "enum"; value_list = "afsk_filter_list"
+ */
+#define CONFIG_AFSK_FILTER AFSK_CHEBYSHEV
+
+
+/**
+ * AFSK receiver buffer length.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_AFSK_RX_BUFLEN 32
+
+/**
+ * AFSK transimtter buffer length.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_AFSK_TX_BUFLEN 32
+
+/**
+ * AFSK DAC sample rate for modem outout.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2400
+ */
+#define CONFIG_AFSK_DAC_SAMPLERATE 9600
+
+/**
+ * AFSK RX timeout in ms, set to -1 to disable.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = -1
+ */
+#define CONFIG_AFSK_RXTIMEOUT 0
+
+
+/**
+ * AFSK Preamble length in [ms], before starting transmissions.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_AFSK_PREAMBLE_LEN 300UL
+
+
+
+/**
+ * AFSK Trailer length in [ms], before stopping transmissions.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_AFSK_TRAILER_LEN 50UL
+
+#endif /* CFG_AFSK_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_ax25.h b/boards/triface/examples/triface/cfg/cfg_ax25.h
new file mode 100644 (file)
index 0000000..64f862f
--- /dev/null
@@ -0,0 +1,76 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for the AX25 protocol module.
+ *
+ * \version $Id$
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef CFG_AX25_H
+#define CFG_AX25_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define AX25_LOG_LEVEL      LOG_LVL_WARN
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define AX25_LOG_FORMAT     LOG_FMT_TERSE
+
+/**
+ * AX25 frame buffer lenght.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 18
+ */
+#define CONFIG_AX25_FRAME_BUF_LEN 330
+
+
+/**
+ * Enable repeaters listing in AX25 frames.
+ * If enabled use 56 addtional bytes of RAM
+ * for each message received.
+ *
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_AX25_RPT_LST 1
+
+#endif /* CFG_AX25_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_battfs.h b/boards/triface/examples/triface/cfg/cfg_battfs.h
new file mode 100644 (file)
index 0000000..fb438a0
--- /dev/null
@@ -0,0 +1,68 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for BattFS module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_BATTFS_H
+#define CFG_BATTFS_H
+
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define BATTFS_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define BATTFS_LOG_FORMAT     LOG_FMT_VERBOSE
+
+/**
+ * Set to 1 to enable free page shuffling.
+ * This increase memories life but makes debugging
+ * more difficult due to its unrepeteable state.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_BATTFS_SHUFFLE_FREE_PAGES 0
+
+
+#endif /* BATTFS */
diff --git a/boards/triface/examples/triface/cfg/cfg_dataflash.h b/boards/triface/examples/triface/cfg/cfg_dataflash.h
new file mode 100644 (file)
index 0000000..8bd7828
--- /dev/null
@@ -0,0 +1,56 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for data flash memory module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_DATAFLASH_H
+#define CFG_DATAFLASH_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define DATAFLASH_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define DATAFLASH_LOG_FORMAT     LOG_FMT_TERSE
+
+#endif /* CFG_DATAFLASH_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_dc_motor.h b/boards/triface/examples/triface/cfg/cfg_dc_motor.h
new file mode 100644 (file)
index 0000000..fd9bac7
--- /dev/null
@@ -0,0 +1,111 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for DC motor module.
+ *
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_DC_MOTOR_H
+#define CFG_DC_MOTOR_H
+
+/**
+ * Number of the DC motors to manage.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NUM_DC_MOTOR       4
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define DC_MOTOR_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define DC_MOTOR_LOG_FORMAT     LOG_FMT_VERBOSE
+
+
+/**
+ * Min value of DC motor speed.
+ * \note Generally this value is the min value of the ADC conversion,
+ * if you use it.
+ *
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_DC_MOTOR_MIN_SPEED              0
+
+
+/**
+ * Max value of DC motor speed.
+ * \note Generally this value is the max value of the ADC conversion,
+ * if you use it.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ max = 65535
+ */
+#define CONFIG_DC_MOTOR_MAX_SPEED         65535
+
+
+/**
+ * Sampling period in millisecond.
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_DC_MOTOR_SAMPLE_PERIOD     40
+
+/**
+ * Amount of millisecond before to read sample.
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_DC_MOTOR_SAMPLE_DELAY       2
+
+/**
+ * This control set which mode the driver use to lock share
+ * resources when we use the preempitive kernel.
+ * If we set to 1 we use the semaphore module otherwise the
+ * driver disable the switch context every time we need to access
+ * to shared sources.
+ *
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_DC_MOTOR_USE_SEM            1
+
+#endif /* CFG_DC_MOTOR_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_debug.h b/boards/triface/examples/triface/cfg/cfg_debug.h
new file mode 100644 (file)
index 0000000..20fec2d
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for Debug module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_DEBUG_H
+#define CFG_DEBUG_H
+
+/**
+ * Debug console port.
+ * $WIZ$ type = "int"; min = 0
+ */
+#define CONFIG_KDEBUG_PORT 1
+
+/**
+ * Baudrate for the debug console.
+ * $WIZ$ type = "int"; min = 300
+ */
+#define CONFIG_KDEBUG_BAUDRATE  115200UL
+
+#endif /* CFG_DEBUG_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_fat.h b/boards/triface/examples/triface/cfg/cfg_fat.h
new file mode 100644 (file)
index 0000000..d418b78
--- /dev/null
@@ -0,0 +1,140 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for Fat module.
+ *
+ * \version $Id$
+ *
+ * \author Luca Ottaviano <lottaviano@develer.com>
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef CFG_FAT_H
+#define CFG_FAT_H
+
+/**
+ * Use word alignment to access FAT structure.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_WORD_ACCESS   0
+#define _WORD_ACCESS CONFIG_FAT_WORD_ACCESS
+
+/**
+ * Enable read functions only.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_FS_READONLY   0
+#define _FS_READONLY CONFIG_FAT_FS_READONLY
+
+/**
+ * Minimization level to remove some functions.
+ * $WIZ$ type = "int"; min = 0; max = 3
+ */
+#define CONFIG_FAT_FS_MINIMIZE 0
+#define _FS_MINIMIZE CONFIG_FAT_FS_MINIMIZE
+
+/**
+ * If enabled, this reduces memory consumption 512 bytes each file object by using a shared buffer.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_FS_TINY 1
+#define        _FS_TINY CONFIG_FAT_FS_TINY
+
+/**
+ * To enable string functions, set _USE_STRFUNC to 1 or 2.
+ * $WIZ$ type = "int"
+ * $WIZ$ supports = "False"
+ */
+#define CONFIG_FAT_USE_STRFUNC 0
+#define        _USE_STRFUNC CONFIG_FAT_USE_STRFUNC
+
+/**
+ * Enable f_mkfs function. Requires CONFIG_FAT_FS_READONLY = 0.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_USE_MKFS 0
+#define        _USE_MKFS (CONFIG_FAT_USE_MKFS && !CONFIG_FAT_FS_READONLY)
+
+/**
+ * Enable f_forward function. Requires CONFIG_FAT_FS_TINY.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_USE_FORWARD 0
+#define        _USE_FORWARD (CONFIG_FAT_USE_FORWARD && CONFIG_FAT_FS_TINY)
+
+/**
+ * Number of volumes (logical drives) to be used.
+ * $WIZ$ type = "int"; min = 1; max = 255
+ */
+#define CONFIG_FAT_DRIVES 1
+#define _DRIVES CONFIG_FAT_DRIVES
+
+/**
+ * Maximum sector size to be handled. (512/1024/2048/4096).
+ * 512 for memory card and hard disk, 1024 for floppy disk, 2048 for MO disk
+ * $WIZ$ type = "int"; min = 512; max = 4096
+ */
+#define CONFIG_FAT_MAX_SS 512
+#define        _MAX_SS CONFIG_FAT_MAX_SS
+
+/**
+ * When _MULTI_PARTITION is set to 0, each volume is bound to the same physical
+ * drive number and can mount only first primaly partition. When it is set to 1,
+ * each volume is tied to the partitions listed in Drives[].
+ * $WIZ$ type = "boolean"
+ * $WIZ$ supports = "False"
+ */
+#define CONFIG_FAT_MULTI_PARTITION 0
+#define        _MULTI_PARTITION CONFIG_FAT_MULTI_PARTITION
+
+/**
+ * Specifies the OEM code page to be used on the target system.
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_FAT_CODE_PAGE 850
+#define _CODE_PAGE CONFIG_FAT_CODE_PAGE
+
+/**
+ * Support for long filenames. Enable only if you have a valid Microsoft license.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_FAT_USE_LFN 0
+#define        _USE_LFN CONFIG_FAT_USE_LFN
+
+/**
+ * Maximum Long File Name length to handle.
+ * $WIZ$ type = "int"; min = 8; max = 255
+ */
+#define CONFIG_FAT_MAX_LFN 255
+#define        _MAX_LFN CONFIG_FAT_MAX_LFN
+
+#endif /* CFG_FAT_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_flash25.h b/boards/triface/examples/triface/cfg/cfg_flash25.h
new file mode 100644 (file)
index 0000000..f7ff219
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for flash25 module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_FLASH25_H
+#define CFG_FLASH25_H
+
+/**
+ * Eeprom memory type.
+ *
+ *$WIZ$ type = "enum"
+ *$WIZ$ value_list = "flash25_list"
+ */
+#define CONFIG_FLASH25 FLASH25_AT25F2048
+
+#endif /* CFG_FALSH25_H */
+
diff --git a/boards/triface/examples/triface/cfg/cfg_formatwr.h b/boards/triface/examples/triface/cfg/cfg_formatwr.h
new file mode 100644 (file)
index 0000000..bac8aca
--- /dev/null
@@ -0,0 +1,65 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for formatted write module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_FORMATWR_H
+#define CFG_FORMATWR_H
+
+/**
+ * printf()-style formatter configuration.
+ * $WIZ$ type = "enum"; value_list = "printf_list"
+ *
+ * \sa PRINTF_DISABLED
+ * \sa PRINTF_NOMODIFIERS
+ * \sa PRINTF_REDUCED
+ * \sa PRINTF_NOFLOAT
+ * \sa PRINTF_FULL
+ */
+#define CONFIG_PRINTF PRINTF_FULL
+
+/**
+ * Size of buffer to format "%" sequences in printf.
+ *
+ * Warning: no check on buffer size is done when formatting, be careful especially
+ * with big numbers and %f formatting.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 4
+ */
+#define CONFIG_FRMWRI_BUFSIZE  134
+
+#endif /* CFG_FORMATWR_H */
+
diff --git a/boards/triface/examples/triface/cfg/cfg_hashtable.h b/boards/triface/examples/triface/cfg/cfg_hashtable.h
new file mode 100644 (file)
index 0000000..7560617
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for hashtable module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_HASHTABLE_H
+#define CFG_HASHTABLE_H
+
+/**
+ * Enable/disable support to declare special hash tables which maintain a copy of
+ * the key internally instead of relying on the hook to extract it from the data.
+ *
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_HT_OPTIONAL_INTERNAL_KEY      1
+
+#endif /* CFG_HASHTABLE_H */
+
+
+
diff --git a/boards/triface/examples/triface/cfg/cfg_heap.h b/boards/triface/examples/triface/cfg/cfg_heap.h
new file mode 100644 (file)
index 0000000..dc4b1fa
--- /dev/null
@@ -0,0 +1,51 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for heap module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_HEAP_H
+#define CFG_HEAP_H
+
+/**
+ * Enable malloc/free like API.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_HEAP_MALLOC     1
+
+#endif /* CFG_HEAP_H */
+
+
diff --git a/boards/triface/examples/triface/cfg/cfg_i2c.h b/boards/triface/examples/triface/cfg/cfg_i2c.h
new file mode 100644 (file)
index 0000000..af36e6b
--- /dev/null
@@ -0,0 +1,90 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for I2C module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_I2C_H
+#define CFG_I2C_H
+
+/**
+*Comunication frequency.
+*
+* $WIZ$ type = "int"
+*/
+#define CONFIG_I2C_FREQ  100000UL
+
+/**
+ * I2C start timeout.
+ * For how many milliseconds the i2c_start
+ * should try to get an ACK before
+ * returning error.
+ *
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_I2C_START_TIMEOUT 100
+
+/**
+ * I2C backend the driver should use.
+ *
+ * I2C_BACKEND_BUILTIN: Use (if present) the builtin i2c hardware.
+ * I2C_BACKEND_BITBANG: Use the emulated bitbang driver.
+ * \see drv/i2c.h for more information.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "i2c_backend"
+ */
+#define CONFIG_I2C_BACKEND I2C_BACKEND_BUILTIN
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define I2C_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define I2C_LOG_FORMAT     LOG_FMT_TERSE
+
+#endif /* CFG_I2C_H */
+
+
diff --git a/boards/triface/examples/triface/cfg/cfg_i2s.h b/boards/triface/examples/triface/cfg/cfg_i2s.h
new file mode 100644 (file)
index 0000000..52fa884
--- /dev/null
@@ -0,0 +1,75 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for I2S module.
+ *
+ * \version $Id$
+ *
+ * \author Luca Ottaviano <lottaviano@develer.com>
+ */
+
+#ifndef CFG_I2S_H
+#define CFG_I2S_H
+
+/**
+ * Length of each play buffer.
+ *
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_PLAY_BUF_LEN    8192
+
+/**
+ * Sampling frequency of the audio file.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min =  32000
+ * $WIZ$ max = 192000
+ */
+#define CONFIG_SAMPLE_FREQ     44100UL
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define I2S_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define I2S_LOG_FORMAT     LOG_FMT_TERSE
+
+#endif /* CFG_I2S_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_ini_reader.h b/boards/triface/examples/triface/cfg/cfg_ini_reader.h
new file mode 100644 (file)
index 0000000..702c78e
--- /dev/null
@@ -0,0 +1,49 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for ini reader module.
+ *
+ * \version $Id$
+ *
+ * \author Luca Ottaviano <lottaviano@develer.com>
+ */
+
+#ifndef CFG_INI_READER_H
+#define CFG_INI_READER_H
+
+/**
+ * Maximum ini file line length (chars).
+ * $WIZ$ type = "int"; min = 1
+ */
+#define CONFIG_INI_MAX_LINE_LEN 64
+
+#endif /* CFG_INI_READER_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_kbd.h b/boards/triface/examples/triface/cfg/cfg_kbd.h
new file mode 100644 (file)
index 0000000..116f331
--- /dev/null
@@ -0,0 +1,59 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for keyboard module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_KBD_H
+#define CFG_KBD_H
+
+/// Keyboard polling method. $WIZ$ supports = "False"
+#define CONFIG_KBD_POLL  KBD_POLL_SOFTINT
+
+/// Enable keyboard event delivery to observers. $WIZ$ type = "boolean"
+#define CONFIG_KBD_OBSERVER  0
+
+/// Enable key beeps. $WIZ$ type = "boolean"
+#define CONFIG_KBD_BEEP  0
+
+/// Enable long pression handler for keys. $WIZ$ type = "boolean"
+#define CONFIG_KBD_LONGPRESS  0
+
+/// Enable calling poor man's scheduler to be called inside kbd_peek. $WIZ$ type = "boolean"
+#define CONFIG_KBD_SCHED 0
+
+#endif /* CFG_KBD_H */
+
diff --git a/boards/triface/examples/triface/cfg/cfg_keytag.h b/boards/triface/examples/triface/cfg/cfg_keytag.h
new file mode 100644 (file)
index 0000000..8bedadf
--- /dev/null
@@ -0,0 +1,61 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for keytag module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_KEYTAG_H
+#define CFG_KEYTAG_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define CONFIG_KEYTAG_LOG_LEVEL        LOG_LVL_ERR
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define CONFIG_KEYTAG_LOG_FORMAT       LOG_FMT_TERSE
+
+/**
+ * Max buffer lenght
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_TAG_MAX_LEN 14U
+
+#endif /* CFG_KEYTAG_H */
+
diff --git a/boards/triface/examples/triface/cfg/cfg_kfile.h b/boards/triface/examples/triface/cfg/cfg_kfile.h
new file mode 100644 (file)
index 0000000..5f63a1e
--- /dev/null
@@ -0,0 +1,61 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for KFile interface module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_KFILE_H
+#define CFG_KFILE_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define KFILE_LOG_LEVEL        LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define KFILE_LOG_FORMAT       LOG_FMT_TERSE
+
+/**
+ * Enable the gets function with echo.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_KFILE_GETS      1
+
+#endif /* CFG_KFILE_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_lcd.h b/boards/triface/examples/triface/cfg/cfg_lcd.h
new file mode 100644 (file)
index 0000000..903ae9a
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for lcd display module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_LCD_H
+#define CFG_LCD_H
+
+/**
+ * Use 4 bit addressing mode.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_LCD_4BIT            0
+
+/**
+ * Use a table to speed up LCD memory addressing.
+ * This will use about 100 bytes of RAM.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_LCD_ADDRESS_FAST    1
+
+/**
+ * LCD setting for 32122A (AVR implementation).
+ * $WIZ$ type = "boolean"
+ * $WIZ$ supports = "avr and False"
+ */
+#define CONFIG_LCD_SOFTINT_REFRESH 0
+
+/**
+ * LCD setting for 32122A (AVR implementation).
+ * $WIZ$ type = "boolean"
+ * $WIZ$ supports = "avr and False"
+ */
+#define CONFIG_LCD_WAIT            1
+
+
+#endif /* CFG_LCD_H */
+
diff --git a/boards/triface/examples/triface/cfg/cfg_lm75.h b/boards/triface/examples/triface/cfg/cfg_lm75.h
new file mode 100644 (file)
index 0000000..91b347a
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for the LM75 sensor temperature.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_LM75_H
+#define CFG_LM75_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define LM75_LOG_LEVEL      LOG_LVL_WARN
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define LM75_LOG_FORMAT     LOG_FMT_TERSE
+
+#endif /* CFG_AX25_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_md2.h b/boards/triface/examples/triface/cfg/cfg_md2.h
new file mode 100644 (file)
index 0000000..22ec7db
--- /dev/null
@@ -0,0 +1,54 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for MD2 module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_MD2_H
+#define CFG_MD2_H
+
+/**
+ * Size of block for MD2 algorithm.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_MD2_BLOCK_LEN    16
+
+/// Use standard permutation in MD2 algorithm. $WIZ$ type = "boolean"
+#define CONFIG_MD2_STD_PERM     0
+
+#endif /* CFG_MD2_H */
+
diff --git a/boards/triface/examples/triface/cfg/cfg_monitor.h b/boards/triface/examples/triface/cfg/cfg_monitor.h
new file mode 100644 (file)
index 0000000..ffe17c0
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti <bernie@codewiz.org>
+ * -->
+ *
+ * \brief Kernel monitor configuration parameters
+ *
+ * \version $Id$
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ */
+
+#ifndef CFG_MONITOR_H
+#define CFG_MONITOR_H
+
+/**
+ * Process monitor.
+ * $WIZ$ type = "autoenabled"
+ */
+#define CONFIG_KERN_MONITOR 0
+
+#endif /*  CFG_MONITOR_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_nmea.h b/boards/triface/examples/triface/cfg/cfg_nmea.h
new file mode 100644 (file)
index 0000000..9249a9a
--- /dev/null
@@ -0,0 +1,85 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for NMEA module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_NMEA_H
+#define CFG_NMEA_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define NMEA_LOG_LEVEL      LOG_LVL_ERR
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define NMEA_LOG_FORMAT     LOG_FMT_TERSE
+
+
+/**
+ * Maximum number of sentence parsers supported.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NMEAP_MAX_SENTENCES         8
+
+/**
+ * Max length of a complete sentence. The standard says 82 bytes, but its probably
+ * better to go at least 128 since some units don't adhere to the 82 bytes
+ * especially for proprietary sentences.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NMEAP_MAX_SENTENCE_LENGTH   255
+
+/**
+ * Max tokens in one sentence. 24 is enough for any standard sentence.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NMEAP_MAX_TOKENS            24
+
+#endif /* CFG_NMEA_H */
+
diff --git a/boards/triface/examples/triface/cfg/cfg_parser.h b/boards/triface/examples/triface/cfg/cfg_parser.h
new file mode 100644 (file)
index 0000000..572b4a2
--- /dev/null
@@ -0,0 +1,46 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for parser module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_PARSER_H
+#define CFG_PARSER_H
+
+
+
+#endif /* CFG_PARSER_H */
+
+
+
diff --git a/boards/triface/examples/triface/cfg/cfg_phase.h b/boards/triface/examples/triface/cfg/cfg_phase.h
new file mode 100644 (file)
index 0000000..5720293
--- /dev/null
@@ -0,0 +1,56 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for phase module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_PHASE_H
+#define CFG_PHASE_H
+
+/**
+ * Max value of the duty cycle on triac.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_TRIAC_MAX_DUTY  100
+
+/**
+ * Max value of the triac power.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_TRIAC_MAX_POWER 100
+
+#endif /* CFG_PHASE_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_pocketbus.h b/boards/triface/examples/triface/cfg/cfg_pocketbus.h
new file mode 100644 (file)
index 0000000..aa0b090
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for pocketbus module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_POCKETBUS_H
+#define CFG_POCKETBUS_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define POCKETBUS_LOG_LEVEL      LOG_LVL_ERR
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define POCKETBUS_LOG_FORMAT     LOG_FMT_TERSE
+
+
+/**
+ *Buffer len for pockebus protocol.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_POCKETBUS_BUFLEN     128
+
+/**
+ * Command replay timeout in milliseconds.
+ * $WIZ$ type = "int"
+ */
+#define CONFIG_POCKETBUS_CMD_REPLY_TIMEOUT   50
+
+#endif /* CFG_POCKETBUS_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_proc.h b/boards/triface/examples/triface/cfg/cfg_proc.h
new file mode 100644 (file)
index 0000000..4a1deb2
--- /dev/null
@@ -0,0 +1,108 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti <bernie@codewiz.org>
+ * -->
+ *
+ * \brief Kernel configuration parameters
+ *
+ * \version $Id$
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ */
+
+#ifndef CFG_PROC_H
+#define CFG_PROC_H
+
+/**
+ * Enable the multithreading kernel.
+ *
+ * $WIZ$ type = "autoenabled"
+ */
+#define CONFIG_KERN 0
+
+/**
+ * Kernel interrupt supervisor. WARNING: Experimental, still incomplete!
+ * $WIZ$ type = "boolean"
+ * $WIZ$ supports = "False"
+ */
+#define CONFIG_KERN_IRQ 0
+
+/**
+ * Preemptive process scheduling.
+ *
+ * $WIZ$ type = "boolean"
+ * $WIZ$ conditional_deps = "timer"
+ */
+#define CONFIG_KERN_PREEMPT 0
+
+/**
+ * Time sharing quantum (a prime number prevents interference effects) [ms].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_KERN_QUANTUM 11
+
+/**
+ * Priority-based scheduling policy.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_KERN_PRI 0
+
+/**
+ * Dynamic memory allocation for processes.
+ * $WIZ$ type = "boolean"
+ * $WIZ$ conditional_deps = "heap"
+ */
+#define CONFIG_KERN_HEAP 0
+
+/**
+ * Size of the dynamic memory pool used by processes.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ */
+#define CONFIG_KERN_HEAP_SIZE 2048L
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define KERN_LOG_LEVEL LOG_LVL_ERR
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define KERN_LOG_FORMAT LOG_FMT_VERBOSE
+
+#endif /*  CFG_PROC_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_pwm.h b/boards/triface/examples/triface/cfg/cfg_pwm.h
new file mode 100644 (file)
index 0000000..6627ee2
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * -->
+ *
+ * \brief Configuration file for PWM module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_PWM_H
+#define CFG_PWM_H
+
+/**
+ * Module logging level.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define PWM_LOG_LEVEL      LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define PWM_LOG_FORMAT     LOG_FMT_VERBOSE
+
+#endif /* CFG_PWM_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_ramp.h b/boards/triface/examples/triface/cfg/cfg_ramp.h
new file mode 100644 (file)
index 0000000..1aeb8a8
--- /dev/null
@@ -0,0 +1,116 @@
+ /**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file Ramp algorithm module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_RAMP_H
+#define CFG_RAMP_H
+
+/**
+ * Define whether the ramp will use floating point calculation within ramp_evaluate().
+ * Otherwise, a less precise fixed point version will be used, which is faster on
+ * platforms which do no support floating point operations.
+ *
+ * \note Floating point operations will be always done within ramp_compute() to
+ * precalculate values, so there has to be at least a floating point emulation support.
+ *
+ * $WIZ$ type = "boolean"
+ */
+#define RAMP_USE_FLOATING_POINT   0
+
+
+#if !RAMP_USE_FLOATING_POINT
+
+       /**
+        * Number of least-significant bits which are stripped away during ramp evaluation.
+        * This setting allows to specify larger ramps at the price of less precision.
+        *
+        * The maximum ramp size allowed is 2^(24 + RAMP_CLOCK_SHIFT_PRECISION), in clocks.
+        * For instance, using RAMP_CLOCK_SHIFT_PRECISION 1, and a 8x prescaler, the maximum
+        * length of a ramp is about 6.7 secs. Raising RAMP_CLOCK_SHIFT_PRECISION to 2
+        * brings the maximum length to 13.4 secs, at the price of less precision.
+        *
+        * ramp_compute() will check that the length is below the maximum allowed through
+        * a runtime assertion.
+        *
+        * \note This macro is used only for the fixed-point version of the ramp.
+        * $WIZ$ type = "int"
+        * $WIZ$ min = 0
+        * $WIZ$ max = 32
+        */
+       #define RAMP_CLOCK_SHIFT_PRECISION 2
+#endif
+
+
+/**
+* Negative pulse width for ramp.
+* $WIZ$ type = "int"
+* $WIZ$ min = 1
+*/
+#define RAMP_PULSE_WIDTH    50
+
+/**
+ * Default ramp time (microsecs).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1000
+ */
+#define RAMP_DEF_TIME     6000000UL
+/**
+ * Default ramp maxfreq (Hz).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define RAMP_DEF_MAXFREQ       5000
+/**
+ * Default ramp minfreq (Hz).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define RAMP_DEF_MINFREQ        200
+/**
+ * Default ramp powerrun (deciampere).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ */
+#define RAMP_DEF_POWERRUN        10
+/**
+ * Default ramp poweridle (Hz).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ */
+#define RAMP_DEF_POWERIDLE        1
+
+#endif /* CFG_RAMP_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_randpool.h b/boards/triface/examples/triface/cfg/cfg_randpool.h
new file mode 100644 (file)
index 0000000..8328598
--- /dev/null
@@ -0,0 +1,56 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for randpool module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_RANDPOOL_H
+#define CFG_RANDPOOL_H
+
+
+/**
+ * Define a size, in byte, of entropy pool.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_SIZE_ENTROPY_POOL   64
+
+/// Enable timer in randpool algo. $WIZ$ type = "boolean"
+#define CONFIG_RANDPOOL_TIMER       1
+
+#endif /* CFG_RANDPOOL_H */
+
+
diff --git a/boards/triface/examples/triface/cfg/cfg_sem.h b/boards/triface/examples/triface/cfg/cfg_sem.h
new file mode 100644 (file)
index 0000000..2a6de7a
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti <bernie@codewiz.org>
+ * -->
+ *
+ * \brief Kernel semaphores configuration parameters.
+ *
+ * \version $Id$
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ */
+
+#ifndef CFG_SEM_H
+#define CFG_SEM_H
+
+/**
+ * Re-entrant mutual exclusion primitives.
+ * $WIZ$ type = "autoenabled"
+ */
+#define CONFIG_KERN_SEMAPHORES  0
+
+#endif /*  CFG_SEM_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_ser.h b/boards/triface/examples/triface/cfg/cfg_ser.h
new file mode 100644 (file)
index 0000000..2f6581c
--- /dev/null
@@ -0,0 +1,222 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for serial module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_SER_H
+#define CFG_SER_H
+
+/**
+ * Example of setting for serial port and
+ * spi port.
+ * Edit these define for your project.
+ */
+
+/**
+ * Size of the outbound FIFO buffer for port 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_UART0_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for port 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_UART0_RXBUFSIZE  32
+
+/**
+ * Size of the outbound FIFO buffer for port 1 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lm3s or lpc2 or (at91 and not atmega8 and not atmega168 and not atmega32)"
+ */
+#define CONFIG_UART1_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for port 1 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lm3s or lpc2 or (at91 and not atmega8 and not atmega168 and not atmega32)"
+ */
+#define CONFIG_UART1_RXBUFSIZE  32
+
+/**
+ * Size of the outbound FIFO buffer for port 2 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lm3s or lpc2"
+ */
+#define CONFIG_UART2_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for port 2 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lm3s or lpc2"
+ */
+#define CONFIG_UART2_RXBUFSIZE  32
+
+/**
+ * Size of the outbound FIFO buffer for port 3 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lpc2"
+ */
+#define CONFIG_UART3_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for port 3 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "lpc2"
+ */
+#define CONFIG_UART3_RXBUFSIZE  32
+
+
+/**
+ * Size of the outbound FIFO buffer for SPI port [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_TXBUFSIZE    32
+
+/**
+ * Size of the inbound FIFO buffer for SPI port [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_RXBUFSIZE    32
+
+/**
+ * Size of the outbound FIFO buffer for SPI port 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_SPI0_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for SPI port 0 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_SPI0_RXBUFSIZE  32
+
+/**
+ * Size of the outbound FIFO buffer for SPI port 1 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_SPI1_TXBUFSIZE  32
+
+/**
+ * Size of the inbound FIFO buffer for SPI port 1 [bytes].
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ * $WIZ$ supports = "at91"
+ */
+#define CONFIG_SPI1_RXBUFSIZE  32
+
+/**
+ * SPI data order.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "ser_order_bit"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_DATA_ORDER  SER_MSB_FIRST
+
+/**
+ * SPI clock division factor.
+ * $WIZ$ type = "int"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_CLOCK_DIV   16
+
+/**
+ * SPI clock polarity: normal low or normal high.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "ser_spi_pol"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_CLOCK_POL        SPI_NORMAL_LOW
+
+/**
+ * SPI clock phase you can choose sample on first edge or
+ * sample on second clock edge.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "ser_spi_phase"
+ * $WIZ$ supports = "avr"
+ */
+#define CONFIG_SPI_CLOCK_PHASE     SPI_SAMPLE_ON_FIRST_EDGE
+
+/**
+ * Default transmit timeout (ms). Set to -1 to disable timeout support.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = -1
+ */
+#define CONFIG_SER_TXTIMEOUT    0
+
+/**
+ * Default receive timeout (ms). Set to -1 to disable timeout support.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = -1
+ */
+#define CONFIG_SER_RXTIMEOUT    0
+
+/**
+ * Use RTS/CTS handshake.
+ * $WIZ$ type = "boolean"
+ * $WIZ$ supports = "False"
+ */
+#define CONFIG_SER_HWHANDSHAKE   0
+
+/**
+ * Default baudrate for all serial ports (set to 0 to disable).
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 0
+ */
+#define CONFIG_SER_DEFBAUDRATE   0UL
+
+/// Enable strobe pin for debugging serial interrupt. $WIZ$ type = "boolean"
+#define CONFIG_SER_STROBE        0
+
+#endif /* CFG_SER_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_signal.h b/boards/triface/examples/triface/cfg/cfg_signal.h
new file mode 100644 (file)
index 0000000..e78a451
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2001, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti <bernie@codewiz.org>
+ * -->
+ *
+ * \brief Kernel signals configuration parameters
+ *
+ * \version $Id$
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ */
+
+#ifndef CFG_SIGNAL_H
+#define CFG_SIGNAL_H
+
+/**
+ * Inter-process signals.
+ * $WIZ$ type = "autoenabled"
+ */
+#define CONFIG_KERN_SIGNALS 0
+
+#endif /*  CFG_SIGNAL_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_spi_bitbang.h b/boards/triface/examples/triface/cfg/cfg_spi_bitbang.h
new file mode 100644 (file)
index 0000000..6e9a96b
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for SPI bitbang module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_SPI_BITBANG_H
+#define CFG_SPI_BITBANG_H
+
+/**
+ * Set data order for emulated SPI.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "ordet_bit_list"
+ */
+#define CONFIG_SPI_DATAORDER  SPI_LSB_FIRST
+
+#endif /* CFG_SPI_BITBANG_H */
+
diff --git a/boards/triface/examples/triface/cfg/cfg_stepper.h b/boards/triface/examples/triface/cfg/cfg_stepper.h
new file mode 100644 (file)
index 0000000..e086065
--- /dev/null
@@ -0,0 +1,70 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for stepper motor module.
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_STEPPER_H
+#define CFG_STEPPER_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define STEPPER_LOG_LEVEL           LOG_LVL_INFO
+
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define STEPPER_LOG_FORMAT          LOG_FMT_TERSE
+
+/**
+ * Max number of the stepper motor.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_NUM_STEPPER_MOTORS    6
+
+/**
+ * Max number of the timer usable on target to drive stepper motor.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_TC_STEPPER_MAX_NUM    6
+
+#endif /* CFG_STEPPER_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_tas5706a.h b/boards/triface/examples/triface/cfg/cfg_tas5706a.h
new file mode 100644 (file)
index 0000000..e1112c0
--- /dev/null
@@ -0,0 +1,51 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for the TAS5706A module.
+ *
+ * \version $Id$
+ * \author Luca Ottaviano <lottaviano@develer.com>
+ */
+
+#ifndef CFG_TAS5706A_H
+#define CFG_TAS5706A_H
+
+/**
+ * Maximum output volume for TAS chip [dB].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = -100
+ * $WIZ$ max = 24
+ */
+#define CONFIG_TAS_MAX_VOL  -39
+
+#endif /* CFG_TAS5706A_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_thermo.h b/boards/triface/examples/triface/cfg/cfg_thermo.h
new file mode 100644 (file)
index 0000000..2734f89
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Configuration file for thermo module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_THERMO_H
+#define CFG_THERMO_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define CONFIG_THERMO_LOG_LEVEL        LOG_LVL_ERR
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define CONFIG_THERMO_LOG_FORMAT       LOG_FMT_TERSE
+
+
+/**
+ * Interval at which thermo control is performed [ms].
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_THERMO_INTERVAL_MS        100
+
+/**
+ * Number of different samples we interpolate over to get the hifi temperature.
+ *
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_THERMO_HIFI_NUM_SAMPLES    10
+
+#endif /* CFG_THERMO_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_timer.h b/boards/triface/examples/triface/cfg/cfg_timer.h
new file mode 100644 (file)
index 0000000..1cff78b
--- /dev/null
@@ -0,0 +1,68 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for timer module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_TIMER_H
+#define CFG_TIMER_H
+
+/**
+ * Hardware timer selection for drv/timer.c.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "timer_select"
+ */
+#define CONFIG_TIMER TIMER_DEFAULT
+
+/**
+ * Debug timer interrupt using a strobe pin.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_TIMER_STROBE  0
+
+/**
+ * Enable asynchronous timers.
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_TIMER_EVENTS  1
+
+/**
+ * Support hi-res timer_usleep().
+ * $WIZ$ type = "boolean"
+ */
+#define CONFIG_TIMER_UDELAY  1
+
+#endif /* CFG_TIMER_H */
diff --git a/boards/triface/examples/triface/cfg/cfg_wdt.h b/boards/triface/examples/triface/cfg/cfg_wdt.h
new file mode 100644 (file)
index 0000000..9f4caae
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for watchdog module.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_WDT_H
+#define CFG_WDT_H
+
+/// Enable watchdog timer. $WIZ$ type = "autoenabled"
+#define CONFIG_WATCHDOG      0
+
+#endif /* CFG_WDT_H */
+
+
diff --git a/boards/triface/examples/triface/cfg/cfg_xmodem.h b/boards/triface/examples/triface/cfg/cfg_xmodem.h
new file mode 100644 (file)
index 0000000..38db735
--- /dev/null
@@ -0,0 +1,79 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for xmodem module.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_XMODEM_H
+#define CFG_XMODEM_H
+
+/**
+ * Module logging level.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_level"
+ */
+#define CONFIG_XMODEM_LOG_LEVEL        LOG_LVL_ERR
+/**
+ * Module logging format.
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define CONFIG_XMODEM_LOG_FORMAT       LOG_FMT_TERSE
+
+
+/// Enable Rx. $WIZ$ type = "boolean"
+#define CONFIG_XMODEM_RECV   1
+
+/// Enable TX. $WIZ$ type = "boolean"
+#define CONFIG_XMODEM_SEND   1
+
+/// Allow a Rx/Tx of 1Kbyte block. $WIZ$ type = "boolean"
+#define CONFIG_XMODEM_1KCRC  1
+
+/**
+ * Max retries before giving up.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_XMODEM_MAXRETRIES     15
+
+/**
+ * Max retries before switching to BCC.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 1
+ */
+#define CONFIG_XMODEM_MAXCRCRETRIES   7
+
+#endif /* CFG_XMODEM_H */
+
diff --git a/boards/triface/examples/triface/cmd_ctor.h b/boards/triface/examples/triface/cmd_ctor.h
new file mode 100644 (file)
index 0000000..0e38c83
--- /dev/null
@@ -0,0 +1,59 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
+ * -->
+ *
+ * \brief Macro for defining command for protocol.
+ *
+ * \author Marco Benelli <marco@develer.com>
+ */
+
+#ifndef CMD_CTOR_H
+#define CMD_CTOR_H
+
+#include <mware/parser.h>
+
+#define REGISTER_FUNCTION parser_register_cmd
+
+#define REGISTER_CMD(NAME) REGISTER_FUNCTION(&cmd_ ## NAME ## _template)
+
+#define MAKE_TEMPLATE(NAME, ARGS, RES, FLAGS)                          \
+const struct CmdTemplate cmd_ ## NAME ## _template =                   \
+{                                                                      \
+       #NAME, ARGS, RES, cmd_ ## NAME, FLAGS                           \
+};
+
+#define MAKE_CMD(NAME, ARGS, RES, BODY, FLAGS)                         \
+static ResultCode cmd_ ## NAME (parms *args)                           \
+{                                                                      \
+       return (ResultCode)BODY;                                        \
+}                                                                      \
+MAKE_TEMPLATE(NAME, ARGS, RES, FLAGS)
+
+#endif // CMD_CTOR_H
diff --git a/boards/triface/examples/triface/main.c b/boards/triface/examples/triface/main.c
new file mode 100644 (file)
index 0000000..74ed75e
--- /dev/null
@@ -0,0 +1,113 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2006, 2008, 2010 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
+ *
+ * -->
+ *
+ * \author Marco Benelli <marco@develer.com>
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ * \author Daniele Basile <asterix@develer.com>
+ *
+ * \brief Triface application.
+ *
+ * This application manage some devices, like buzzer, digital in/out or analogic input.
+ * To controll all devices the application provide the interactive shell
+ * that allow the user to send commands to the board. All commands are generate
+ * throuth the macro, that convert its parameters, at compile time, to C function.
+ * In this way is more simple to implement the new command. Other that, the application,
+ * automaticly, parse this new command from the shell and call the our function.
+ * Actually this application runs on custom hardware, that you can see the scheme on bertos
+ * site, this hardware is able to read the tags string that come from rfid reader and
+ * print this on another serial port. The main scope of this function is to create
+ * the automatic opendoor, reading the tag key that will pass on the rfid reader.
+ */
+
+#include "protocol.h"
+
+#include "hw/hw_input.h"
+
+#include <cfg/macros.h>
+
+#include <drv/timer.h>
+#include <drv/buzzer.h>
+#include <drv/ser.h>
+#include <drv/adc.h>
+
+#include <mware/parser.h>
+#include <net/keytag.h>
+
+static Serial fd_ser;
+static Serial tag_ser;
+
+static void init(void)
+{
+       IRQ_ENABLE;
+       kdbg_init();
+       timer_init();
+       adc_init();
+       buz_init();
+
+       INPUT_INIT;
+}
+
+int main(void)
+{
+       init();
+
+       /* Initialize Tag serial port and data structure */
+       TagPacket pkt;
+
+       /* Open the main communication port */
+       ser_init(&fd_ser, SER_UART1);
+       ser_setbaudrate(&fd_ser, 115200);
+
+       /* Tag reader serial port */
+       ser_init(&tag_ser, SER_UART0);
+       ser_setbaudrate(&tag_ser, 9600);
+
+       /* Init the tag parser */
+       keytag_init(&pkt, &fd_ser.fd, &tag_ser.fd);
+
+       protocol_init(&fd_ser.fd);
+
+       while (1)
+       {
+               protocol_run(&fd_ser.fd);
+
+               uint8_t buf[CONFIG_TAG_MAX_LEN];
+               int len;
+               /* Read the new tag, if this is avaible */
+               if ((len = keytag_recv(&pkt, buf, sizeof(buf))) != EOF)
+                       kfile_write(&fd_ser.fd, buf, len);
+       }
+
+       return 0;
+}
+
diff --git a/boards/triface/examples/triface/project.bertos b/boards/triface/examples/triface/project.bertos
new file mode 100644 (file)
index 0000000..a063a20
--- /dev/null
@@ -0,0 +1,93 @@
+(dp0
+S'BERTOS_PATH'
+p1
+S'../../../..'
+p2
+sS'SELECTED_FREQ'
+p3
+V14745600
+p4
+sS'WIZARD_VERSION'
+p5
+I3
+sS'PROJECT_NAME'
+p6
+Vtriface
+p7
+sS'TOOLCHAIN'
+p8
+(dp9
+Vtarget
+p10
+Vavr
+p11
+sVthread
+p12
+Vsingle
+p13
+sVconfigured
+p14
+V../configure --prefix=/usr/local/avr-4.1.2 --target=avr --enable-languages=c --disable-nls --disable-libssp --with-dwarf2
+p15
+sVversion
+p16
+V4.1.2
+p17
+sVbuild
+p18
+VDeveler s.r.l. 20070824
+p19
+sVpath
+p20
+V/localhome/toolchain/avr/bin/avr-gcc
+p21
+ssS'ENABLED_MODULES'
+p22
+(lp23
+S'buzzer'
+p24
+aS'ser'
+p25
+aS'parser'
+p26
+aS'keytag'
+p27
+aS'formatwr'
+p28
+aS'readline'
+p29
+aS'adc'
+p30
+aS'sprintf'
+p31
+aS'kfile'
+p32
+aS'hashtable'
+p33
+aS'timer'
+p34
+aS'sipo'
+p35
+aS'debug'
+p36
+asS'CPU_NAME'
+p37
+VATmega1281
+p38
+sS'PROJECT_HW_PATH'
+p39
+S'../..'
+p40
+sS'PROJECT_SRC_PATH'
+p41
+S'.'
+p42
+sS'PRESET'
+p43
+I01
+sS'OUTPUT'
+p44
+(lp45
+S'codelite'
+p46
+as.
\ No newline at end of file
diff --git a/boards/triface/examples/triface/protocol.c b/boards/triface/examples/triface/protocol.c
new file mode 100644 (file)
index 0000000..900531e
--- /dev/null
@@ -0,0 +1,383 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2006 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
+ *
+ * -->
+ *
+ * \brief Implementation of the command protocol between the board and the host
+ *
+ *
+ * \author Giovanni Bajo <rasky@develer.com>
+ * \author Marco Benelli <marco@develer.com>
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#include "protocol.h"
+#include "cmd_ctor.h"  // MAKE_CMD, REGISTER_CMD
+#include "verstag.h"
+
+#include "hw/hw_input.h"
+
+#include <drv/adc.h>
+#include <drv/timer.h>
+#include <drv/ser.h>
+#include <drv/sipo.h>
+#include <avr/wdt.h>
+#include <drv/buzzer.h>
+
+#include <mware/readline.h>
+#include <mware/parser.h>
+
+#include <cfg/compiler.h>
+#include <cfg/debug.h>
+
+#include <kern/kfile.h>
+
+#include <stdlib.h>
+#include <string.h>
+
+// Define the format string for ADC
+#define ADC_FORMAT_STR "dddd"
+#define ADC_CHANNEL_NUM    4
+
+// DEBUG: set to 1 to force interactive mode
+#define FORCE_INTERACTIVE         1
+
+/**
+ * True if we are in interactive mode, false if we are in protocol mode.
+ * In interactive mode, commands are read through readline() (prompt,
+ * completion, history) without IDs, and replies/errors are sent to the serial
+ * output.
+ * In protocol mode, we implement the default protocol
+ */
+static bool interactive;
+
+/// Readline context, used for interactive mode.
+static struct RLContext rl_ctx;
+
+static Sipo fd_sipo;
+
+uint8_t reg_status_dout;
+/**
+ * Send a NAK asking the host to send the current message again.
+ *
+ * \a fd kfile handler for serial.
+ * \a err  human-readable description of the error for debug purposes.
+ */
+INLINE void NAK(KFile *fd, const char *err)
+{
+#ifdef _DEBUG
+       kfile_printf(fd, "NAK \"%s\"\r\n", err);
+#else
+       kfile_printf(fd, "NAK\r\n");
+#endif
+}
+
+static void protocol_prompt(KFile *fd)
+{
+       kfile_print(fd, ">> ");
+}
+
+/*
+ * Print args on s, with format specified in t->result_fmt.
+ * Return number of valid arguments or -1 in case of error.
+ */
+static bool protocol_reply(KFile *fd, const struct CmdTemplate *t,
+                         const parms *args)
+{
+       unsigned short offset = strlen(t->arg_fmt) + 1;
+       unsigned short nres = strlen(t->result_fmt);
+
+       for (unsigned short i = 0; i < nres; ++i)
+       {
+               if (t->result_fmt[i] == 'd')
+               {
+                       kfile_printf(fd, " %ld", args[offset+i].l);
+               }
+               else if (t->result_fmt[i] == 's')
+               {
+                       kfile_printf(fd, " %s", args[offset+i].s);
+               }
+
+               else
+               {
+                       abort();
+               }
+       }
+       kfile_printf(fd, "\r\n");
+       return true;
+}
+
+static void protocol_parse(KFile *fd, const char *buf)
+{
+       const struct CmdTemplate *templ;
+
+       /* Command check.  */
+       templ = parser_get_cmd_template(buf);
+       if (!templ)
+       {
+               kfile_print(fd, "-1 Invalid command.\r\n");
+               protocol_prompt(fd);
+               return;
+       }
+
+       parms args[PARSER_MAX_ARGS];
+
+       /* Args Check.  TODO: Handle different case. see doc/PROTOCOL .  */
+       if (!parser_get_cmd_arguments(buf, templ, args))
+       {
+               kfile_print(fd, "-2 Invalid arguments.\r\n");
+               protocol_prompt(fd);
+               return;
+       }
+
+       /* Execute. */
+       if(!parser_execute_cmd(templ, args))
+       {
+               NAK(fd, "Error in executing command.");
+       }
+       if (!protocol_reply(fd, templ, args))
+       {
+               NAK(fd, "Invalid return format.");
+       }
+
+       protocol_prompt(fd);
+       return;
+}
+
+void protocol_run(KFile *fd)
+{
+       /**
+        * \todo to be removed, we could probably access the serial FIFO
+        * directly
+        */
+       static char linebuf[80];
+
+       if (!interactive)
+       {
+               kfile_gets(fd, linebuf, sizeof(linebuf));
+
+               // reset serial port error anyway
+               kfile_clearerr(fd);
+
+               // check message minimum length
+               if (linebuf[0])
+               {
+                       /* If we enter lines beginning with sharp(#)
+                       they are stripped out from commands */
+                       if(linebuf[0] != '#')
+                       {
+                               if (linebuf[0] == 0x1B && linebuf[1] == 0x1B)  // ESC
+                               {
+                                       interactive = true;
+                                       kfile_printf(fd, "Entering interactive mode\r\n");
+                               }
+                               else
+                               {
+                                       protocol_parse(fd, linebuf);
+                               }
+                       }
+               }
+       }
+       else
+       {
+               const char *buf;
+
+               /*
+                * Read a line from serial. We use a temporary buffer
+                * because otherwise we would have to extract a message
+                * from the port immediately: there might not be any
+                * available, and one might get free while we read
+                * the line. We also add a fake ID at the start to
+                * fool the parser.
+                */
+               buf = rl_readline(&rl_ctx);
+
+               /* If we enter lines beginning with sharp(#)
+               they are stripped out from commands */
+               if(buf && buf[0] != '#')
+               {
+                       if (buf[0] != '\0')
+                       {
+                               // exit special case to immediately change serial input
+                               if (!strcmp(buf, "exit") || !strcmp(buf, "quit"))
+                               {
+                                       rl_clear_history(&rl_ctx);
+                                       kfile_printf(fd, "Leaving interactive mode...\r\n");
+                                       interactive = FORCE_INTERACTIVE;
+                               }
+                               else
+                               {
+                                       //TODO: remove sequence numbers
+                                       linebuf[0] = '0';
+                                       linebuf[1] = ' ';
+
+                                       strncpy(linebuf + 2, buf, sizeof(linebuf) - 3);
+                                       linebuf[sizeof(linebuf) - 1] = '\0';
+                                       protocol_parse(fd, linebuf);
+                               }
+                       }
+               }
+       }
+}
+
+/*
+ * Commands.
+ * TODO: Command declarations and definitions should be in another file(s).
+ * Maybe we should use CMD_HUNK_TEMPLATE.
+ *
+ */
+
+MAKE_CMD(ver, "", "ddd",
+({
+       args[1].l = VERS_MAJOR;
+       args[2].l = VERS_MINOR;
+       args[3].l = VERS_REV;
+       0;
+}), 0);
+
+/* Sleep. Example of declaring function body directly in macro call.  */
+MAKE_CMD(sleep, "d", "",
+({
+       timer_delay((mtime_t)args[1].l);
+       0;
+}), 0)
+
+/* Ping.  */
+MAKE_CMD(ping, "", "",
+({
+       //Silence "args not used" warning.
+       (void)args;
+       0;
+}), 0)
+
+/* Dout  */
+MAKE_CMD(dout, "d", "",
+({
+       kfile_putc((uint8_t)args[1].l, &fd_sipo.fd);
+
+       //Store status of dout ports.
+       reg_status_dout = (uint8_t)args[1].l;
+       0;
+}), 0)
+
+/* rdout  read the status of out ports.*/
+MAKE_CMD(rdout, "", "d",
+({
+       args[1].l = reg_status_dout;
+       0;
+}), 0)
+
+
+/* Reset */
+MAKE_CMD(reset, "", "",
+({
+       //Silence "args not used" warning.
+       (void)args;
+       wdt_enable(WDTO_2S);
+
+       /*We want to have an infinite loop that lock access on watchdog timer.
+       This piece of code it's equivalent to a while(true), but we have done this because
+       gcc generate a warning message that suggest to use "noreturn" parameter in function reset.*/
+       ASSERT(args);
+       while(args);
+       0;
+
+}), 0)
+
+/* Din */
+MAKE_CMD(din, "", "d",
+({
+       args[1].l = INPUT_GET();
+       0;
+}), 0)
+
+
+
+/* Ain */
+MAKE_CMD(ain, "", ADC_FORMAT_STR,
+({
+       STATIC_ASSERT((sizeof(ADC_FORMAT_STR) - 1) == ADC_CHANNEL_NUM);
+       for(int i = 0; i < ADC_CHANNEL_NUM; i++)
+               args[i+1].l = adc_read(i);
+
+       0;
+}), 0)
+
+/* Beep  */
+MAKE_CMD(beep, "d", "",
+({
+       buz_beep(args[1].l);
+       0;
+}), 0)
+
+/* Register commands.  */
+static void protocol_registerCmds(void)
+{
+       REGISTER_CMD(ver);
+       REGISTER_CMD(sleep);
+       REGISTER_CMD(ping);
+       REGISTER_CMD(dout);
+       //Set off all dout ports.
+       reg_status_dout = 0;
+       REGISTER_CMD(rdout);
+       REGISTER_CMD(reset);
+       REGISTER_CMD(din);
+       REGISTER_CMD(ain);
+       REGISTER_CMD(beep);
+}
+
+/* Initialization: readline context, parser and register commands.  */
+void protocol_init(KFile *fd)
+{
+       /* SPI Port Initialization */
+       fd_sipo.load_device = TRIFACE_DOUT;
+       fd_sipo.bit_order = SIPO_DATAORDER_LSB;
+       fd_sipo.clock_pol = SIPO_START_LOW;
+       fd_sipo.load_pol = SIPO_LOW_TO_HIGH;
+
+       sipo_init(&fd_sipo);
+
+       interactive = FORCE_INTERACTIVE;
+
+       rl_init_ctx(&rl_ctx);
+       //rl_setprompt(&rl_ctx, ">> ");
+       rl_sethook_get(&rl_ctx, (getc_hook)kfile_getc, fd);
+       rl_sethook_put(&rl_ctx, (putc_hook)kfile_putc, fd);
+       rl_sethook_match(&rl_ctx, parser_rl_match, NULL);
+       rl_sethook_clear(&rl_ctx, (clear_hook)kfile_clearerr,fd);
+
+       parser_init();
+
+       protocol_registerCmds();
+
+       protocol_prompt(fd);
+}
diff --git a/boards/triface/examples/triface/protocol.h b/boards/triface/examples/triface/protocol.h
new file mode 100644 (file)
index 0000000..8075bc8
--- /dev/null
@@ -0,0 +1,50 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2006 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
+ *
+ * -->
+ *
+ * \brief Implementation of the command protocol between the board and the host
+ *
+ * \author Marco Benelli <marco@develer.com>
+ */
+
+
+#ifndef PROTOCOL_H
+#define PROTOCOL_H
+
+#include <drv/sipo.h>
+
+#include <kern/kfile.h>
+
+void protocol_init(KFile *fd);
+void protocol_run(KFile *fd);
+
+#endif // PROTOOCOL_H
diff --git a/boards/triface/examples/triface/triface.mk b/boards/triface/examples/triface/triface.mk
new file mode 100644 (file)
index 0000000..095c4a6
--- /dev/null
@@ -0,0 +1,108 @@
+#
+# Wizard autogenerated makefile.
+# DO NOT EDIT, use the triface_user.mk file instead.
+#
+
+# Constants automatically defined by the selected modules
+triface_DEBUG = 1
+
+# Our target application
+TRG += triface
+
+triface_PREFIX = "avr-"
+
+triface_SUFFIX = ""
+
+triface_SRC_PATH = boards/triface/examples/triface
+
+triface_HW_PATH = boards/triface
+
+ifeq ($(CPU), atmega1281)
+       triface_hfuse = 0x98
+       triface_lfuse = 0x3d
+       triface_efuse = 0x7f
+       triface_lock = 0x2f
+else
+       triface_hfuse = 0x88
+       triface_lfuse = 0xff
+       triface_efuse = 0xff
+       triface_lock = 0x2f
+endif
+
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE triface_USER_CSRC INSTEAD!
+triface_WIZARD_CSRC = \
+       bertos/kern/kfile.c \
+       bertos/mware/readline.c \
+       bertos/mware/event.c \
+       bertos/net/keytag.c \
+       bertos/drv/sipo.c \
+       bertos/cpu/avr/drv/adc_avr.c \
+       bertos/struct/hashtable.c \
+       bertos/mware/formatwr.c \
+       bertos/mware/sprintf.c \
+       bertos/drv/buzzer.c \
+       bertos/drv/adc.c \
+       bertos/drv/timer.c \
+       bertos/cpu/avr/drv/timer_avr.c \
+       bertos/mware/parser.c \
+       bertos/cpu/avr/drv/ser_avr.c \
+       bertos/drv/ser.c \
+       bertos/mware/hex.c \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE triface_USER_PCSRC INSTEAD!
+triface_WIZARD_PCSRC = \
+       bertos/mware/sprintf.c \
+       bertos/mware/formatwr.c \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE triface_USER_CPPASRC INSTEAD!
+triface_WIZARD_CPPASRC = \
+        \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE triface_USER_CXXSRC INSTEAD!
+triface_WIZARD_CXXSRC = \
+        \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE triface_USER_ASRC INSTEAD!
+triface_WIZARD_ASRC = \
+        \
+       #
+
+triface_CPPFLAGS = -D'CPU_FREQ=(14745600UL)' -D'ARCH=(ARCH_DEFAULT)' -D'WIZ_AUTOGEN' -I$(triface_HW_PATH) -I$(triface_SRC_PATH) $(triface_CPU_CPPFLAGS) $(triface_USER_CPPFLAGS)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+triface_LDFLAGS = $(triface_CPU_LDFLAGS) $(triface_WIZARD_LDFLAGS) $(triface_USER_LDFLAGS)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+triface_CPPAFLAGS = $(triface_CPU_CPPAFLAGS) $(triface_WIZARD_CPPAFLAGS) $(triface_USER_CPPAFLAGS)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+triface_CSRC = $(triface_CPU_CSRC) $(triface_WIZARD_CSRC) $(triface_USER_CSRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+triface_PCSRC = $(triface_CPU_PCSRC) $(triface_WIZARD_PCSRC) $(triface_USER_PCSRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+triface_CPPASRC = $(triface_CPU_CPPASRC) $(triface_WIZARD_CPPASRC) $(triface_USER_CPPASRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+triface_CXXSRC = $(triface_CPU_CXXSRC) $(triface_WIZARD_CXXSRC) $(triface_USER_CXXSRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+triface_ASRC = $(triface_CPU_ASRC) $(triface_WIZARD_ASRC) $(triface_USER_ASRC)
+
+# CPU specific flags and options, defined in the CPU definition files.
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+triface_MCU = atmega1281
+triface_CPU_CPPFLAGS = -Os -Ibertos/cpu/avr/
+triface_PROGRAMMER_CPU = atmega1281
+triface_STOPFLASH_SCRIPT = bertos/prg_scripts/avr/stopflash.sh
+triface_STOPDEBUG_SCRIPT = bertos/prg_scripts/none.sh
+triface_DEBUG_SCRIPT = bertos/prg_scripts/nodebug.sh
+triface_FLASH_SCRIPT = bertos/prg_scripts/avr/flash.sh
+
+include $(triface_SRC_PATH)/triface_user.mk
diff --git a/boards/triface/examples/triface/triface_user.mk b/boards/triface/examples/triface/triface_user.mk
new file mode 100644 (file)
index 0000000..acf3cad
--- /dev/null
@@ -0,0 +1,44 @@
+#
+# User makefile.
+# Edit this file to change compiler options and related stuff.
+#
+
+# Programmer interface configuration, see http://dev.bertos.org/wiki/ProgrammerInterface for help
+triface_PROGRAMMER_TYPE = none
+triface_PROGRAMMER_PORT = none
+
+# Files included by the user.
+triface_USER_CSRC = \
+    $(triface_SRC_PATH)/main.c \
+    triface/protocol.c \
+    #
+
+# Files included by the user.
+triface_USER_PCSRC = \
+       #
+
+# Files included by the user.
+triface_USER_CPPASRC = \
+       #
+
+# Files included by the user.
+triface_USER_CXXSRC = \
+       #
+
+# Files included by the user.
+triface_USER_ASRC = \
+       #
+
+# Flags included by the user.
+triface_USER_LDFLAGS = \
+       #
+
+# Flags included by the user.
+triface_USER_CPPAFLAGS = \
+       #
+
+# Flags included by the user.
+triface_USER_CPPFLAGS = \
+       -fno-strict-aliasing \
+       -fwrapv \
+       #
diff --git a/boards/triface/hw/hw_afsk.h b/boards/triface/hw/hw_afsk.h
new file mode 100644 (file)
index 0000000..ec9b8be
--- /dev/null
@@ -0,0 +1,87 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief AFSK modem hardware-specific definitions.
+ *
+ * \version $Id$
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_AFSK_H
+#define HW_AFSK_H
+
+#include "cfg/cfg_arch.h"
+
+#warning TODO:This is an example implementation, you must implement it!
+
+/**
+ * Initialize the specified channel of the ADC for AFSK needs.
+ * The adc should be configured to have a continuos stream of convertions.
+ * For every convertion there must be an ISR that read the sample
+ * and call afsk_adc_isr(), passing the context and the sample.
+ *
+ * \param ch channel to be used for AFSK demodulation.
+ * \param ctx AFSK context (\see Afsk). This parameter must be saved and
+ *            passed back to afsk_adc_isr() for every convertion.
+ */
+#define AFSK_ADC_INIT(ch, ctx) do { (void)ch, (void)ctx; } while (0)
+
+#define AFSK_STROBE_INIT() do { /* Implement me */ } while (0)
+#define AFSK_STROBE_ON()   do { /* Implement me */ } while (0)
+#define AFSK_STROBE_OFF()  do { /* Implement me */ } while (0)
+
+/**
+ * Initialize the specified channel of the DAC for AFSK needs.
+ * The DAC has to be configured in order to call an ISR for every sample sent.
+ * The DAC doesn't have to start the IRQ immediatly but have to wait
+ * the AFSK driver to call AFSK_DAC_IRQ_START().
+ * The ISR must then call afsk_dac_isr() passing the AFSK context.
+ * \param ch DAC channel to be used for AFSK modulation.
+ * \param ctx AFSK context (\see Afsk).  This parameter must be saved and
+ *             passed back to afsk_dac_isr() for every convertion.
+ */
+#define AFSK_DAC_INIT(ch, ctx)   do { (void)ch, (void)ctx; } while (0)
+
+/**
+ * Start DAC convertions on channel \a ch.
+ * \param ch DAC channel.
+ */
+#define AFSK_DAC_IRQ_START(ch)   do { (void)ch; /* Implement me */ } while (0)
+
+/**
+ * Stop DAC convertions on channel \a ch.
+ * \param ch DAC channel.
+ */
+#define AFSK_DAC_IRQ_STOP(ch)    do { (void)ch; /* Implement me */ } while (0)
+
+#endif /* HW_AFSK_H */
diff --git a/boards/triface/hw/hw_buzzer.h b/boards/triface/hw/hw_buzzer.h
new file mode 100644 (file)
index 0000000..a2b683a
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2006 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
+ *
+ * -->
+ *
+ * \brief Buzzer hardware-specific definitions
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ * \author Andrea Grandi <andrea@develer.com>
+ */
+
+#ifndef HW_BUZZER_H
+#define HW_BUZZER_H
+
+#include <avr/io.h>
+#include <cfg/macros.h>
+
+#define BUZZER_BIT     BV(PE3)
+#define IS_BUZZER_ON   (PORTE & BUZZER_BIT)
+#define BUZZER_HW_INIT  do { DDRE |= BV(DDE3); } while (0)
+#define BUZZER_ON       do { PORTE |= BUZZER_BIT; } while (0)
+#define BUZZER_OFF      do { PORTE &= ~BUZZER_BIT; } while (0)
+
+#endif /* HW_BUZZER_H */
+
diff --git a/boards/triface/hw/hw_dataflash.c b/boards/triface/hw/hw_dataflash.c
new file mode 100644 (file)
index 0000000..844dd92
--- /dev/null
@@ -0,0 +1,126 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Dataflash HW control routines.
+ *
+ * \version $Id$
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#include "hw/hw_dataflash.h"
+
+#include <cfg/compiler.h>
+#include <cfg/module.h>
+#include <cfg/macros.h>
+
+#warning TODO:This is an example implementation, you must implement it!
+
+MOD_DEFINE(hw_dataflash);
+
+/**
+ * Data flash init function.
+ *
+ * This function provide to initialize all that
+ * needs to drive a dataflash memory.
+ * Generaly needs to init pins to drive a CS line
+ * and reset line.
+ */
+void dataflash_hw_init(void)
+{
+
+    //Disable CS line (remove if not needed)
+       dataflash_hw_setCS(false);
+
+       /*
+        * Put here your code!
+        *
+        * Note:
+        * - if you drive manualy CS line, here init a CS pin
+        * - if you use a dedicated reset line, here init a reset pin
+        */
+
+       MOD_INIT(hw_dataflash);
+}
+
+/**
+ * Chip Select drive.
+ *
+ * This function enable or disable a CS line.
+ * You must implement this function comply to a dataflash
+ * memory datasheet to allow the drive to enable a memory
+ * when \p enable flag is true, and disable it when is false.
+ */
+void dataflash_hw_setCS(bool enable)
+{
+       if (enable)
+       {
+               /*
+                * Put here your code to enable
+                * dataflash memory
+                */
+       }
+       else
+       {
+               /*
+                * Put here your code to disable
+                * dataflash memory
+                */
+       }
+}
+
+/**
+ * Reset data flash memory.
+ *
+ * This function provide to send reset signal to
+ * dataflash memory. You must impement it comly to a dataflash
+ * memory datasheet to allow the drive to set a reset pin
+ * when \p enable flag is true, and disable it when is false.
+ *
+ */
+void dataflash_hw_setReset(bool enable)
+{
+       if (enable)
+       {
+               /*
+                * Put here your code to set reset of
+                * dataflash memory
+                */
+       }
+       else
+       {
+               /*
+                * Put here your code to clear reset of
+                * dataflash memory
+                */
+       }
+}
+
diff --git a/boards/triface/hw/hw_dataflash.h b/boards/triface/hw/hw_dataflash.h
new file mode 100644 (file)
index 0000000..5254446
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Dataflash HW control routines (interface).
+ *
+ * \version $Id$
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_DATAFLASH_H
+#define HW_DATAFLASH_H
+
+#include <cfg/compiler.h>
+
+void dataflash_hw_init(void);
+void dataflash_hw_setCS(bool enable);
+void dataflash_hw_setReset(bool enable);
+
+#endif /* HW_DATAFLASH_H */
diff --git a/boards/triface/hw/hw_dc_motor.h b/boards/triface/hw/hw_dc_motor.h
new file mode 100644 (file)
index 0000000..f39388d
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief DC motor hardware-specific definitions
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef HW_DC_MOTOR_H
+#define HW_DC_MOTOR_H
+
+#warning TODO:This is an example implementation, you must implement it!
+
+/**
+ * Define fuctions which read  adc value from specific device
+ */
+ #define HW_DC_MOTOR_READ_VALUE(dev, min, max) \
+       ({ \
+                /* Put here the fuction that read from ADC */ \
+               (void)(dev); \
+               (void)(min); \
+               (void)(max); \
+               (0); \
+       })
+
+// Macro that enable the select DC motor
+#define DC_MOTOR_ENABLE(dev)   /* Implement me! */
+// Macro that disable the select DC motor
+#define DC_MOTOR_DISABLE(dev)  /* Implement me! */
+
+// Macro that left the DC motor rotor float
+#define DC_MOTOR_STOP_FLOAT(dev)    DC_MOTOR_DISABLE(dev)
+// Macro that put in short circuit DC motor supply pins
+#define DC_MOTOR_STOP_BRAKED(dev)   do { /* Implement me! */ } while (0)
+
+// Macro that set motor direction
+#define DC_MOTOR_SET_DIR(dev, dir)  do { /* Implement me! */ } while (0)
+
+#define MOTOR_DC_INIT()             do { /* Implement me! */ } while (0)
+
+
+#endif /* HW_DC_MOTOR_H */
diff --git a/boards/triface/hw/hw_ft245rl.h b/boards/triface/hw/hw_ft245rl.h
new file mode 100644 (file)
index 0000000..cc0c819
--- /dev/null
@@ -0,0 +1,65 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief FT245RL USB interface hardware-specific definitions
+ *
+ * \version $Id$
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_FT245RL_H
+#define HW_FT245RL_H
+
+#warning TODO:This is an example implementation, you must implement it!
+
+#define FT245RL_DATA_IN() /* Implement me! */
+#define FT245RL_DATA_OUT() /* Implement me! */
+#define WR_HI /* Implement me! */
+#define WR_LO /* Implement me! */
+
+#define RD_HI /* Implement me! */
+#define RD_LO /* Implement me! */
+
+#define FT245RL_INIT() \
+do \
+{ \
+       /* Implement me! */ \
+} while(0)
+
+#define FT245RL_DATA_RDY() (/* Implement me! */ false)
+#define FT245RL_GETDATA() ({/* Implement me! */ (0);})
+#define FT245RL_TX_ALLOWED() (/* Implement me! */ false)
+#define FT245RL_SETDATA(data) do {/* Implement me! */ (void)((data)); } while(0)
+
+#endif /* HW_FT245RL_H */
+
diff --git a/boards/triface/hw/hw_i2c_bitbang.h b/boards/triface/hw/hw_i2c_bitbang.h
new file mode 100644 (file)
index 0000000..4822af7
--- /dev/null
@@ -0,0 +1,66 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2006, 2008 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Macro for I2C bitbang operation.
+ *
+ *
+ * \version $Id$
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_I2C_BITBANG_H
+#define HW_I2C_BITBANG_H
+
+#warning TODO:This is an example implementation, you must implement it!
+
+#define SDA_HI  do { /* Implement me:Set SDA High by setting SDA pin as input */ } while (0)
+#define SDA_LO  do { /* Implement me:Set SDA Low by setting SDA pin as open collector output */ } while (0)
+#define SCL_HI  do { /* Implement me:Set SCL High by setting SCL pin as input */ } while (0)
+#define SCL_LO  do { /* Implement me:Set SCL Low by setting SCL pin as open collector output */ } while (0)
+
+
+#define SCL_IN       (true) /* Implement me: read SDA pin state */
+#define SDA_IN       (true) /* Implement me: read SCL pin state */
+
+/**
+ * This macro should set SDA and SCL lines as input.
+ */
+#define I2C_BITBANG_HW_INIT do { /* Implement me! */ } while (0)
+
+/**
+ * Half bit delay routine used to generate the correct timings.
+ */
+#define I2C_HALFBIT_DELAY() do { /* Implement me! */ } while (0)
+
+#endif /* HW_I2C_BITBANG_H */
diff --git a/boards/triface/hw/hw_input.h b/boards/triface/hw/hw_input.h
new file mode 100644 (file)
index 0000000..f0ef721
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2006 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
+ *
+ * -->
+ *
+ * \brief Macro for HW_INPUT_H
+ *
+ * \author Andrea Grandi <andrea@develer.com>
+ */
+
+#ifndef HW_INPUT_H
+#define HW_INPUT_H
+
+#include <avr/io.h>
+
+/* Set pins as input and enable pull-up */
+#define INPUT_INIT_D do                                        \
+{                                                              \
+       (DDRD &= ~(BV(PD4) | BV(PD5) | BV(PD6) | BV(PD7)));     \
+       (PORTD |= (BV(PD4) | BV(PD5) | BV(PD6) | BV(PD7)));     \
+} while(0)
+
+#define INPUT_INIT_E do                                                \
+{                                                              \
+       (DDRE &= ~(BV(PE4) | BV(PE5) | BV(PE6) | BV(PE7)));     \
+       ATOMIC((PORTE |= (BV(PE4) | BV(PE5) | BV(PE6) | BV(PE7))));     \
+} while(0)
+
+#define INPUT_INIT do { INPUT_INIT_D; INPUT_INIT_E;} while(0)
+
+INLINE uint8_t INPUT_GET(void)
+{
+       uint8_t out_d, out_e;
+       out_d = PIND;
+       out_e = PINE;
+
+       out_d >>= 4;
+       out_e = out_e & 0xF0;
+
+       return out_e | out_d;
+}
+
+#endif // HW_INPUT_H
diff --git a/boards/triface/hw/hw_kbd.h b/boards/triface/hw/hw_kbd.h
new file mode 100644 (file)
index 0000000..9ca228c
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2005, 2006, 2008 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Keyboard hardware-specific definitions
+ *
+ * \version $Id$
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ * \author Stefano Fedrigo <a@develer.com>
+ */
+
+#ifndef HW_KBD_H
+#define HW_KBD_H
+
+#include "hw/kbd_map.h"
+
+#include <cfg/macros.h>
+
+#warning TODO:This is an example implementation, you must implement it!
+
+#define K_RPT_MASK (K_UP | K_DOWN | K_OK | K_CANCEL)
+
+#define KBD_HW_INIT \
+       do { \
+                       /* Put here code to init hw */ \
+       } while (0)
+
+EXTERN_C int emul_kbdReadCols(void);
+
+/**
+ * Read the keyboard ports and return the mask of
+ * depressed keys.
+ */
+INLINE keymask_t kbd_readkeys(void)
+{
+       /* Implement me! */
+
+       //Only for test remove when implement this function
+       return 0;
+}
+
+#endif /* HW_KBD_H */
diff --git a/boards/triface/hw/hw_lcd.h b/boards/triface/hw/hw_lcd.h
new file mode 100644 (file)
index 0000000..21b64d4
--- /dev/null
@@ -0,0 +1,162 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2005, 2008 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2001 Bernie Innocenti <bernie@codewiz.org>
+ *
+ * -->
+ *
+ * \brief LCD low-level hardware macros
+ *
+ * \version $Id$
+ *
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ * \author Stefano Fedrigo <aleph@develer.com>
+ *
+ */
+
+#ifndef HW_LCD_H
+#define HW_LCD_H
+
+#include "cfg/cfg_lcd.h"  /* CONFIG_LCD_4BIT */
+#include <cfg/macros.h>   /* BV() */
+#include <cfg/debug.h>
+
+#include <cpu/attr.h>
+#include <cpu/irq.h>
+#include <cpu/types.h>
+
+#warning TODO:This is an example implementation, you must implement it!
+
+/**
+ * \name LCD I/O pins/ports
+ * @{
+ */
+#define LCD_RS    /* Implement me! */
+#define LCD_RW    /* Implement me! */
+#define LCD_E     /* Implement me! */
+#define LCD_DB0   /* Implement me! */
+#define LCD_DB1   /* Implement me! */
+#define LCD_DB2   /* Implement me! */
+#define LCD_DB3   /* Implement me! */
+#define LCD_DB4   /* Implement me! */
+#define LCD_DB5   /* Implement me! */
+#define LCD_DB6   /* Implement me! */
+#define LCD_DB7   /* Implement me! */
+/*@}*/
+
+/**
+ * \name DB high nibble (DB[4-7])
+ * @{
+ */
+
+#if CONFIG_LCD_4BIT
+       #define LCD_MASK    (LCD_DB7 | LCD_DB6 | LCD_DB5 | LCD_DB4)
+       #define LCD_SHIFT   4
+#else
+       #define LCD_MASK (uint8_t)0xff
+       #define LCD_SHIFT 0
+#endif
+/*@}*/
+
+/**
+ * \name LCD bus control macros
+ * @{
+ */
+#define LCD_CLR_RS      /* Implement me! */
+#define LCD_SET_RS      /* Implement me! */
+#define LCD_CLR_RD      /* Implement me! */
+#define LCD_SET_RD      /* Implement me! */
+#define LCD_CLR_E       /* Implement me! */
+#define LCD_SET_E       /* Implement me! */
+
+/* Enter command mode */
+#define LCD_SET_COMMAND() /* Implement me! */
+
+/* Enter data mode */
+#define LCD_SET_DATA() /* Implement me! */
+
+#if CONFIG_LCD_4BIT
+       #define LCD_WRITE_H(x)  ((void)x)/* Implement me! */
+       #define LCD_WRITE_L(x)  ((void)x)/* Implement me! */
+       #define LCD_READ_H      ( 0 /* Implement me! */ )
+       #define LCD_READ_L      ( 0 /* Implement me! */ )
+#else
+       #define LCD_WRITE(x)    ((void)x)/* Implement me! */
+       #define LCD_READ        (0 /* Implement me! */ )
+#endif
+/*@}*/
+
+/** Set data bus direction to output (write to display) */
+#define LCD_DB_OUT          /* Implement me! */
+
+/** Set data bus direction to input (read from display) */
+#define LCD_DB_IN           /* Implement me! */
+
+/** Delay for write (Enable pulse width, 220ns) */
+#define LCD_DELAY_WRITE \
+       do { \
+               NOP; \
+               NOP; \
+               NOP; \
+               NOP; \
+               NOP; \
+       } while (0)
+
+/** Delay for read (Data ouput delay time, 120ns) */
+#define LCD_DELAY_READ \
+       do { \
+               NOP; \
+               NOP; \
+               NOP; \
+               NOP; \
+       } while (0)
+
+
+INLINE void lcd_bus_init(void)
+{
+       cpu_flags_t flags;
+       IRQ_SAVE_DISABLE(flags);
+
+       /*
+        * Here set bus pin!
+        * to init a lcd device.
+        *
+        */
+
+       /*
+        * Data bus is in output state most of the time:
+        * LCD r/w functions assume it is left in output state
+        */
+       LCD_DB_OUT;
+
+
+       IRQ_RESTORE(flags);
+}
+
+#endif /* HW_LCD_H */
diff --git a/boards/triface/hw/hw_lm75.h b/boards/triface/hw/hw_lm75.h
new file mode 100644 (file)
index 0000000..290dae0
--- /dev/null
@@ -0,0 +1,49 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Hardware macro definition.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef HW_LM75_H
+#define HW_LM75_H
+
+#warning TODO:This is an example implentation, you must implement it!
+
+#define LM75_HW_INIT() \
+       do { \
+       /* Pin init */\
+       } while (0)
+
+#endif /* HW_LM75_H */
+
diff --git a/boards/triface/hw/hw_mcp41.c b/boards/triface/hw/hw_mcp41.c
new file mode 100644 (file)
index 0000000..dc2a051
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
+ * -->
+ *
+ * \brief MCP41 hardware-specific definitions
+ *
+ * \version $Id$
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#include "hw/hw_mcp41.h"
+
+#include <cfg/macros.h>
+#include <cfg/compiler.h>
+
+#warning TODO:This is an example implementation, you must implement it!
+
+const uint16_t mcp41_ports[MCP41_CNT] = 
+{
+               0, /* add here mcp41 ports */ 
+};
+const uint8_t  mcp41_pins [MCP41_CNT] = 
+{
+               0, /* add here mcp41 ports */ 
+};
+
diff --git a/boards/triface/hw/hw_mcp41.h b/boards/triface/hw/hw_mcp41.h
new file mode 100644 (file)
index 0000000..645b6da
--- /dev/null
@@ -0,0 +1,75 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2005 Develer S.r.l. (http://www.develer.com/)
+ * -->
+ *
+ * \brief MCP41 hardware-specific definitions
+ *
+ * \version $Id$
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_MCP41_H
+#define HW_MCP41_H
+
+#include "hw/mcp41_map.h"
+
+#include <cfg/compiler.h>
+
+
+#warning TODO:This is an example implementation, you must implement it!
+
+
+INLINE void SET_MCP41_DDR(Mcp41Dev dev)
+{
+               /* Implement me! */
+               //Warning: this funtions is like avr target name,
+               //fix it to comply for all target.
+
+               //Only for test remove when implement this function
+               (void)dev;
+}
+
+INLINE void MCP41_ON(Mcp41Dev i)
+{
+               /* Implement me! */
+
+               //Only for test remove when implement this function
+               (void)i;
+}
+
+INLINE void MCP41_OFF(Mcp41Dev i)
+{
+               /* Implement me! */
+
+               //Only for test remove when implement this function
+               (void)i;
+}
+
+#endif /* HW_MCP41_H */
diff --git a/boards/triface/hw/hw_ntc.c b/boards/triface/hw/hw_ntc.c
new file mode 100644 (file)
index 0000000..3048725
--- /dev/null
@@ -0,0 +1,46 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief NTC hardware-specific definition
+ *
+ * \version $Id$
+ * \author Lorenzo Berni <duplo@develer.com>
+ * 
+ */
+
+#include <drv/ntc.h>
+#include "hw/ntc_map.h"
+
+const res_t      NTC_RSER[NTC_CNT];
+const res_t      NTC_RPAR[NTC_CNT];
+const amp_t      NTC_AMP[NTC_CNT];
+const NtcHwInfo* NTC_INFO[NTC_CNT];
diff --git a/boards/triface/hw/hw_ntc.h b/boards/triface/hw/hw_ntc.h
new file mode 100644 (file)
index 0000000..49152a4
--- /dev/null
@@ -0,0 +1,136 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief NTC hardware-specific definition
+ *
+ * \version $Id$
+ * \author Francesco Sacchi <batt@develer.com>
+ *
+ * A NTC acts as a variable resistor, whose resistance changes as a
+ * function of the temperature it measures. To sample it correctly, it is
+ * usually parallelized and serialized with two fixed resistor. The following diagram shows
+ * what is the exact disposition of the components, as handled by this
+ * library:
+ *
+ *<pre>
+ *                 o Vref
+ *                 |
+ *                 |                               o Vref
+ *                 |                               |
+ *               -----                             |
+ *              |     |                        ---------
+ *              | Rser|                       |         |
+ *              |     |                       |         |
+ *               -----     -----              |   ADC   |
+ *                 | Vp   |     |             |         |
+ *      -----------|------| Amp |-------------|         |
+ *     |           |      |     |      Vadc   |         |
+ *   -----       -----     -----               ---------
+ *  |     |     |     |
+ *  | NTC |     | Rpar|
+ *  |     |     |     |
+ *   -----       -----
+ *     |           |
+ *     |           |
+ *   -----       -----
+ *    ---         ---
+ *</pre>
+ * Amp is an amplifier that amplify of AMP times the signal.
+ * If we indicate Rp as the parallel of NTC with Rpar, ADCBITS as the bits of the ad converter
+ * and ADCVAL as the result from the adc convertion (Not Vadc but just the value read
+ * from the adc register), after various calculation, the expression of Rp is:
+ *
+ *<pre>
+ *
+ *            ADCVAL * Rser
+ * Rp = ------------------------
+ *         ADCBITS
+ *     2         * AMP - ADCVAL
+ *</pre>
+ *
+ * And after that NTC obvisiously is:
+ *<pre>
+ *        Rpar * Rp
+ * NTC = ----------
+ *        Rpar - Rp
+ *</pre>
+ *
+ *
+ * The function ntc_hw_read() compute the resistence using these formulas above.
+ */
+
+#ifndef HW_NTC_H
+#define HW_NTC_H
+
+#include "ntc_map.h"
+
+#include <cfg/debug.h>
+
+#include <drv/ntc.h>
+#include <drv/adc.h>
+
+#warning TODO:This is an example implementation, you must implement it!
+
+extern const res_t      NTC_RSER[NTC_CNT];
+extern const res_t      NTC_RPAR[NTC_CNT];
+extern const amp_t      NTC_AMP[NTC_CNT];
+extern const NtcHwInfo* NTC_INFO[NTC_CNT];
+
+
+/*!
+ * Read the resistence of ntc device \a dev.
+ * Return the result in res_t type.
+ */
+INLINE res_t ntc_hw_read(NtcDev dev)
+{
+       ASSERT(dev < NTC_CNT);
+       // See above for formula explanation.
+       adcread_t adcval = adc_read((uint16_t)dev);
+       float rp = (adcval * NTC_RSER[dev] ) / ((1 << adc_bits()) * NTC_AMP[dev] - adcval);
+
+       //kprintf("Rp[%f], Rntc[%f]\n", rp/100, ((NTC_RPAR[dev] * rp) / (NTC_RPAR[dev] - rp)) / 100.0);
+
+       return ( (NTC_RPAR[dev] * rp) / (NTC_RPAR[dev] - rp) );
+}
+
+
+/*!
+ * Return the info (aka the table) associated with ntc device \a dev.
+ */
+INLINE const NtcHwInfo* ntc_hw_getInfo(NtcDev dev)
+{
+       return NTC_INFO[dev];
+}
+
+#define NTC_HW_INIT    do  { /* Implement me! */ } while(0)
+
+#endif /* HW_NTC_H */
diff --git a/boards/triface/hw/hw_phase.c b/boards/triface/hw/hw_phase.c
new file mode 100644 (file)
index 0000000..54509ef
--- /dev/null
@@ -0,0 +1,46 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Phase control hardware-specific definitions
+ *
+ * \version $Id$
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_PHASE_H
+#define HW_PHASE_H
+
+#include "hw/hw_phase.h"
+
+#warning TODO:This is an example implementation, you must implement it!
+
+#endif /* HW_PHASE_H */
diff --git a/boards/triface/hw/hw_phase.h b/boards/triface/hw/hw_phase.h
new file mode 100644 (file)
index 0000000..7649e70
--- /dev/null
@@ -0,0 +1,80 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief Phase control hardware-specific definitions
+ *
+ * \version $Id$
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_PHASE_H
+#define HW_PHASE_H
+
+#include "hw/phase_map.h"
+
+#include <cfg/compiler.h>
+
+#warning TODO:This is an example implementation, you must implement it!
+
+#define PHASE_HW_INIT  do { /* Implement me! */ }while (0)
+
+INLINE void TRIAC_OFF(TriacDev i)
+{
+               /* Implement me! */
+
+               //Only for test remove when implement this function
+               (void)i;
+}
+
+
+INLINE void TRIAC_ON(TriacDev i)
+{
+               /* Implement me! */
+
+               //Only for test remove when implement this function
+               (void)i;
+}
+
+INLINE void SET_TRIAC_DDR(TriacDev i)
+{
+               /* Implement me! */
+
+               //Only for test remove when implement this function
+               (void)i;
+}
+
+void zerocross_isr(void);
+#define DEFINE_ZEROCROSS_ISR() void zerocross_isr(void)
+
+
+#endif /* HW_PHASE_H */
diff --git a/boards/triface/hw/hw_rit128x96.h b/boards/triface/hw/hw_rit128x96.h
new file mode 100644 (file)
index 0000000..f9c2291
--- /dev/null
@@ -0,0 +1,78 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
+ *
+ * -->
+ *
+ * \brief LM3S1986: OLED-RIT-128x96 (P14201) low-level hardware macros
+ *
+ * \author Andrea Righi <arighi@develer.com>
+ */
+
+#ifndef HW_RIT128x96_H
+#define HW_RIT128x96_H
+
+#include "cfg/macros.h"   /* BV() */
+#include "cfg/debug.h"
+
+#include <cpu/attr.h>
+#include <cpu/irq.h>
+#include <cpu/types.h>
+
+/**
+ * \name LCD I/O pins/ports
+ * @{
+ */
+/* OLED Data/Command control pin */
+#define GPIO_OLEDDC_PIN 0 /* Implement me! */
+
+/* OLED enable pin */
+#define GPIO_OLEDEN_PIN 0 /* Implement me! */
+/*@}*/
+
+/**
+ * \name LCD bus control macros
+ * @{
+ */
+/* Enter command mode */
+#define LCD_SET_COMMAND() /* Implement me! */
+
+/* Enter data mode */
+#define LCD_SET_DATA() /* Implement me! */
+
+/* Send data to the display */
+#define LCD_WRITE(x)    ((void)x)/* Implement me! */
+/*@}*/
+
+INLINE void lcd_bus_init(void)
+{
+       /* Implement me! */
+}
+
+#endif /* HW_RIT128x96_H */
diff --git a/boards/triface/hw/hw_sd.h b/boards/triface/hw/hw_sd.h
new file mode 100644 (file)
index 0000000..d15b550
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief SD driver hardware-specific definitions.
+ *
+ * \version $Id$
+ *
+ * \author Luca Ottaviano <lottaviano@develer.com>
+ */
+
+#ifndef HW_SD_H
+#define HW_SD_H
+
+#warning FIXME: This is an example implementation, you must implement it
+
+#define SD_CS_INIT() do { /* implement me */} while(0)
+#define SD_CS_ON()   do { /* implement me */} while(0)
+#define SD_CS_OFF()  do { /* implement me */} while(0)
+
+#define SD_PIN_INIT()      do { /* implement me */} while(0)
+#define SD_CARD_PRESENT()  true /* implement me */
+#define SD_WRITE_PROTECT() false /* implement me */
+
+#endif /* HW_SD_H */
diff --git a/boards/triface/hw/hw_ser.h b/boards/triface/hw/hw_ser.h
new file mode 100644 (file)
index 0000000..2489c43
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Serial hardware-specific definitions
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef HW_SER_H
+#define HW_SER_H
+
+#include "cfg/cfg_ser.h"
+
+#if CONFIG_SER_STROBE
+       #warning FIXME: this is an example implementation, you must implement it
+
+       #define SER_STROBE_INIT do { /* implement me */ } while (0)
+       #define SER_STROBE_ON do { /* implement me */ } while (0)
+       #define SER_STROBE_OFF do { /* implement me */ } while (0)
+#endif
+
+#endif /* HW_SER_H */
diff --git a/boards/triface/hw/hw_sipo.h b/boards/triface/hw/hw_sipo.h
new file mode 100644 (file)
index 0000000..9922c05
--- /dev/null
@@ -0,0 +1,149 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2006, 2009 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
+ *
+ * -->
+ *
+ * \brief Macro for HW_SIPO_H
+ *
+ *
+ * \author Andrea Grandi <andrea@develer.com>
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef HW_SIPO_H
+#define HW_SIPO_H
+
+#include <cfg/macros.h>
+
+#include <avr/io.h>
+
+/**
+ * Mapping sipo connection on board.
+ * See schematics for more info.
+ */
+typedef enum SipoMap
+{
+       TRIFACE_DOUT = 0,
+
+       SIPO_CNT
+} SipoMap;
+
+
+
+//Set output pin for sipo
+#define SCK_OUT            (DDRB |= BV(PB1))  // Shift register clock input pin
+#define SOUT_OUT           (DDRB |= BV(PB2))  // Serial data input pin
+#define SLOAD_OUT          (DDRB |= BV(PB3))  // Storage register clock input pin
+#define OE_OUT             (DDRG |= BV(PG3))  // Output enable pin
+
+//Define output level
+#define SCK_HIGH           (PORTB |= BV(PB1))
+#define SCK_LOW            (PORTB &= ~BV(PB1))
+#define SOUT_OUT_HIGH      (PORTB |= BV(PB2))
+#define SOUT_OUT_LOW       (PORTB &= ~BV(PB2))
+#define SLOAD_OUT_HIGH     (PORTB |= BV(PB3))
+#define SLOAD_OUT_LOW      (PORTB &= ~BV(PB3))
+#define OE_LOW             (PORTG &= BV(PG3))
+
+/**
+ * Define the macros needed to set the serial input bit of SIPO device
+ * low or high.
+ */
+#define SIPO_SI_HIGH()    SOUT_OUT_HIGH
+#define SIPO_SI_LOW()     SOUT_OUT_LOW
+
+/**
+ * Drive pin to load the bit, presented in serial-in pin,
+ * into sipo shift register.
+ */
+#define SIPO_SI_CLOCK(clk_pol) \
+       do{ \
+               (void)clk_pol; \
+               SCK_HIGH; \
+               SCK_LOW; \
+       }while(0)
+
+/**
+ * Clock the content of shift register to output.
+ */
+#define SIPO_LOAD(device, load_pol) \
+       do { \
+               (void)device; \
+               (void)load_pol; \
+               SLOAD_OUT_HIGH; \
+               SLOAD_OUT_LOW; \
+       }while(0)
+
+/**
+ * Enable the shift register output.
+ */
+#define SIPO_ENABLE() OE_LOW;
+
+/**
+ * Set logic level for load signal
+ */
+#define SIPO_SET_LD_LEVEL(device, load_pol) \
+       do { \
+               (void)device; \
+               if(load_pol) \
+                       SLOAD_OUT_HIGH; \
+               else \
+                       SLOAD_OUT_LOW; \
+       } while (0)
+
+
+/**
+ * Sel logic level for clock signal
+ */
+#define SIPO_SET_CLK_LEVEL(clock_pol) \
+       do { \
+               if(clock_pol) \
+                       SCK_HIGH; \
+               else \
+                       SCK_LOW; \
+       } while (0)
+
+#define SIPO_SET_SI_LEVEL()     SIPO_SI_LOW()
+
+/**
+ * Do everything needed in order to init the SIPO pins.
+ */
+#define SIPO_INIT_PIN() \
+       do { \
+               OE_OUT; \
+               SOUT_OUT; \
+               SCK_OUT; \
+               SLOAD_OUT; \
+               SIPO_ENABLE(); \
+       } while(0)
+
+
+#endif /* HW_SIPO_H */
diff --git a/boards/triface/hw/hw_spi.h b/boards/triface/hw/hw_spi.h
new file mode 100644 (file)
index 0000000..04e4893
--- /dev/null
@@ -0,0 +1,115 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Hardware macro definition.
+ *
+ *
+ * \version $Id$
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef HW_SPI_H
+#define HW_SPI_H
+
+#warning TODO:This is an example implentation, you must implement it!
+
+#include <cfg/macros.h>
+
+/**
+ * SPI pin definition.
+ *
+ * \note CS is assert when level
+ * is low.
+ *
+ * \{
+ */
+#define CS       /* pin */   ///Connect to CS pin of Flash memory.
+#define SCK      /* pin */   ///Connect to SCK pin of Flash memory.
+#define MOSI     /* pin */   ///Connect to SI pin of Flash memory.
+#define MISO     /* pin */   ///Connect to SO pin of Flash memory.
+#define SPI_PORT /* pin */   ///Micro pin PORT register.
+#define SPI_PIN  /* pin */   ///Micro pin PIN register.
+#define SPI_DDR  /* pin */   ///Micro pin DDR register.
+/*\}*/
+
+/**
+ * Pin logic level.
+ *
+ * \{
+ */
+#define MOSI_LOW()       do { /* Implement me! */ } while(0)
+#define MOSI_HIGH()      do { /* Implement me! */ } while(0)
+#define MISO_HIGH()      do { /* Implement me! */ } while(0)
+#define SCK_LOW()        do { /* Implement me! */ } while(0)
+#define SCK_HIGH()       do { /* Implement me! */ } while(0)
+#define CS_LOW()         do { /* Implement me! */ } while(0)
+#define CS_HIGH()        do { /* Implement me! */ } while(0)
+/*\}*/
+
+/**
+ * SPI pin commands.
+ *
+ * \{
+ */
+#define CS_ENABLE()      CS_LOW()
+#define CS_DISABLE()     CS_HIGH()
+#define SS_ACTIVE()      CS_LOW()
+#define SS_INACTIVE()    CS_HIGH()
+#define SCK_INACTIVE()   SCK_LOW()
+#define SCK_ACTIVE()     SCK_HIGH()
+#define CS_OUT()         do { /* Implement me! */ } while(0)
+#define MOSI_IN()        do { /* Implement me! */ } while(0)
+#define MOSI_OUT()       do { /* Implement me! */ } while(0)
+#define IS_MISO_HIGH()  (false /* Implement me! */ )
+#define MISO_IN()        do { /* Implement me! */ } while(0)
+#define MISO_OUT()       do { /* Implement me! */ } while(0)
+#define SCK_OUT()        do { /* Implement me! */ } while(0)
+
+#define SCK_PULSE()\
+       do {\
+                       SCK_HIGH();\
+                       SCK_LOW();\
+       } while (0)
+/*\}*/
+
+
+#define SPI_HW_INIT() \
+       CS_DISABLE();\
+       MOSI_LOW();\
+       SCK_LOW();\
+       MISO_IN();\
+       MOSI_OUT();\
+       SCK_OUT();\
+       CS_OUT();
+
+#endif /* HW_SPI_H */
+
diff --git a/boards/triface/hw/hw_stepper.h b/boards/triface/hw/hw_stepper.h
new file mode 100644 (file)
index 0000000..1314112
--- /dev/null
@@ -0,0 +1,309 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Stepper hardware-specific definitions
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+
+#ifndef HW_STEPPER_H
+#define HW_STEPPER_H
+
+#include <hw/hw_cpufreq.h>
+
+#include <cfg/macros.h>
+
+#include <drv/timer.h>
+
+#warning TODO:This is an example implentation, you must implement it!
+
+#define STEPPER_STROBE_INIT \
+do { \
+               /* put init code for strobe */ \
+} while (0)
+
+
+#define STEPPER_STROBE_ON       do { /* Implement me! */ } while(0)
+#define STEPPER_STROBE_OFF      do { /* Implement me! */ } while(0)
+
+/**
+ * CPU clock frequency is divided by 2^STEPPER_PRESCALER_LOG2 to
+ * obtain stepper clock.
+ */
+#define STEPPER_PRESCALER_LOG2    1
+
+/**
+ * Stepper timer clock frequency.
+ */
+#define STEPPER_CLOCK ((CPU_FREQ) >> STEPPER_PRESCALER_LOG2)
+
+/**
+ * us delay to reset a stepper motor.
+ * This is the time neccessary to reset
+ * the stepper controll chip. (see datasheet for more detail).
+ */
+#define STEPPER_RESET_DELAY 1
+
+/*
+ * Pins define for each stepper
+ */
+#define STEPPER_1_CW_CCW_PIN             0
+#define STEPPER_1_HALF_FULL_PIN          0
+#define STEPPER_1_CONTROL_PIN            0
+#define STEPPER_1_ENABLE_PIN             0
+#define STEPPER_1_RESET_PIN              0
+
+/* put here other stepper motor */
+
+#define STEPPER_1_SET            do { /* Implement me! */ } while(0)
+/* add here the set for other stepper motor */
+
+#define STEPPER_1_CLEAR          do { /* Implement me! */ } while(0)
+/* add here the clear for other stepper motor */
+
+/*
+ * Generic macro definition
+ */
+
+/*
+ * Stepper init macro
+ */
+#define STEPPER_PIN_INIT_MACRO(port, index) do { \
+               /* Add here init pin code */ \
+       } while (0)
+
+/*
+ * Stepper commands macros
+ */
+#define STEPPER_SET_CW(index)             do { /* Implement me! */ } while (0)
+#define STEPPER_SET_CCW(index)            do { /* Implement me! */ } while (0)
+#define STEPPER_SET_HALF(index)           do { /* Implement me! */ } while (0)
+#define STEPPER_SET_FULL(index)           do { /* Implement me! */ } while (0)
+#define STEPPER_SET_CONTROL_LOW(index)    do { /* Implement me! */ } while (0)
+#define STEPPER_SET_CONTROL_HIGHT(index)  do { /* Implement me! */ } while (0)
+#define STEPPER_SET_ENABLE(index)         do { /* Implement me! */ } while (0)
+#define STEPPER_SET_DISABLE(index)        do { /* Implement me! */ } while (0)
+#define STEPPER_SET_RESET_ENABLE(index)   do { /* Implement me! */ } while (0)
+#define STEPPER_SET_RESET_DISABLE(index)  do { /* Implement me! */ } while (0)
+
+
+/*
+ * Reset stepper macro
+ */
+
+#define STEPPER_RESET_MACRO(index) do { \
+               STEPPER_SET_RESET_ENABLE(index); \
+               timer_udelay(STEPPER_RESET_DELAY); \
+               STEPPER_SET_RESET_DISABLE(index); \
+       } while (0)
+
+/*
+ * Set half or full step macro
+ */
+#define STEPPER_SET_STEP_MODE_MACRO(index, flag) do { \
+               if (flag) \
+                       STEPPER_SET_HALF(index); \
+               else \
+                       STEPPER_SET_FULL(index); \
+       } while (0)
+
+/*
+ * Set control status macro
+ */
+#warning TODO: This macro is not implemented (see below)
+
+#define STEPPER_SET_CONTROL_BIT_MACRO(index, flag) do { \
+               /* if (flag) */ \
+                       /* WARNING This macros not implemented */ \
+               /* else */ \
+                       /* WARNING This macros not implemented */ \
+       } while (0)
+
+/*
+ * Set current power macro
+ */
+#warning TODO: This macro is not implemented (see below)
+
+#define STEPPER_SET_POWER_CURRENT_MACRO(index, flag) do { \
+               /* if (flag) */ \
+                       /* WARNING This macrois not implemented */ \
+               /* else */ \
+                       /* WARNING This macrois not implemented */ \
+       } while (0)
+
+/*
+ * Set rotation of stepper motor
+ * - dir = 1: positive rotation
+ * - dir = 0: no motor moviment
+ * - dir = -1: negative rotation
+ *
+ */
+#define STEPPER_SET_DIRECTION_MACRO(index, dir) do { \
+               switch (dir) \
+               { \
+               case 1: \
+                       STEPPER_SET_CW(index); \
+                       break; \
+               case -1: \
+                       STEPPER_SET_CCW(index); \
+                       break; \
+               case 0: \
+                       break; \
+               } \
+       } while (0)
+
+
+/*
+ * Define macros for manage low level of stepper.
+ */
+
+#define STEPPER_INIT()  do { \
+               STEPPER_PIN_INIT_MACRO(A, 1); \
+               /* Add here code for other stepper motor */ \
+       } while (0)
+
+
+/*
+ * Enable select stepper motor
+ */
+#define STEPPER_ENABLE(index) do { \
+               switch (index) \
+               { \
+               case 1: \
+                       STEPPER_SET_ENABLE(1); \
+                       break; \
+                       /* Add here code for other stepper motor */ \
+               } \
+       } while (0)
+
+/*
+ * Enable all stepper connect to micro
+ */
+#define STEPPER_ENABLE_ALL() do { \
+               STEPPER_SET_ENABLE(1); \
+               /* Add here code for other stepper motor */ \
+       } while (0)
+
+/*
+ * Disable select stepper motor
+ */
+#define STEPPER_DISABLE(index) do { \
+               switch (index) \
+               { \
+               case 1: \
+                       STEPPER_SET_DISABLE(1); \
+                       break; \
+                       /* Add here code for other stepper motor */ \
+               } \
+       } while (0)
+
+/*
+ * Disable all stepper connect to micro
+ */
+#define STEPPER_DISABLE_ALL() do { \
+               STEPPER_SET_DISABLE(1); \
+               /* Add here code for other stepper motor */ \
+       } while (0)
+
+/*
+ * Reset selected stepper motor
+ */
+#define STEPPER_RESET(index) do { \
+               switch (index) \
+               { \
+               case 1: \
+                       STEPPER_RESET_MACRO(1); \
+                       break; \
+                       /* Add here code for other stepper motor */ \
+               } \
+       } while (0)
+
+/*
+ * Reset all stepper motor
+ */
+#define STEPPER_RESET_ALL() do { \
+               STEPPER_RESET_MACRO(1) \
+               /* Add here code for other stepper motor */ \
+       } while (0)
+
+// Set half/full step macros
+#define STEPPER_SET_HALF_STEP(index, flag) do { \
+               switch (index) \
+               { \
+               case 1: \
+                       STEPPER_SET_STEP_MODE_MACRO(1, flag); \
+                       break; \
+                       /* Add here code for other stepper motor */ \
+               } \
+       } while (0)
+
+
+// Control status
+#define STEPPER_SET_CONTROL_BIT(index, flag) do { \
+               switch (index) \
+               { \
+               case 1: \
+                       STEPPER_SET_CONTROL_BIT_MACRO(1, flag); \
+                       break; \
+                       /* Add here code for other stepper motor */ \
+               } \
+       } while (0)
+
+
+// Set stepper power current
+#define STEPPER_SET_POWER_CURRENT(index, flag) do { \
+               switch (index) \
+               { \
+               case 1: \
+                       STEPPER_SET_POWER_CURRENT_MACRO(1, flag); \
+                       break; \
+                       /* Add here code for other stepper motor */ \
+               } \
+       } while (0)
+
+// Set rotation dirction of stepper motor
+#define STEPPER_SET_DIRECTION(index, dir) do { \
+               switch (index) \
+               { \
+               case 1: \
+                       STEPPER_SET_DIRECTION_MACRO(1, dir); \
+                       break; \
+                       /* Add here code for other stepper motor */ \
+               } \
+       } while (0)
+
+#endif /* HW_STEPPER_H */
+
+
diff --git a/boards/triface/hw/hw_tas5706a.h b/boards/triface/hw/hw_tas5706a.h
new file mode 100644 (file)
index 0000000..d1e1a2e
--- /dev/null
@@ -0,0 +1,65 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief HW pin handling.
+ *
+ * \version $Id$
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_TAS5706A_H
+#define HW_TAS5706A_H
+
+#include <cfg/macros.h>
+
+#warning FIXME: This is an example implementation, you must implement it
+
+#define TAS5706A_SETPOWERDOWN(val) do { (void) val; /* implement me */ } while (0)
+#define TAS5706A_SETRESET(val)     do { (void) val; /* implement me */ } while (0)
+#define TAS5706A_SETMUTE(val)      do { (void) val; /* implement me */ } while (0)
+
+#define TAS5706A_PIN_INIT() \
+       do { \
+               TAS5706A_SETPOWERDOWN(true); \
+               TAS5706A_SETRESET(true); \
+               TAS5706A_SETMUTE(true); \
+               /* complete me */ \
+       } while (0)
+
+#define TAS5706A_MCLK_INIT() \
+       do { \
+               /* implement me */ \
+       } while(0)
+
+
+#endif /* HW_TAS5706A_H */
diff --git a/boards/triface/hw/hw_thermo.h b/boards/triface/hw/hw_thermo.h
new file mode 100644 (file)
index 0000000..6f47806
--- /dev/null
@@ -0,0 +1,121 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief thermo hardware-specific control functions.
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ *
+ */
+
+#ifndef HW_THERMO_H
+#define HW_THERMO_H
+
+#include "hw/thermo_map.h"
+
+#include <cfg/debug.h>
+
+#include <drv/ntc.h>
+
+
+INLINE ticks_t thermo_hw_timeout(ThermoDev dev)
+{
+       (void)dev;
+       return 0;
+}
+
+/**
+ * This function should return the temperature set tolerance.
+ */
+INLINE deg_t thermo_hw_tolerance(ThermoDev dev)
+{
+       (void)dev;
+       return 0;
+}
+
+/**
+ * Read the temperature of the hw device \a dev.
+ */
+INLINE deg_t thermo_hw_read(ThermoDev dev)
+{
+       ASSERT(dev < THERMO_CNT);
+       /* Put here the code to read current temperature */
+       return 0;
+}
+
+
+/**
+ * Turns off a specific device.
+ * This function is usefull to handle errors.
+ */
+INLINE void thermo_hw_off(ThermoDev dev)
+{
+       ASSERT(dev < THERMO_CNT);
+       /* Put here the code to turn off the thermo device */
+}
+
+/**
+ * Based on the current temperature \a cur_temp and the target temperature \a target,
+ * this function turns on and off specific thermo device.
+ * It may use also PID control for thermo-regolations.
+ */
+INLINE void thermo_hw_set(ThermoDev dev, deg_t target, deg_t cur_temp)
+{
+       ASSERT(dev < THERMO_CNT);
+
+       if (target - cur_temp > 0)
+       {
+               /*
+                * We are leveaving the target temperature, so
+                * turn on the thermo device!
+                */
+       }
+       else
+       {
+               /*
+                * Ok, we are near the target temperature, so
+                * turn off the thermo device!
+                */
+       }
+
+}
+
+#define THERMO_HW_INIT _thermo_hw_init()
+
+/**
+ * Init hw associated with thermo-control.
+ */
+INLINE void _thermo_hw_init(void)
+{
+       /* Init your devices here! */
+}
+
+#endif /* HW_THERMO_H */
diff --git a/boards/triface/hw/hw_tlv5618.h b/boards/triface/hw/hw_tlv5618.h
new file mode 100644 (file)
index 0000000..4a2b420
--- /dev/null
@@ -0,0 +1,69 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief TLV5816 DAC hardware-specific definitions
+ *
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_TLV5816_H
+#define HW_TLV5816_H
+
+#warning TODO:This is an example implementation, you must implement it!
+
+#define TLV5618_CSINIT(pin) \
+do \
+{ \
+       (void)pin; \
+       /* Implement me! */ \
+       TLV5618_CSHIGH(pin); \
+} while(0)
+
+#define TLV5618_CSLOW(pin) \
+do \
+{ \
+       (void)pin; \
+       /* Implement me! */ \
+} while(0)
+
+
+#define TLV5618_CSHIGH(pin) \
+do \
+{ \
+       (void)pin; \
+       /* Implement me! */ \
+} while(0)
+
+
+#endif /* HW_TLV5816_H */
+
diff --git a/boards/triface/hw/hw_tmp123.h b/boards/triface/hw/hw_tmp123.h
new file mode 100644 (file)
index 0000000..adb1858
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Hardware macro definition.
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef HW_TMP123_H
+#define HW_TMP123_H
+
+#warning TODO:This is an example implentation, you must implement it!
+
+#define TMP123_HW_CS_EN()    /* Implement me! */
+#define TMP123_HW_CS_DIS()   /* Implement me! */
+
+#define TMP123_HW_INIT() \
+       do { \
+       /* Pin init */\
+       } while (0)
+
+#endif /* HW_TMP123_H */
+
diff --git a/boards/triface/hw/kbd_map.h b/boards/triface/hw/kbd_map.h
new file mode 100644 (file)
index 0000000..ffe1431
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2003, 2004, 2005, 2006, 2008 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Keyboard map definitions.
+ *
+ * \version $Id$
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ * \author Stefano Fedrigo <a@develer.com>
+ */
+
+#ifndef HW_KBD_MAP_H
+#define HW_KBD_MAP_H
+
+#include <cfg/macros.h>
+
+#warning TODO:This is an example implentation, you must implement it!
+
+
+/**
+ * Type for keyboard mask.
+ */
+typedef uint16_t keymask_t;
+
+/**
+ * \name Keycodes.
+ */
+/*@{*/
+#define K_UP       BV(0)
+#define K_DOWN     BV(1)
+#define K_OK       BV(2)
+#define K_CANCEL   BV(3)
+
+#define K_REPEAT   BV(13) /**< This is a repeated keyevent. */
+#define K_TIMEOUT  BV(14) /**< Fake key event for timeouts. */
+#define K_LONG     BV(15)
+/*@}*/
+
+#define K_LNG_MASK 0
+
+#endif /* HW_KBD_MAP_H */
diff --git a/boards/triface/hw/mcp41_map.h b/boards/triface/hw/mcp41_map.h
new file mode 100644 (file)
index 0000000..6646391
--- /dev/null
@@ -0,0 +1,59 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2006, 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief MCP41 digital potentiometer map definitions.
+ *
+ * \version $Id$
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef MCP41_MAP_H
+#define MCP41_MAP_H
+
+#warning TODO:This is an example implentation, you must implement it!
+
+/** \name Enum for mcp41 pot evices.
+ * \{
+ *
+ */
+typedef enum Mcp41Dev
+{
+       MCP41_LED,
+
+       /* put here other mcp41 device */
+
+       MCP41_CNT,
+} Mcp41Dev;
+/* \} */
+
+#endif /* MCP41_MAP_H */
diff --git a/boards/triface/hw/ntc_map.h b/boards/triface/hw/ntc_map.h
new file mode 100644 (file)
index 0000000..505f1c3
--- /dev/null
@@ -0,0 +1,61 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief NTC map definitions.
+ *
+ * \version $Id$
+ *
+ * \author Giovanni Bajo <rasky@develer.com>
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef NTC_MAP_H
+#define NTC_MAP_H
+
+#include <cfg/compiler.h>
+
+#warning TODO:This is an example implentation, you must implement it!
+
+/*! \name Enum for ntc devices.
+ * \{
+ */
+typedef enum NtcDev
+{
+       NTC_TEST,
+
+       /* Put here your thermo device */
+
+       NTC_CNT
+} NtcDev;
+/* \} */
+
+#endif /* NTC_MAP_H */
diff --git a/boards/triface/hw/phase_map.h b/boards/triface/hw/phase_map.h
new file mode 100644 (file)
index 0000000..7436e5e
--- /dev/null
@@ -0,0 +1,58 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Triac map definitions.
+ *
+ * \version $Id$
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef PHASE_MAP_H
+#define PHASE_MAP_H
+
+#warning TODO:This is an example implentation, you must implement it!
+
+/*! \name Enum for triac devices.
+ * \{
+ */
+typedef enum TriacDev
+{
+       TRIAC_TEST,
+
+       /* Put here other triac device */
+
+       TRIAC_CNT
+} TriacDev;
+/* \} */
+
+#endif /* PHASE_MAP_H */
diff --git a/boards/triface/hw/pwm_map.h b/boards/triface/hw/pwm_map.h
new file mode 100644 (file)
index 0000000..723da2f
--- /dev/null
@@ -0,0 +1,61 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ *
+ * \brief PWM map device.
+ *
+ * \version $Id$
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef HW_PWM_MAP_H
+#define HW_PWM_MAP_H
+
+#warning TODO:This is an example implentation, you must implement it!
+
+typedef enum
+{
+       PWM_CH0 = 0,
+       PWM_CH1,
+       PWM_CH2,
+       PWM_CH3,
+
+/*     
+ *     add other PWM channel or
+ *     change above.
+ */
+
+       PWM_CNT
+} PwmDev;
+
+#endif /* HW_PWM_MAP_H */
diff --git a/boards/triface/hw/thermo_map.h b/boards/triface/hw/thermo_map.h
new file mode 100644 (file)
index 0000000..7dbe27b
--- /dev/null
@@ -0,0 +1,56 @@
+/**
+ * \file
+ * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Thermo regulation control map definitions.
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef THERMO_MAP_H
+#define THERMO_MAP_H
+
+#include <cfg/compiler.h>
+#include <cfg/macros.h>
+
+
+#warning TODO:This is an example implentation, you must implement it!
+
+typedef enum ThermoDev
+{
+       THERMO_TEST,
+
+       /* Put here your thermo device */
+
+       THERMO_CNT
+} ThermoDev;
+
+#endif /* THERMO_MAP_H */