LPC2: add LPC2378 example project.
authorbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Sat, 3 Apr 2010 10:55:23 +0000 (10:55 +0000)
committerbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Sat, 3 Apr 2010 10:55:23 +0000 (10:55 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3387 38d2e660-2303-0410-9eaa-f027e97ec537

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

index b846eec11c7bbe3c44fb0250869071f38133c8d1..4d3d7f9b7dbdfd82c134b614a34f65c2cdf77f43 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,7 @@ include examples/demo/demo.mk
 #include examples/at91sam7/at91sam7s.mk
 #include examples/at91sam7/at91sam7x.mk
 #include examples/lm3s1968/lm3s1968.mk
+#include examples/lpc2378/lpc2378.mk
 #include examples/avr-kern/avr-kern.mk
 #include examples/triface/triface.mk
 #include examples/benchmark/kernel-only_arm/kernel-only_arm.mk
diff --git a/examples/lpc2378/cfg/cfg_adc.h b/examples/lpc2378/cfg/cfg_adc.h
new file mode 100644 (file)
index 0000000..4df8c62
--- /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: cfg_adc.h 2582 2009-04-20 12:33:48Z batt $
+ * \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/examples/lpc2378/cfg/cfg_afsk.h b/examples/lpc2378/cfg/cfg_afsk.h
new file mode 100644 (file)
index 0000000..1b4b147
--- /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: cfg_afsk.h 3065 2009-10-10 11:20:09Z batt $
+ * \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/examples/lpc2378/cfg/cfg_ax25.h b/examples/lpc2378/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/examples/lpc2378/cfg/cfg_battfs.h b/examples/lpc2378/cfg/cfg_battfs.h
new file mode 100644 (file)
index 0000000..4849a7c
--- /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: cfg_battfs.h 2665 2009-04-24 16:39:09Z batt $
+ * \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/examples/lpc2378/cfg/cfg_dataflash.h b/examples/lpc2378/cfg/cfg_dataflash.h
new file mode 100644 (file)
index 0000000..1115006
--- /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: cfg_dataflash.h 2348 2009-02-16 13:43:44Z duplo $
+ * \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/examples/lpc2378/cfg/cfg_dc_motor.h b/examples/lpc2378/cfg/cfg_dc_motor.h
new file mode 100644 (file)
index 0000000..2b21bf6
--- /dev/null
@@ -0,0 +1,67 @@
+/**
+ * \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.
+ *
+ * \version $Id: cfg_dc_motor.h 2777 2009-08-20 14:54:17Z  $
+ *
+ * \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_WARN
+
+/**
+ * Module logging format.
+ *
+ * $WIZ$ type = "enum"
+ * $WIZ$ value_list = "log_format"
+ */
+#define DC_MOTOR_LOG_FORMAT     LOG_FMT_TERSE
+
+#endif /* CFG_DC_MOTOR_H */
diff --git a/examples/lpc2378/cfg/cfg_debug.h b/examples/lpc2378/cfg/cfg_debug.h
new file mode 100644 (file)
index 0000000..3283420
--- /dev/null
@@ -0,0 +1,55 @@
+/**
+ * \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.
+ *
+ * \version $Id: cfg_debug.h 2582 2009-04-20 12:33:48Z batt $
+ *
+ * \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 0
+
+/**
+ * Baudrate for the debug console.
+ * $WIZ$ type = "int"; min = 300
+ */
+#define CONFIG_KDEBUG_BAUDRATE  115200UL
+
+#endif /* CFG_DEBUG_H */
diff --git a/examples/lpc2378/cfg/cfg_fat.h b/examples/lpc2378/cfg/cfg_fat.h
new file mode 100644 (file)
index 0000000..376f9ad
--- /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: cfg_fat.h 2694 2009-05-21 11:07:20Z batt $
+ *
+ * \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/examples/lpc2378/cfg/cfg_flash25.h b/examples/lpc2378/cfg/cfg_flash25.h
new file mode 100644 (file)
index 0000000..05ec8e4
--- /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: cfg_flash25.h 2362 2009-02-19 14:35:07Z duplo $
+ *
+ * \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/examples/lpc2378/cfg/cfg_formatwr.h b/examples/lpc2378/cfg/cfg_formatwr.h
new file mode 100644 (file)
index 0000000..296e953
--- /dev/null
@@ -0,0 +1,67 @@
+/**
+ * \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.
+ *
+ * \version $Id: cfg_formatwr.h 2965 2009-09-18 09:35:40Z lottaviano $
+ *
+ * \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/examples/lpc2378/cfg/cfg_heap.h b/examples/lpc2378/cfg/cfg_heap.h
new file mode 100644 (file)
index 0000000..5af8e5c
--- /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: cfg_heap.h 3256 2010-03-22 16:29:37Z batt $
+ *
+ * \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/examples/lpc2378/cfg/cfg_i2c.h b/examples/lpc2378/cfg/cfg_i2c.h
new file mode 100644 (file)
index 0000000..a796c39
--- /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: cfg_i2c.h 2561 2009-04-20 09:26:48Z duplo $
+ *
+ * \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/examples/lpc2378/cfg/cfg_i2s.h b/examples/lpc2378/cfg/cfg_i2s.h
new file mode 100644 (file)
index 0000000..9faf3dd
--- /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: cfg_i2s.h 2743 2009-07-06 15:17:09Z lottaviano $
+ *
+ * \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/examples/lpc2378/cfg/cfg_ini_reader.h b/examples/lpc2378/cfg/cfg_ini_reader.h
new file mode 100644 (file)
index 0000000..096c486
--- /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: cfg_ini_reader.h 2710 2009-06-08 13:54:43Z batt $
+ *
+ * \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/examples/lpc2378/cfg/cfg_kbd.h b/examples/lpc2378/cfg/cfg_kbd.h
new file mode 100644 (file)
index 0000000..97403c1
--- /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: cfg_kbd.h 2936 2009-09-14 16:19:13Z asterix $
+ *
+ * \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/examples/lpc2378/cfg/cfg_kfile.h b/examples/lpc2378/cfg/cfg_kfile.h
new file mode 100644 (file)
index 0000000..0253f78
--- /dev/null
@@ -0,0 +1,62 @@
+/**
+ * \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.
+ *
+ * \version $Id: cfg_kfile.h 2348 2009-02-16 13:43:44Z duplo $
+ * \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      0
+
+#endif /* CFG_KFILE_H */
diff --git a/examples/lpc2378/cfg/cfg_lcd.h b/examples/lpc2378/cfg/cfg_lcd.h
new file mode 100644 (file)
index 0000000..8bd9884
--- /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: cfg_lcd.h 2563 2009-04-20 09:47:08Z batt $
+ *
+ * \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/examples/lpc2378/cfg/cfg_lm75.h b/examples/lpc2378/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/examples/lpc2378/cfg/cfg_md2.h b/examples/lpc2378/cfg/cfg_md2.h
new file mode 100644 (file)
index 0000000..65e4f4e
--- /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: cfg_md2.h 2582 2009-04-20 12:33:48Z batt $
+ *
+ * \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/examples/lpc2378/cfg/cfg_monitor.h b/examples/lpc2378/cfg/cfg_monitor.h
new file mode 100644 (file)
index 0000000..b239eeb
--- /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: cfg_monitor.h 2418 2009-03-25 15:57:34Z batt $
+ * \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/examples/lpc2378/cfg/cfg_nmea.h b/examples/lpc2378/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/examples/lpc2378/cfg/cfg_phase.h b/examples/lpc2378/cfg/cfg_phase.h
new file mode 100644 (file)
index 0000000..c167776
--- /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: cfg_phase.h 2582 2009-04-20 12:33:48Z batt $
+ * \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/examples/lpc2378/cfg/cfg_pocketbus.h b/examples/lpc2378/cfg/cfg_pocketbus.h
new file mode 100644 (file)
index 0000000..a331ec7
--- /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 2008 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Configuration file for pocketbus module.
+ *
+ * \version $Id: cfg_pocketbus.h 2580 2009-04-20 12:25:57Z batt $
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_POCKETBUS_H
+#define CFG_POCKETBUS_H
+
+/**
+ *Buffer len for pockebus protocol.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = 2
+ */
+#define CONFIG_POCKETBUS_BUFLEN     128
+
+#endif /* CFG_POCKETBUS_H */
diff --git a/examples/lpc2378/cfg/cfg_proc.h b/examples/lpc2378/cfg/cfg_proc.h
new file mode 100644 (file)
index 0000000..df1b136
--- /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: cfg_proc.h 3255 2010-03-22 16:13:13Z batt $
+ * \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/examples/lpc2378/cfg/cfg_pwm.h b/examples/lpc2378/cfg/cfg_pwm.h
new file mode 100644 (file)
index 0000000..8dfa279
--- /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: cfg_pwm.h 2348 2009-02-16 13:43:44Z duplo $
+ * \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/examples/lpc2378/cfg/cfg_ramp.h b/examples/lpc2378/cfg/cfg_ramp.h
new file mode 100644 (file)
index 0000000..6d4b9df
--- /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: cfg_ramp.h 2582 2009-04-20 12:33:48Z batt $
+ * \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/examples/lpc2378/cfg/cfg_randpool.h b/examples/lpc2378/cfg/cfg_randpool.h
new file mode 100644 (file)
index 0000000..4eb099e
--- /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: cfg_randpool.h 2950 2009-09-16 10:08:31Z asterix $
+ *
+ * \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/examples/lpc2378/cfg/cfg_sem.h b/examples/lpc2378/cfg/cfg_sem.h
new file mode 100644 (file)
index 0000000..1d3c674
--- /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: cfg_sem.h 2418 2009-03-25 15:57:34Z batt $
+ * \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/examples/lpc2378/cfg/cfg_ser.h b/examples/lpc2378/cfg/cfg_ser.h
new file mode 100644 (file)
index 0000000..7dae7c2
--- /dev/null
@@ -0,0 +1,192 @@
+/**
+ * \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.
+ *
+ * \version $Id: cfg_ser.h 2845 2009-09-01 14:41:47Z lottaviano $
+ *
+ * \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 = "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 = "at91 and not atmega8 and not atmega168 and not atmega32"
+ */
+#define CONFIG_UART1_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    -1
+
+/**
+ * Default receive timeout (ms). Set to -1 to disable timeout support.
+ * $WIZ$ type = "int"
+ * $WIZ$ min = -1
+ */
+#define CONFIG_SER_RXTIMEOUT    -1
+
+/**
+ * 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/examples/lpc2378/cfg/cfg_signal.h b/examples/lpc2378/cfg/cfg_signal.h
new file mode 100644 (file)
index 0000000..fabbb66
--- /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: cfg_signal.h 2418 2009-03-25 15:57:34Z batt $
+ * \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/examples/lpc2378/cfg/cfg_spi_bitbang.h b/examples/lpc2378/cfg/cfg_spi_bitbang.h
new file mode 100644 (file)
index 0000000..8761d44
--- /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: cfg_spi_bitbang.h 2348 2009-02-16 13:43:44Z duplo $
+ *
+ * \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/examples/lpc2378/cfg/cfg_stepper.h b/examples/lpc2378/cfg/cfg_stepper.h
new file mode 100644 (file)
index 0000000..9dbf0e8
--- /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: cfg_stepper.h 2582 2009-04-20 12:33:48Z batt $
+ * \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/examples/lpc2378/cfg/cfg_tas5706a.h b/examples/lpc2378/cfg/cfg_tas5706a.h
new file mode 100644 (file)
index 0000000..dcebde4
--- /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: cfg_tas5706a.h 2740 2009-07-06 08:16:22Z lottaviano $
+ * \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/examples/lpc2378/cfg/cfg_thermo.h b/examples/lpc2378/cfg/cfg_thermo.h
new file mode 100644 (file)
index 0000000..ed8deb4
--- /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/)
+ *
+ * -->
+ *
+ * \brief Configuration file for thermo module.
+ *
+ * \version $Id: cfg_thermo.h 2574 2009-04-20 10:50:42Z batt $
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_THERMO_H
+#define CFG_THERMO_H
+
+/**
+ * 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/examples/lpc2378/cfg/cfg_timer.h b/examples/lpc2378/cfg/cfg_timer.h
new file mode 100644 (file)
index 0000000..d0475d5
--- /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: cfg_timer.h 2348 2009-02-16 13:43:44Z duplo $
+ *
+ * \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/examples/lpc2378/cfg/cfg_wdt.h b/examples/lpc2378/cfg/cfg_wdt.h
new file mode 100644 (file)
index 0000000..0e491b1
--- /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: cfg_wdt.h 2576 2009-04-20 11:03:51Z batt $
+ *
+ * \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/examples/lpc2378/cfg/cfg_xmodem.h b/examples/lpc2378/cfg/cfg_xmodem.h
new file mode 100644 (file)
index 0000000..3e092c2
--- /dev/null
@@ -0,0 +1,67 @@
+/**
+ * \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.
+ *
+ * \version $Id: cfg_xmodem.h 2579 2009-04-20 12:25:40Z batt $
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef CFG_XMODEM_H
+#define CFG_XMODEM_H
+
+/// 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/examples/lpc2378/hw/hw_afsk.h b/examples/lpc2378/hw/hw_afsk.h
new file mode 100644 (file)
index 0000000..a0a348d
--- /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: hw_afsk.h 3072 2009-10-10 13:01:56Z batt $
+ *
+ * \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/examples/lpc2378/hw/hw_buzzer.h b/examples/lpc2378/hw/hw_buzzer.h
new file mode 100644 (file)
index 0000000..01683c8
--- /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 2003, 2004, 2005, 2006, 2008 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Buzzer hardware-specific definitions
+ *
+ * \version $Id: hw_buzzer.h 2506 2009-04-15 08:29:07Z duplo $
+ *
+ * \author Francesco Sacchi <batt@develer.com>
+ */
+
+#ifndef HW_BUZZER_H
+#define HW_BUZZER_H
+
+#warning TODO:This is an example implementation, you must implement it!
+
+#define BUZZER_BIT      1
+#define IS_BUZZER_ON    0
+#define BUZZER_HW_INIT  do { /* Implement me! */ } while (0)
+#define BUZZER_ON       do { /* Implement me! */ } while (0)
+#define BUZZER_OFF      do { /* Implement me! */ } while (0)
+
+#endif /* HW_BUZZER_H */
diff --git a/examples/lpc2378/hw/hw_dataflash.c b/examples/lpc2378/hw/hw_dataflash.c
new file mode 100644 (file)
index 0000000..b3944b3
--- /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: hw_dataflash.c 1398 2008-05-27 16:36:05Z asterix $
+ * \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/examples/lpc2378/hw/hw_dataflash.h b/examples/lpc2378/hw/hw_dataflash.h
new file mode 100644 (file)
index 0000000..8c2f0b8
--- /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: hw_dataflash.h 1312 2008-05-20 16:54:52Z asterix $
+ * \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/examples/lpc2378/hw/hw_dc_motor.h b/examples/lpc2378/hw/hw_dc_motor.h
new file mode 100644 (file)
index 0000000..913ead7
--- /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 2006 Develer S.r.l. (http://www.develer.com/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief DC motor hardware-specific definitions
+ *
+ * \version $Id: hw_dc_motor.h 2859 2009-09-02 09:30:18Z asterix $
+ *
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef HW_DC_MOTOR_H
+#define HW_DC_MOTOR_H
+
+typedef enum MotorDCMap
+{
+
+       /* Put here motor dc declaration */
+       MOTOR_DC_CNT
+
+} MotorDCMap;
+
+/*
+ * Init all pin and device to manage dc motor.
+ */
+#define MOTOR_DC_INIT() \
+    do { \
+               /* Implement me! */ \
+    } while (0)
+
+
+/*
+ * Enable DC motor.
+ */
+#define DC_MOTOR_ENABLE(dev) \
+       do { \
+               /* Implement me! */ \
+       } while (0)
+
+/*
+ * Disable DC motor.
+ */
+#define DC_MOTOR_DISABLE(dev) \
+       do { \
+               /* Implement me! */ \
+       } while (0)
+
+/*
+ * Set direction for DC motor.
+ */
+#define DC_MOTOR_SET_DIR(dev, dir) \
+       do { \
+               /* Implement me! */ \
+       } while (0)
+
+
+#endif /* HW_DC_MOTOR_H */
diff --git a/examples/lpc2378/hw/hw_ft245rl.h b/examples/lpc2378/hw/hw_ft245rl.h
new file mode 100644 (file)
index 0000000..34b157f
--- /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: hw_ft245rl.h 1777 2008-09-04 15:19:48Z batt $
+ *
+ * \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/examples/lpc2378/hw/hw_i2c_bitbang.h b/examples/lpc2378/hw/hw_i2c_bitbang.h
new file mode 100644 (file)
index 0000000..743e28b
--- /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: hw_i2c_bitbang.h 2506 2009-04-15 08:29:07Z duplo $
+ *
+ * \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/examples/lpc2378/hw/hw_kbd.h b/examples/lpc2378/hw/hw_kbd.h
new file mode 100644 (file)
index 0000000..2c59dd5
--- /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: hw_kbd.h 2649 2009-04-23 12:51:28Z duplo $
+ *
+ * \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/examples/lpc2378/hw/hw_lcd.h b/examples/lpc2378/hw/hw_lcd.h
new file mode 100644 (file)
index 0000000..a760b7c
--- /dev/null
@@ -0,0 +1,156 @@
+/**
+ * \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: hw_lcd.h 2506 2009-04-15 08:29:07Z duplo $
+ *
+ * \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! */
+
+#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/examples/lpc2378/hw/hw_lm75.h b/examples/lpc2378/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/examples/lpc2378/hw/hw_mcp41.c b/examples/lpc2378/hw/hw_mcp41.c
new file mode 100644 (file)
index 0000000..2a8415d
--- /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: hw_mcp41.c 2506 2009-04-15 08:29:07Z duplo $
+ * \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/examples/lpc2378/hw/hw_mcp41.h b/examples/lpc2378/hw/hw_mcp41.h
new file mode 100644 (file)
index 0000000..b1b5cd0
--- /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: hw_mcp41.h 2544 2009-04-17 14:21:09Z batt $
+ * \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/examples/lpc2378/hw/hw_ntc.c b/examples/lpc2378/hw/hw_ntc.c
new file mode 100644 (file)
index 0000000..b8c5691
--- /dev/null
@@ -0,0 +1,46 @@
+/**\r
+ * \file\r
+ * <!--\r
+ * This file is part of BeRTOS.\r
+ *\r
+ * Bertos is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
+ *\r
+ * As a special exception, you may use this file as part of a free software\r
+ * library without restriction.  Specifically, if other files instantiate\r
+ * templates or use macros or inline functions from this file, or you compile\r
+ * this file and link it with other files to produce an executable, this\r
+ * file does not by itself cause the resulting executable to be covered by\r
+ * the GNU General Public License.  This exception does not however\r
+ * invalidate any other reasons why the executable file might be covered by\r
+ * the GNU General Public License.\r
+ *\r
+ * Copyright 2008 Develer S.r.l. (http://www.develer.com/)\r
+ * All Rights Reserved.\r
+ * -->\r
+ *\r
+ * \brief NTC hardware-specific definition\r
+ *\r
+ * \version $Id: hw_ntc.h 1359 2008-05-26 09:42:37Z asterix $\r
+ * \author Lorenzo Berni <duplo@develer.com>\r
+ * \r
+ */\r
+\r
+#include <drv/ntc.h>\r
+#include "hw/ntc_map.h"\r
+\r
+const res_t      NTC_RSER[NTC_CNT];\r
+const res_t      NTC_RPAR[NTC_CNT];\r
+const amp_t      NTC_AMP[NTC_CNT];\r
+const NtcHwInfo* NTC_INFO[NTC_CNT];\r
diff --git a/examples/lpc2378/hw/hw_ntc.h b/examples/lpc2378/hw/hw_ntc.h
new file mode 100644 (file)
index 0000000..d3976b0
--- /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: hw_ntc.h 1359 2008-05-26 09:42:37Z asterix $
+ * \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/examples/lpc2378/hw/hw_phase.c b/examples/lpc2378/hw/hw_phase.c
new file mode 100644 (file)
index 0000000..f58fe9a
--- /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: hw_phase.c 1398 2008-05-27 16:36:05Z asterix $
+ * \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/examples/lpc2378/hw/hw_phase.h b/examples/lpc2378/hw/hw_phase.h
new file mode 100644 (file)
index 0000000..bb7d3c6
--- /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: hw_phase.h 2564 2009-04-20 09:51:04Z batt $
+ *
+ * \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/examples/lpc2378/hw/hw_sd.h b/examples/lpc2378/hw/hw_sd.h
new file mode 100644 (file)
index 0000000..79759ae
--- /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: hw_sd.h 2834 2009-08-31 18:11:02Z batt $
+ *
+ * \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/examples/lpc2378/hw/hw_ser.h b/examples/lpc2378/hw/hw_ser.h
new file mode 100644 (file)
index 0000000..634c44b
--- /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: hw_ser.h 2883 2009-09-04 19:46:02Z batt $
+ *
+ * \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/examples/lpc2378/hw/hw_sipo.h b/examples/lpc2378/hw/hw_sipo.h
new file mode 100644 (file)
index 0000000..b4fba47
--- /dev/null
@@ -0,0 +1,109 @@
+/**
+ * \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, 2009 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Macro for HW_SIPO_H
+ *
+ *
+ * \version $Id: hw_sipo.h 2882 2009-09-04 19:17:37Z batt $
+ *
+ * \author Andrea Grandi <andrea@develer.com>
+ * \author Daniele Basile <asterix@develer.com>
+ */
+
+#ifndef HW_SIPO_H
+#define HW_SIPO_H
+
+/**
+ * Map sipo connection on board.
+ */
+typedef enum SipoMap
+{
+       SIPO_CNT
+} SipoMap;
+
+/**
+ * Define generic macro to set pins logic level
+ */
+#define SIPO_SET_LEVEL_LOW(dev)    do { /* Implement me! */   } while (0)
+#define SIPO_SET_LEVEL_HIGH(dev)   do { /* Implement me! */   } while (0)
+
+
+/**
+ * Generate one low pulse on select line.
+ */
+#define PULSE_LOW(dev)    do { /* Implement me! */   } while (0)
+
+/**
+ * Generate one hight pulse on select line.
+ */
+#define PULSE_HIGH(dev)     do { /* Implement me! */   } while (0)
+
+
+/**
+ * Define the procedure to drive serial input in sipo device (SI).
+ */
+#define SIPO_SI_HIGH()   do { /* Implement me! */   } while (0)
+#define SIPO_SI_LOW()    do { /* Implement me! */   } while (0)
+
+/**
+ * Drive clock to shift SI data into latch.
+ */
+#define SIPO_SI_CLOCK(clk_pol) \
+       do { \
+               (void)clk_pol; \
+               /* Implement me! */ \
+       } while (0)
+
+/**
+ * Do everything needed in order to load dato into sipo.
+ */
+#define SIPO_LOAD(device, load_pol)   do { /* Implement me! */   } while (0)
+
+/**
+ * Enable the shift register output.
+ */
+#define SIPO_ENABLE()             do { /* Implement me! */   } while (0)
+
+/**
+ * Set polarity for Load, Clk, SI signals.
+ */
+#define SIPO_SET_LD_LEVEL(device, load_pol)  do { /* Implement me! */   } while (0)
+#define SIPO_SET_CLK_LEVEL(clock_pol)        do { /* Implement me! */   } while (0)
+#define SIPO_SET_SI_LEVEL()       do { /* Implement me! */   } while (0)
+
+/**
+ * Do anything that needed to init sipo pins.
+ */
+#define SIPO_INIT_PIN()           do { /* Implement me! */   } while (0)
+
+#endif /* HW_SIPO_H */
diff --git a/examples/lpc2378/hw/hw_spi.h b/examples/lpc2378/hw/hw_spi.h
new file mode 100644 (file)
index 0000000..b943662
--- /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: hw_spi.h 1357 2008-05-26 09:30:19Z asterix $
+ * \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/examples/lpc2378/hw/hw_stepper.h b/examples/lpc2378/hw/hw_stepper.h
new file mode 100644 (file)
index 0000000..563a9aa
--- /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: hw_stepper.h 2488 2009-04-10 17:52:12Z batt $
+ *
+ * \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/examples/lpc2378/hw/hw_tas5706a.h b/examples/lpc2378/hw/hw_tas5706a.h
new file mode 100644 (file)
index 0000000..f8cbf35
--- /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: hw_tas5706a.h 2849 2009-09-01 15:46:14Z lottaviano $
+ *
+ * \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/examples/lpc2378/hw/hw_thermo.h b/examples/lpc2378/hw/hw_thermo.h
new file mode 100644 (file)
index 0000000..de5edcc
--- /dev/null
@@ -0,0 +1,182 @@
+/**
+ * \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.
+ *
+ * \version $Id: hw_thermo.h 1440 2008-06-10 17:59:13Z asterix $
+ * \author Francesco Sacchi <batt@develer.com>
+ *
+ */
+
+#ifndef HW_THERMO_H
+#define HW_THERMO_H
+
+#include "thermo_map.h"
+#include "ntc_map.h"
+
+#include <drv/phase.h>
+#include <drv/ntc.h>
+
+#include <cfg/debug.h>
+#include <cfg/compiler.h>
+
+#warning TODO:This is an example implentation, you must implement it!
+
+/*!
+ * This function should return the temperature set tolerance.
+ */
+INLINE deg_t thermo_hw_tolerance(ThermoDev dev)
+{
+       ASSERT(dev < THERMO_CNT);
+
+       switch (dev)
+       {
+       case THERMO_TEST: 
+               /* Put here convertion function to temperature size */
+               break;
+
+       /* Put here your thermo device */
+
+       default:
+               ASSERT(0);
+       }
+
+       return 0;
+}
+
+
+/*!
+ * This function should return the timeout for reaching the
+ * target temperature.
+ */
+INLINE ticks_t thermo_hw_timeout(ThermoDev dev)
+{
+       ASSERT(dev < THERMO_CNT);
+
+       switch (dev)
+       {
+       case THERMO_TEST:
+               /* return ms_to_ticks(60000); */
+               break;
+
+       /* Put here a time out for select thermo device */
+
+       default:
+               ASSERT(0);
+       }
+
+       return 0;
+}
+
+
+
+/*!
+ * Read the temperature of the hw device \a dev.
+ */
+INLINE deg_t thermo_hw_read(ThermoDev dev)
+{
+       return ntc_read(dev);
+}
+
+
+/*!
+ * Turns off a specific device.
+ * This function is usefull to handle errors.
+ */
+INLINE void thermo_hw_off(ThermoDev dev)
+{
+       ASSERT(dev < THERMO_CNT);
+
+       switch (dev)
+       {
+       case THERMO_TEST:
+               phase_setPower(TRIAC_TEST, 0);
+               break;
+
+       /* Put here a thermo device to turn off */
+
+       default:
+               ASSERT(0);
+       }
+
+}
+
+
+/*!
+ * Based on the current temperature \a cur_temp and the target temperature \a target, this function turns on and off specific
+ * triac channel and handles the freezer alarm.
+ * 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);
+
+       deg_t dist = target - cur_temp;
+       //kprintf("dev[%d], dist[%d]\n", dev, dist);
+
+       switch(dev)
+       {
+       case THERMO_TEST:
+               if (dist > 0)
+               {
+                       /*      phase_setPower(TRIAC_TEST, dist * PID_TEST_K); */
+               }
+               else
+               {
+                       /* phase_setPower(TRIAC_TEST, 0); */
+               }
+               break;
+
+       /* Put here an other thermo device */
+
+       default:
+               ASSERT(0);
+       }
+}
+
+
+#define THERMO_HW_INIT _thermo_hw_init()
+
+/*!
+ * Init hw associated with thermo-control.
+ */
+INLINE void _thermo_hw_init(void)
+{
+       ASSERT(phase_initialized);
+       ASSERT(ntc_initialized);
+
+       phase_setPower(TRIAC_TEST, 0);
+
+       /* Add here the other thermo device */
+}
+
+#endif /* HW_THERMO_H */
diff --git a/examples/lpc2378/hw/hw_tlv5618.h b/examples/lpc2378/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/examples/lpc2378/hw/hw_tmp123.h b/examples/lpc2378/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/examples/lpc2378/hw/kbd_map.h b/examples/lpc2378/hw/kbd_map.h
new file mode 100644 (file)
index 0000000..07515c0
--- /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: kbd_map.h 2848 2009-09-01 15:23:57Z lottaviano $
+ *
+ * \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/examples/lpc2378/hw/mcp41_map.h b/examples/lpc2378/hw/mcp41_map.h
new file mode 100644 (file)
index 0000000..544f567
--- /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: mcp41_map.h 2506 2009-04-15 08:29:07Z duplo $
+ *
+ * \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/examples/lpc2378/hw/ntc_map.h b/examples/lpc2378/hw/ntc_map.h
new file mode 100644 (file)
index 0000000..00997ce
--- /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: ntc_map.h 1312 2008-05-20 16:54:52Z asterix $
+ *
+ * \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/examples/lpc2378/hw/phase_map.h b/examples/lpc2378/hw/phase_map.h
new file mode 100644 (file)
index 0000000..2f338cd
--- /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: phase_map.h 1357 2008-05-26 09:30:19Z asterix $
+ *
+ * \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/examples/lpc2378/hw/pwm_map.h b/examples/lpc2378/hw/pwm_map.h
new file mode 100644 (file)
index 0000000..8f9f8b6
--- /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: pwm_map.h 1357 2008-05-26 09:30:19Z asterix $
+ *
+ * \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/examples/lpc2378/hw/thermo_map.h b/examples/lpc2378/hw/thermo_map.h
new file mode 100644 (file)
index 0000000..5973612
--- /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/)
+ * All Rights Reserved.
+ * -->
+ *
+ * \brief Thermo regulation control map definitions.
+ *
+ * \version $Id: thermo_map.h 1312 2008-05-20 16:54:52Z asterix $
+ *
+ * \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 uint8_t thermostatus_t;
+
+#define THERMO_OFF          0
+#define THERMO_HEATING      BV(0)
+#define THERMO_FREEZING     BV(1)
+#define THERMO_TGT_REACH    BV(2)
+#define THERMOERRF_NTCSHORT BV(3)
+#define THERMOERRF_NTCOPEN  BV(4)
+#define THERMOERRF_TIMEOUT  BV(5)
+#define THERMO_ACTIVE       BV(6)
+
+#define THERMO_ERRMASK      (THERMOERRF_NTCSHORT | THERMOERRF_NTCOPEN | THERMOERRF_TIMEOUT)
+
+typedef enum ThermoDev
+{
+       THERMO_TEST,
+
+       /* Put here your thermo device */
+
+       THERMO_CNT,
+} ThermoDev;
+
+#endif /* THERMO_MAP_H */
diff --git a/examples/lpc2378/lpc2378.mk b/examples/lpc2378/lpc2378.mk
new file mode 100644 (file)
index 0000000..1021746
--- /dev/null
@@ -0,0 +1,51 @@
+#
+# Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+# All rights reserved.
+#
+# Makefile template for BeRTOS wizard.
+#
+# Author: Lorenzo Berni <duplo@develer.com>
+#
+#
+
+# Programmer interface configuration, see http://dev.bertos.org/wiki/ProgrammerInterface for help
+lpc2378_PROGRAMMER_TYPE = jtag-tiny
+lpc2378_PROGRAMMER_PORT = none
+
+# Files included by the user.
+lpc2378_USER_CSRC = \
+       examples/lpc2378/main.c \
+       #
+
+# Files included by the user.
+lpc2378_USER_PCSRC = \
+       #
+
+# Files included by the user.
+lpc2378_USER_CPPASRC = \
+       #
+
+# Files included by the user.
+lpc2378_USER_CXXSRC = \
+       #
+
+# Files included by the user.
+lpc2378_USER_ASRC = \
+       #
+
+# Flags included by the user.
+lpc2378_USER_LDFLAGS = \
+       #
+
+# Flags included by the user.
+lpc2378_USER_CPPAFLAGS = \
+       #
+
+# Flags included by the user.
+lpc2378_USER_CPPFLAGS = \
+       -fno-strict-aliasing \
+       -fwrapv \
+       #
+
+# Include the mk file generated by the wizard
+include examples/lpc2378/lpc2378_wiz.mk
diff --git a/examples/lpc2378/lpc2378_wiz.mk b/examples/lpc2378/lpc2378_wiz.mk
new file mode 100644 (file)
index 0000000..f92dab6
--- /dev/null
@@ -0,0 +1,82 @@
+#
+# Copyright 2009 Develer S.r.l. (http://www.develer.com/)
+# All rights reserved.
+#
+# Makefile template for BeRTOS wizard.
+#
+# Author: Lorenzo Berni <duplo@develer.com>
+#
+#
+
+# Constants automatically defined by the selected modules
+lpc2378_DEBUG = 1
+
+# Our target application
+TRG += lpc2378
+
+lpc2378_PREFIX = "arm-none-eabi-"
+
+lpc2378_SUFFIX = ""
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE lpc2378_USER_CSRC INSTEAD!
+lpc2378_WIZARD_CSRC = \
+       bertos/mware/hex.c \
+       bertos/mware/formatwr.c \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE lpc2378_USER_PCSRC INSTEAD!
+lpc2378_WIZARD_PCSRC = \
+        \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE lpc2378_USER_CPPASRC INSTEAD!
+lpc2378_WIZARD_CPPASRC = \
+        \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE lpc2378_USER_CXXSRC INSTEAD!
+lpc2378_WIZARD_CXXSRC = \
+        \
+       #
+
+# Files automatically generated by the wizard. DO NOT EDIT, USE lpc2378_USER_ASRC INSTEAD!
+lpc2378_WIZARD_ASRC = \
+        \
+       #
+
+lpc2378_CPPFLAGS = -D'CPU_FREQ=(72000000UL)' -D'ARCH=(ARCH_DEFAULT)' -D'WIZ_AUTOGEN' -Iexamples/lpc2378/ $(lpc2378_CPU_CPPFLAGS) $(lpc2378_USER_CPPFLAGS)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+lpc2378_LDFLAGS = $(lpc2378_CPU_LDFLAGS) $(lpc2378_WIZARD_LDFLAGS) $(lpc2378_USER_LDFLAGS)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+lpc2378_CPPAFLAGS = $(lpc2378_CPU_CPPAFLAGS) $(lpc2378_WIZARD_CPPAFLAGS) $(lpc2378_USER_CPPAFLAGS)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+lpc2378_CSRC = $(lpc2378_CPU_CSRC) $(lpc2378_WIZARD_CSRC) $(lpc2378_USER_CSRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+lpc2378_PCSRC = $(lpc2378_CPU_PCSRC) $(lpc2378_WIZARD_PCSRC) $(lpc2378_USER_PCSRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+lpc2378_CPPASRC = $(lpc2378_CPU_CPPASRC) $(lpc2378_WIZARD_CPPASRC) $(lpc2378_USER_CPPASRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+lpc2378_CXXSRC = $(lpc2378_CPU_CXXSRC) $(lpc2378_WIZARD_CXXSRC) $(lpc2378_USER_CXXSRC)
+
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+lpc2378_ASRC = $(lpc2378_CPU_ASRC) $(lpc2378_WIZARD_ASRC) $(lpc2378_USER_ASRC)
+
+# CPU specific flags and options, defined in the CPU definition files.
+# Automatically generated by the wizard. PLEASE DO NOT EDIT!
+lpc2378_CPU_CPPASRC = bertos/cpu/arm/hw/crt_arm7tdmi.S bertos/cpu/arm/hw/vectors_lpc2.S
+lpc2378_CPU_CPPAFLAGS = -g -gdwarf-2
+lpc2378_CPU_CPPFLAGS = -O0 -g3 -gdwarf-2 -fverbose-asm -Ibertos/cpu/arm/ -D__ARM_LPC2378__
+lpc2378_CPU_CSRC = bertos/cpu/arm/hw/init_lpc2.c
+lpc2378_PROGRAMMER_CPU = lpc2378
+lpc2378_STOPFLASH_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh
+lpc2378_CPU = arm7tdmi
+lpc2378_STOPDEBUG_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh
+lpc2378_DEBUG_SCRIPT = bertos/prg_scripts/arm/debug.sh
+lpc2378_CPU_LDFLAGS = -nostartfiles -Wl,--no-warn-mismatch -T bertos/cpu/arm/scripts/lpc2378.ld
+lpc2378_FLASH_SCRIPT = bertos/prg_scripts/arm/flash.sh
diff --git a/examples/lpc2378/main.c b/examples/lpc2378/main.c
new file mode 100644 (file)
index 0000000..baf48c5
--- /dev/null
@@ -0,0 +1,44 @@
+// Emtpy main.c file generated by the wizard
+#include <cpu/irq.h>
+#include <cfg/debug.h>
+
+#include <io/lpc23xx.h>
+
+#define STATUS_LED (1<<19)
+#define LED_ON()  do { IOCLR1 =  STATUS_LED; } while (0)
+#define LED_OFF() do { IOSET1 =  STATUS_LED; } while (0)
+
+static void init(void)
+{
+       IRQ_ENABLE;
+       kdbg_init();
+       kprintf("NXP LPC2378 BeRTOS port test\n");
+       /* Turn off boot led */
+       IODIR0 = (1<<21);       
+       IOCLR0 = (1<<21);       
+       /* Init status led */
+       IODIR1 |= STATUS_LED;
+       LED_OFF();
+}
+
+int main(void)
+{
+       char spinner[] = {'/', '-', '\\', '|'};
+       int i = 0;
+
+       init();
+       while (1)
+       {
+               i++;
+               kprintf("BeRTOS is up & running: %c\r",
+                       spinner[i % countof(spinner)]);
+               LED_ON();
+               for (int j = 0; j < 200000; j++ );
+               
+               LED_OFF();
+               for (int j = 0; j < 200000; j++ );
+       }
+
+       return 0;
+}
+