bertos.git
13 years agoAdd wizard definitions for AVR XMega MCU.
lottaviano [Sat, 9 Apr 2011 13:42:52 +0000 (13:42 +0000)]
Add wizard definitions for AVR XMega MCU.

Signed-off-by: Onno <developer@gorgoz.org>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4846 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd init file to enable all interrupt priorities at boot.
lottaviano [Sat, 9 Apr 2011 13:42:34 +0000 (13:42 +0000)]
Add init file to enable all interrupt priorities at boot.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4845 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd debug support for AVR XMega MCU.
lottaviano [Sat, 9 Apr 2011 13:42:16 +0000 (13:42 +0000)]
Add debug support for AVR XMega MCU.

Signed-off-by: Onno <developer@gorgoz.org>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4844 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd detect macros for AVR XMega MCU.
lottaviano [Sat, 9 Apr 2011 13:41:54 +0000 (13:41 +0000)]
Add detect macros for AVR XMega MCU.

Hardware interrupts should be enabled separately by using the lines:
  #include <avr/io.h>
  PMIC.CTRL |= PMIC_LOLVLEX_bm | PMIC_MEDLVLEX_bm | PMIC_HILVLEX_bm;
These should go into a separate init file specific for AVR XMega.

Signed-off-by: Onno <developer@gorgoz.org>
Reviewed-by: Luca Ottaviano <lottaviano@develer.com>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4843 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoMT29F NAND flash driver: add block erase function.
aleph [Fri, 8 Apr 2011 15:48:21 +0000 (15:48 +0000)]
MT29F NAND flash driver: add block erase function.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4842 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3 SMC includes, add NFC registers definitions.
aleph [Fri, 8 Apr 2011 15:47:17 +0000 (15:47 +0000)]
sam3 SMC includes, add NFC registers definitions.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4841 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3x-ek board: allow to build the display demo using the IAR compiler
arighi [Fri, 8 Apr 2011 09:45:04 +0000 (09:45 +0000)]
sam3x-ek board: allow to build the display demo using the IAR compiler

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4840 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3x: add IAR-specific linker scripts
arighi [Fri, 8 Apr 2011 09:44:59 +0000 (09:44 +0000)]
sam3x: add IAR-specific linker scripts

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4839 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agomenu: avoid starving other processes in menu_handle()
arighi [Fri, 8 Apr 2011 09:44:57 +0000 (09:44 +0000)]
menu: avoid starving other processes in menu_handle()

When CONFIG_MENU_SMOOTH is enabled the menu_handle() can run
indefinitely without explicitly releasing the CPU.

So, add a voluntary preemption point in menu_handle() to avoid
starvation of the other processes when the kernel preemption is not
enabled.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4838 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoCM3: add support to the IAR Embedded Workbench(TM) compiler
arighi [Fri, 8 Apr 2011 09:44:54 +0000 (09:44 +0000)]
CM3: add support to the IAR Embedded Workbench(TM) compiler

Allow to build BeRTOS projects based on the CM3 architecture with the
IAR compiler.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4837 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoadd support to the IAR Embedded Workbench(TM) compiler
arighi [Fri, 8 Apr 2011 09:44:50 +0000 (09:44 +0000)]
add support to the IAR Embedded Workbench(TM) compiler

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4836 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix compilation warnings.
lottaviano [Thu, 7 Apr 2011 07:53:52 +0000 (07:53 +0000)]
Fix compilation warnings.

LWIP sys_thread_new() should not modify the thread name in input,
fixed using the const qualifier.
This is also fixed in upstream LWIP code.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4835 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoInitial sketch of a driver for MT29F serial NAND.
aleph [Wed, 6 Apr 2011 15:48:25 +0000 (15:48 +0000)]
Initial sketch of a driver for MT29F serial NAND.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4834 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3: add missing SMC register definition.
aleph [Wed, 6 Apr 2011 15:44:57 +0000 (15:44 +0000)]
sam3: add missing SMC register definition.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4833 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix warnings.
asterix [Mon, 4 Apr 2011 17:33:05 +0000 (17:33 +0000)]
Fix warnings.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4832 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoSilence new compiler warnings.
batt [Sun, 3 Apr 2011 13:21:31 +0000 (13:21 +0000)]
Silence new compiler warnings.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4831 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix warnings on new compilers.
batt [Sun, 3 Apr 2011 13:08:59 +0000 (13:08 +0000)]
Fix warnings on new compilers.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4830 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agotest: fix path
aleph [Fri, 1 Apr 2011 09:16:42 +0000 (09:16 +0000)]
test: fix path

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4829 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd sam3x-ek tcp/ip example to nightly test
aleph [Wed, 30 Mar 2011 14:55:01 +0000 (14:55 +0000)]
Add sam3x-ek tcp/ip example to nightly test

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4828 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3x-ek: add TCP/IP example.
aleph [Wed, 30 Mar 2011 14:54:01 +0000 (14:54 +0000)]
sam3x-ek: add TCP/IP example.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4827 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd timer dependency to ethernet driver.
aleph [Wed, 30 Mar 2011 14:52:42 +0000 (14:52 +0000)]
Add timer dependency to ethernet driver.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4826 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3: add sam3 generic tag to SAM3X8 cpu info, to allow eth driver build.
aleph [Wed, 30 Mar 2011 14:05:39 +0000 (14:05 +0000)]
sam3: add sam3 generic tag to SAM3X8 cpu info, to allow eth driver build.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4825 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3 eth: consider PHY auto-negotiation results when initializing emac.
aleph [Wed, 30 Mar 2011 14:05:00 +0000 (14:05 +0000)]
sam3 eth: consider PHY auto-negotiation results when initializing emac.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4824 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix variable name. Remove for now the api from doxygen. Add callback for streaming.
asterix [Wed, 30 Mar 2011 10:33:27 +0000 (10:33 +0000)]
Fix variable name. Remove for now the api from doxygen. Add callback for streaming.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4823 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd comment. Clean up. Sync dac with the timer.
asterix [Tue, 29 Mar 2011 15:12:05 +0000 (15:12 +0000)]
Add comment. Clean up. Sync dac with the timer.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4822 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoReformat dac module to use tc. Clean up code.
asterix [Tue, 29 Mar 2011 10:13:30 +0000 (10:13 +0000)]
Reformat dac module to use tc. Clean up code.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4821 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoDefine dac trigger selections.
asterix [Tue, 29 Mar 2011 10:11:22 +0000 (10:11 +0000)]
Define dac trigger selections.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4820 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd the hw context in the dac structure. Reformat to use the new context.
asterix [Tue, 29 Mar 2011 10:02:51 +0000 (10:02 +0000)]
Add the hw context in the dac structure. Reformat to use the new context.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4819 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix pasto. Add define for tc clock selections.
asterix [Tue, 29 Mar 2011 09:59:20 +0000 (09:59 +0000)]
Fix pasto. Add define for tc clock selections.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4818 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoCorrectly set errno when sockets API is enabled.
lottaviano [Mon, 28 Mar 2011 12:18:41 +0000 (12:18 +0000)]
Correctly set errno when sockets API is enabled.

The sockets.c provides BSD compatible sockets API, which uses errno
to communicate which error occurred.
Without setting ERRNO, it's not possible to find out which error
occurred, eg. it's not possible to understand if the peer reset the
connection after a call to send().

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4817 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd sam3x dac private funcion to use hight level api.
asterix [Mon, 28 Mar 2011 10:25:37 +0000 (10:25 +0000)]
Add sam3x dac private funcion to use hight level api.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4816 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFirst implementation of dac api (beta version).
asterix [Mon, 28 Mar 2011 09:57:47 +0000 (09:57 +0000)]
First implementation of dac api (beta version).

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4815 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd header to choose the right cpu dependet dac implementation.
asterix [Mon, 28 Mar 2011 09:56:56 +0000 (09:56 +0000)]
Add header to choose the right cpu dependet dac implementation.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4814 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix typo.
asterix [Mon, 28 Mar 2011 09:29:21 +0000 (09:29 +0000)]
Fix typo.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4813 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3 eth: fix phy initialization.
aleph [Sat, 26 Mar 2011 17:34:48 +0000 (17:34 +0000)]
sam3 eth: fix phy initialization.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4812 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoSet the correct svn:eol-style=native property, please ignore.
batt [Sat, 26 Mar 2011 08:43:59 +0000 (08:43 +0000)]
Set the correct svn:eol-style=native  property, please ignore.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4811 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoRemove wrong eol.
asterix [Fri, 25 Mar 2011 17:03:38 +0000 (17:03 +0000)]
Remove wrong eol.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4810 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoPasto.
asterix [Fri, 25 Mar 2011 16:46:31 +0000 (16:46 +0000)]
Pasto.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4809 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoRemove compile time warnings.
lottaviano [Fri, 25 Mar 2011 08:18:49 +0000 (08:18 +0000)]
Remove compile time warnings.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4808 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoRemove doxygen warnings
lottaviano [Fri, 25 Mar 2011 08:18:25 +0000 (08:18 +0000)]
Remove doxygen warnings

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4807 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoUpdate the project to compile dacc.
asterix [Wed, 23 Mar 2011 18:56:55 +0000 (18:56 +0000)]
Update the project to compile dacc.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4806 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd write function for dac.
asterix [Wed, 23 Mar 2011 18:55:56 +0000 (18:55 +0000)]
Add write function for dac.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4805 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd preliminary Timer counter register definition.
asterix [Wed, 23 Mar 2011 18:54:43 +0000 (18:54 +0000)]
Add preliminary Timer counter register definition.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4804 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3 eth: handle phy addr in phy maintenance functions; increase management
aleph [Wed, 23 Mar 2011 17:38:52 +0000 (17:38 +0000)]
sam3 eth: handle phy addr in phy maintenance functions; increase management
interface clock divider; change phy address.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4803 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd SAM3 cpu to printf formatters definition for lwip
aleph [Wed, 23 Mar 2011 17:25:53 +0000 (17:25 +0000)]
Add SAM3 cpu to printf formatters definition for lwip

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4802 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFirst implementation of dac module.
asterix [Wed, 23 Mar 2011 15:07:32 +0000 (15:07 +0000)]
First implementation of dac module.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4801 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix headerguard.
asterix [Wed, 23 Mar 2011 14:58:06 +0000 (14:58 +0000)]
Fix headerguard.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4800 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix cpu tag to differ from sam3n and sam3x.
asterix [Wed, 23 Mar 2011 14:57:31 +0000 (14:57 +0000)]
Fix cpu tag to differ from sam3n and sam3x.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4799 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd dma register definition for dac.
asterix [Tue, 22 Mar 2011 18:47:14 +0000 (18:47 +0000)]
Add dma register definition for dac.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4798 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd sam3x example to nightly test.
asterix [Tue, 22 Mar 2011 14:57:50 +0000 (14:57 +0000)]
Add sam3x example to nightly test.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4797 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoSome fix to build example with nightly test.
asterix [Tue, 22 Mar 2011 14:54:48 +0000 (14:54 +0000)]
Some fix to build example with nightly test.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4796 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoUpdate to new name.
asterix [Tue, 22 Mar 2011 14:42:08 +0000 (14:42 +0000)]
Update to new name.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4795 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoRename project files.
asterix [Tue, 22 Mar 2011 14:41:16 +0000 (14:41 +0000)]
Rename project files.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4794 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoRename project to allow the nightly test build.
asterix [Tue, 22 Mar 2011 14:37:33 +0000 (14:37 +0000)]
Rename project to allow the nightly test build.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4793 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd dacc sam3x register definitions.
asterix [Tue, 22 Mar 2011 14:26:45 +0000 (14:26 +0000)]
Add dacc sam3x register definitions.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4792 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd adc to example.
asterix [Tue, 22 Mar 2011 13:10:18 +0000 (13:10 +0000)]
Add adc to example.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4791 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd some utility to read the temperature sensor on chip.
asterix [Tue, 22 Mar 2011 13:09:40 +0000 (13:09 +0000)]
Add some utility to read the temperature sensor on chip.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4790 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix log message. Add define for temperature sensor.
asterix [Tue, 22 Mar 2011 13:08:45 +0000 (13:08 +0000)]
Fix log message. Add define for temperature sensor.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4789 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd flag to configure the adc with wizard.
asterix [Mon, 21 Mar 2011 18:37:06 +0000 (18:37 +0000)]
Add flag to configure the adc with wizard.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4788 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd comments and clean up.
asterix [Mon, 21 Mar 2011 18:04:26 +0000 (18:04 +0000)]
Add comments and clean up.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4787 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd adc register definifion for sam3x.
asterix [Mon, 21 Mar 2011 17:57:19 +0000 (17:57 +0000)]
Add adc register definifion for sam3x.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4786 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd adc implementation for sam3x.
asterix [Mon, 21 Mar 2011 17:56:21 +0000 (17:56 +0000)]
Add adc implementation for sam3x.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4785 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix (more) doxygen warnings
lottaviano [Sat, 19 Mar 2011 15:24:44 +0000 (15:24 +0000)]
Fix (more) doxygen warnings

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4784 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoComply register name to datasheet.
asterix [Fri, 18 Mar 2011 12:37:30 +0000 (12:37 +0000)]
Comply register name to datasheet.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4783 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd register definition for sam3 adc.
asterix [Fri, 18 Mar 2011 09:50:02 +0000 (09:50 +0000)]
Add register definition for sam3 adc.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4782 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix nightly test warnings
lottaviano [Thu, 17 Mar 2011 12:11:19 +0000 (12:11 +0000)]
Fix nightly test warnings

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4781 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd seven segment LED display implementation for Arduino Mega.
lottaviano [Wed, 16 Mar 2011 13:33:13 +0000 (13:33 +0000)]
Add seven segment LED display implementation for Arduino Mega.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4780 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd seven segment LED driver.
lottaviano [Wed, 16 Mar 2011 13:26:11 +0000 (13:26 +0000)]
Add seven segment LED driver.

Signed-off-by: Fabio Bizzi <fabio.bizzi@gmail.com>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4779 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAdd seven segmend LED display driver (config files).
lottaviano [Wed, 16 Mar 2011 13:06:13 +0000 (13:06 +0000)]
Add seven segmend LED display driver (config files).

This driver allows to display text on a seven segment LED display.

Signed-off-by: Fabio Bizzi <fabio.bizzi@gmail.com>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4778 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3: include emac definition
aleph [Wed, 16 Mar 2011 10:34:57 +0000 (10:34 +0000)]
sam3: include emac definition

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4777 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoEthernet driver for SAM3X.
aleph [Wed, 16 Mar 2011 10:33:22 +0000 (10:33 +0000)]
Ethernet driver for SAM3X.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4776 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3: add register definitions for RSTC and EMAC
aleph [Wed, 16 Mar 2011 10:32:09 +0000 (10:32 +0000)]
sam3: add register definitions for RSTC and EMAC

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4775 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoAllow selectively disabling debug features to reduce code/data size
arighi [Tue, 15 Mar 2011 16:59:27 +0000 (16:59 +0000)]
Allow selectively disabling debug features to reduce code/data size

Kdebug already contained preprocessor symbols for turning off ASSERT2()
messages and trace, but it was not possible to override them from
cfg_debug.h.

This patch renames the old options to use positive logic and add a
third option to enable walls. The defaults remain unchanged.

TODO: add these settings to cfg/cfg_debug.h, along with some
documentation.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4774 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoser_avr: warn for excessive baudrate skew
arighi [Tue, 15 Mar 2011 16:59:25 +0000 (16:59 +0000)]
ser_avr: warn for excessive baudrate skew

On the Arduino running at 16MHz, setting the baudrate to 115200 results
in a 3.5% error, which is enough to cause occasional framing errors with
some adapters which are quite hard to debug.

This patch factors the code for computing the period in a single place
and adds a warning when the baudrate skew exceeds 3%.

Signed-off-by: Bernie Innocenti <bernie@codewiz.org>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4773 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agousb: introduce usb_endpointReadTimeout() and usb_endpointWriteTimeout()
arighi [Tue, 15 Mar 2011 16:49:22 +0000 (16:49 +0000)]
usb: introduce usb_endpointReadTimeout() and usb_endpointWriteTimeout()

Allow to specify a timeout for the usb read/write functions. The timeout
is an upper bound on the amount of time (in ms) elapsed before returns.

If timeout is zero, the the function returns immediatly and it basically
works in non-blocking fashion. A negative value for the timeout means
that the function can block indefinitely.

The last case is basically the old usb_endpointRead/Write() behaviour,
so the compatibility with the old API is respected using this value for
the timeout.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4772 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoSTM32: flash: make flash_wait() a voluntary preemption point
arighi [Mon, 14 Mar 2011 14:40:07 +0000 (14:40 +0000)]
STM32: flash: make flash_wait() a voluntary preemption point

A process that writes large chunks of data to the embedded flash can
monopolize the CPU for a very long time if the flash is fast enough to
write data words.

This is bad from the real-time perspective, so make flash_wait() a
voluntary preemption point, also in the case when the flash is fast
enough and never goes in busy state.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4771 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoFix serial baudrate setting on the Arduino Uno
arighi [Mon, 14 Mar 2011 14:01:27 +0000 (14:01 +0000)]
Fix serial baudrate setting on the Arduino Uno

The Arduino bootloader toggles the U2X0 bit in UCSR0A and leaves it set,
causing the baudrate to be doubled.

Signed-off-by: Bernie Innocenti <bernie@codewiz.org>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4770 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoevent: generic event refactoring
arighi [Mon, 14 Mar 2011 12:01:12 +0000 (12:01 +0000)]
event: generic event refactoring

Fix the behaviour of the following primitives:

 - event_waitTimeout(): this is now implemented using a single
   sig_wait() on the event's embedded sigmask. The timeout is notified
   using a custom timer handler that sends the signal SIG_TIMEOUT to the
   same event's embedded sigmask. This also fixes the hard-fault bug
   reported by Nicolas Dandrimont:
   (http://lists.develer.com/pipermail/bertos/2011-March/003164.html)

 - event_select(): multiple event wait routine. Implement this
   functionality mapping multiple events to different signal bits of the
   process's sigmask and performing a single sig_wait() on that mask.
   Signal bits are "allocated" internally by the event_select() itself and
   must not be provided by the user.

NOTE: event_select() should be still considered an experimental feature,
so the API may change in the future (as reported in the documentation).

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4769 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosignal: change sig_waitTimeoutSignal() to accept custom timeout hook
arighi [Mon, 14 Mar 2011 12:01:10 +0000 (12:01 +0000)]
signal: change sig_waitTimeoutSignal() to accept custom timeout hook

Change sig_waitTimeoutSignal() to accept a function hook to be called
when the timeout expires, instead of always using the default timeout
callback.

This makes possible to specify custom timeout actions, i.e. changing the
state of other dependent or derived objects (e.g., events).

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4768 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosignal: move some of the API documentation in signal.h
arighi [Mon, 14 Mar 2011 12:01:07 +0000 (12:01 +0000)]
signal: move some of the API documentation in signal.h

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4767 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosignal: speed up sig_check()
arighi [Mon, 14 Mar 2011 12:01:05 +0000 (12:01 +0000)]
signal: speed up sig_check()

Always inline sig_checkSignal() and provide a "faster" IRQ-less version
__sig_checkSignal(), available for the internal BeRTOS core components.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4766 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agomove Hook type definition in cfg/compiler.h for a more generic usage
arighi [Mon, 14 Mar 2011 12:01:02 +0000 (12:01 +0000)]
move Hook type definition in cfg/compiler.h for a more generic usage

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4765 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoSAM3X-EK: external SDRAM initialization.
aleph [Thu, 10 Mar 2011 17:51:22 +0000 (17:51 +0000)]
SAM3X-EK: external SDRAM initialization.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4764 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoSAM3X-EK display example: initialize external SDRAM and use it for display bitmap.
aleph [Thu, 10 Mar 2011 17:50:19 +0000 (17:50 +0000)]
SAM3X-EK display example: initialize external SDRAM and use it for display bitmap.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4763 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoSAM3: add SDRAM controller definitions.
aleph [Thu, 10 Mar 2011 17:49:16 +0000 (17:49 +0000)]
SAM3: add SDRAM controller definitions.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4762 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoRefactor pwm driver; add documentation.
batt [Thu, 10 Mar 2011 15:52:16 +0000 (15:52 +0000)]
Refactor pwm driver; add documentation.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4761 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3x-ek board example: remove old warning inadvertently slipped in.
aleph [Wed, 9 Mar 2011 14:25:26 +0000 (14:25 +0000)]
sam3x-ek board example: remove old warning inadvertently slipped in.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4760 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agotimer: change timer_delayTicks() to use generic events
arighi [Tue, 8 Mar 2011 11:32:20 +0000 (11:32 +0000)]
timer: change timer_delayTicks() to use generic events

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4759 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoevents: do not inline event_select()
arighi [Tue, 8 Mar 2011 09:48:03 +0000 (09:48 +0000)]
events: do not inline event_select()

The body of the function is too large to be inlined by the compiler, so
just move the implementaiton of the function in a events.c.

This also fixes the following nightly build errors:

FAILED [BUILD]: timer_test
In file included from bertos/algo/ramp.h:52,
                 from bertos/algo/ramp.c:104:
bertos/hw/hw_stepper.h:49:2: warning: #warning TODO:This is an example implentation, you must implement it!
bertos/hw/hw_stepper.h:144:2: warning: #warning TODO: This macro is not implemented (see below)
bertos/hw/hw_stepper.h:156:2: warning: #warning TODO: This macro is not implemented (see below)
In file included from bertos/mware/event.c:40:
bertos/mware/event.h: In function 'event_select':
bertos/mware/event.h:318: warning: implicit declaration of function 'timer_clock'
bertos/mware/event.h:333: warning: implicit declaration of function 'TIMER_AFTER'
In file included from bertos/mware/event.h:343,
                 from bertos/mware/event.c:40:
bertos/drv/timer.h: At top level:
bertos/drv/timer.h:134: error: static declaration of 'timer_clock' follows non-static declaration

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4758 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoevent: introduce event_select()
arighi [Mon, 7 Mar 2011 18:34:01 +0000 (18:34 +0000)]
event: introduce event_select()

Add the following primitive to wait the completion of multiple generic
events:

  int event_select(Event **evs, int n, ticks_t timeout);

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4757 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosignal: split user and system signals in two distinct intervals
arighi [Mon, 7 Mar 2011 18:33:59 +0000 (18:33 +0000)]
signal: split user and system signals in two distinct intervals

Reorganize the bits of sigmask_t so that signals that can be used by
drivers or user applications and signals reserved for internal system
use are placed in two distinct intervals:

  * * * . . . . .
 |_|_|_|_|_|_|_|_|
  7 6 5 4 3 2 1 0  sigmask_t bits

 (*) bits [5-7] are reserved for internal system usage (SIG_TIMEOUT, etc.)
 (.) bits [0-4] are available for driver and user applications usage

This makes easier to allocate a range of contiguous signals. This can be
used for example to wait the occurrence of multiple events, multiplexing
them with multiple signal bits.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4756 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoevent: remove unused hook
arighi [Mon, 7 Mar 2011 15:08:59 +0000 (15:08 +0000)]
event: remove unused hook

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4755 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3x-ek board: add display demo
aleph [Fri, 4 Mar 2011 16:01:49 +0000 (16:01 +0000)]
sam3x-ek board: add display demo

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4754 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3 pmc: add functions to handle peripheral clock enable/disable;
aleph [Fri, 4 Mar 2011 16:00:34 +0000 (16:00 +0000)]
sam3 pmc: add functions to handle peripheral clock enable/disable;
add definitions to PMC sam3x registers

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4753 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosignal: fix a build warning with CONFIG_KERN_SIGNALS disabled
arighi [Thu, 3 Mar 2011 17:33:10 +0000 (17:33 +0000)]
signal: fix a build warning with CONFIG_KERN_SIGNALS disabled

Fix a build warning when CONFIG_KERN_SIGNALS is not enabled and
kern/signal.c is included the same by any Makefile.

[ This is basically triggered by the make check only. ]

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4752 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agomove TIMER_AFTER() and TIMER_BEFORE() macros in drv/timer.h
arighi [Thu, 3 Mar 2011 17:01:41 +0000 (17:01 +0000)]
move TIMER_AFTER() and TIMER_BEFORE() macros in drv/timer.h

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4751 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agoevents: fix signal overlapping in generic events
arighi [Thu, 3 Mar 2011 16:24:18 +0000 (16:24 +0000)]
events: fix signal overlapping in generic events

When the kernel is enabled the generic events subsystem uses SIG_SYSTEM5
to synchronize the completion of the events.

The owner (process) of an event is assigned when the event is
initialized via event_initGeneric().

It may happen that the same process initializes more than one event, so
when one of them is triggered the process is awakened independently on
the event it is waiting for.

Fix this by moving the signal masks into the generic event structure and
export a new signal API to directly accept the signal masks, instead of
implicitly using the signal masks of the current process.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4750 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosignal: introduce a low-level API to specify the particular signal masks to use
arighi [Thu, 3 Mar 2011 16:24:16 +0000 (16:24 +0000)]
signal: introduce a low-level API to specify the particular signal masks to use

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4749 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosignal: introduce a struct to represent a signal
arighi [Thu, 3 Mar 2011 16:24:13 +0000 (16:24 +0000)]
signal: introduce a struct to represent a signal

Replace the sig_recv and sig_wait mask with a single structure that
contains both masks.

This doesn't introduce any change in the code, it's just code restyling.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4748 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agosam3x-ek: set system clock at 84 MHz
aleph [Thu, 3 Mar 2011 14:10:48 +0000 (14:10 +0000)]
sam3x-ek: set system clock at 84 MHz

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4747 38d2e660-2303-0410-9eaa-f027e97ec537