bertos.git
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

13 years agosam3 system clock setting: optimize run-time evaluation to prefer greater
aleph [Thu, 3 Mar 2011 14:02:59 +0000 (14:02 +0000)]
sam3 system clock setting: optimize run-time evaluation to prefer greater
multiplier and divider setting, and use compiled in multiplier and divider
values for common frequencies in sam3n/x/a.
Furthermore remove some useless CKGR settings and do things in a compatible
manner between sam3x and sam3n.

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

13 years agosam3 SMC definitions: sam3n/s have very different controllers from
aleph [Thu, 3 Mar 2011 14:00:14 +0000 (14:00 +0000)]
sam3 SMC definitions: sam3n/s have very different controllers from
sam3x/a/u: conditionally define without bothering with error, since
the file is included by sam3.h even if SMC is not used on sam3n/s

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

13 years agoek-lm3s1968: kbd driver depends on the proc module now
arighi [Thu, 3 Mar 2011 11:35:37 +0000 (11:35 +0000)]
ek-lm3s1968: kbd driver depends on the proc module now

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

13 years agodemo: kbd driver depends on the proc module now
arighi [Thu, 3 Mar 2011 11:35:31 +0000 (11:35 +0000)]
demo: kbd driver depends on the proc module now

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

13 years agokbd: use generic event synchronization
arighi [Thu, 3 Mar 2011 11:35:25 +0000 (11:35 +0000)]
kbd: use generic event synchronization

At the moment kbd_get() is a blocking function that spins without
releasing the CPU until a key is pressed.

Without a voluntary preemption hook the cooperative kernel resuls
completely stuck when kbd_get() is called and no key is pressed.

This basically makes kbd_get() useless in the most part of the cases.

Change this behaviour making kbd_get() a sleepable function and use the
generic events infrastructure to notify the occurrence of key-pressed
events to the sleeping processes.

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

13 years agoadd missing header limits.h
arighi [Thu, 3 Mar 2011 11:35:20 +0000 (11:35 +0000)]
add missing header limits.h

This also fixes a build bug of the demo application on recent Linux
distro.

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

13 years agosam3x-ek: add display backlight control
aleph [Wed, 2 Mar 2011 17:29:26 +0000 (17:29 +0000)]
sam3x-ek: add display backlight control

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

13 years agosam3x-ek empty template: init lcd
aleph [Wed, 2 Mar 2011 16:36:52 +0000 (16:36 +0000)]
sam3x-ek empty template: init lcd

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

13 years agosam3x-ek board: keyboard definitions for "left click" and "right click" switches
aleph [Wed, 2 Mar 2011 15:50:39 +0000 (15:50 +0000)]
sam3x-ek board: keyboard definitions for "left click" and "right click" switches

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

13 years agohx8347 lcd driver: missing BV() in PMC enable setting (ouch!)
aleph [Wed, 2 Mar 2011 15:49:21 +0000 (15:49 +0000)]
hx8347 lcd driver: missing BV() in PMC enable setting (ouch!)

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

13 years agohx8347 lcd driver: fix use of display window and RGB 565 arrangement in blit functions.
aleph [Wed, 2 Mar 2011 15:48:50 +0000 (15:48 +0000)]
hx8347 lcd driver: fix use of display window and RGB 565 arrangement in blit functions.

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

13 years agosam3 pio: add definitions for ports D, E and F.
aleph [Wed, 2 Mar 2011 15:47:01 +0000 (15:47 +0000)]
sam3 pio: add definitions for ports D, E and F.

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

13 years agoAdd new board: SAM3X-EK
aleph [Mon, 28 Feb 2011 15:12:04 +0000 (15:12 +0000)]
Add new board: SAM3X-EK

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

13 years agohx8347 lcd: Fix build warning in template hardware file
aleph [Mon, 28 Feb 2011 15:11:35 +0000 (15:11 +0000)]
hx8347 lcd: Fix build warning in template hardware file

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

13 years agoFix driver description
aleph [Mon, 28 Feb 2011 15:10:47 +0000 (15:10 +0000)]
Fix driver description

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

13 years agoAdd driver for Himax HX8347 LCD controller.
aleph [Sun, 27 Feb 2011 15:06:44 +0000 (15:06 +0000)]
Add driver for Himax HX8347 LCD controller.

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

13 years agoAdd wizard dependency for timer module
aleph [Sun, 27 Feb 2011 14:32:09 +0000 (14:32 +0000)]
Add wizard dependency for timer module

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

13 years agoAdd static memory controller include file
aleph [Sun, 27 Feb 2011 14:31:38 +0000 (14:31 +0000)]
Add static memory controller include file

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

13 years agosam3: register definition for static memory controller (SMC)
aleph [Fri, 25 Feb 2011 15:53:20 +0000 (15:53 +0000)]
sam3: register definition for static memory controller (SMC)

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

13 years agosam3 serial: define and generalize peripheral assignement (A, B, C,...) to serial...
aleph [Fri, 25 Feb 2011 10:32:40 +0000 (10:32 +0000)]
sam3 serial: define and generalize peripheral assignement (A, B, C,...) to serial I/O ports

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

13 years agodox: Fix nightly test warnings.
lottaviano [Fri, 25 Feb 2011 08:25:16 +0000 (08:25 +0000)]
dox: Fix nightly test warnings.

The bug mentioned in the comment is not reproducible with doxygen v. 1.7.1
and 1.7.3.

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

13 years agoAdd new macro: INT_MULT.
batt [Wed, 23 Feb 2011 18:20:08 +0000 (18:20 +0000)]
Add new macro: INT_MULT.

See commit for details.

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

13 years agosam3: generalize AB(CD)SR register definition for sam3x, add
aleph [Wed, 23 Feb 2011 16:53:22 +0000 (16:53 +0000)]
sam3: generalize AB(CD)SR register definition for sam3x, add
macro to handle it in cpu idependent way

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

13 years agoSAM3: fix mismatched UART and USART I/O pin assignment for all SAM3 cpus
aleph [Wed, 23 Feb 2011 15:49:04 +0000 (15:49 +0000)]
SAM3: fix mismatched UART and USART I/O pin assignment for all SAM3 cpus

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

13 years agoAdd wizard support and linker scripts for STM32F103RE
lottaviano [Wed, 23 Feb 2011 10:29:24 +0000 (10:29 +0000)]
Add wizard support and linker scripts for STM32F103RE

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

13 years agoAdd support for STM32F103RE CPU.
lottaviano [Wed, 23 Feb 2011 10:28:43 +0000 (10:28 +0000)]
Add support for STM32F103RE CPU.

Signed-off-by: Xavier Lagorce <Xavier.Lagorce@crans.org>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4721 38d2e660-2303-0410-9eaa-f027e97ec537

13 years agodoc: Add documentation for the pool memory allocator
lottaviano [Wed, 23 Feb 2011 10:01:47 +0000 (10:01 +0000)]
doc: Add documentation for the pool memory allocator

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

13 years agoFix undefined behaviour.
batt [Mon, 21 Feb 2011 22:27:21 +0000 (22:27 +0000)]
Fix undefined behaviour.

In the expression:
(a) ^= (b) ^= (a) ^= (b)
'a' and 'b' are evaluated and assigned multiple times, and it is
not clear in which order operations are performed.
This patch re-write the XOR swap in a more canonical way.

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

13 years agomove is_aligned() helper function into bertos/cfg/macros.h
arighi [Sat, 19 Feb 2011 00:06:31 +0000 (00:06 +0000)]
move is_aligned() helper function into bertos/cfg/macros.h

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

13 years agoSTM32: USB: correctly detect when read/write must be called without blocking
arighi [Fri, 18 Feb 2011 23:55:18 +0000 (23:55 +0000)]
STM32: USB: correctly detect when read/write must be called without blocking

Read or write operations with the EP0 may happen within the USB
interrupt.

Make the driver able to understand when the usb_endpointRead() or
usb_endpointWrite() is called from the interrupt context or not.

Basically, only the even callbacks concerning the EP0 should be called
in a interrupt context. For all the other cases the user must take care
of using usb_endpointRead() and usb_endointWrite() from a non-atomic
(sleepable) context.

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

13 years agoUse the new default frequency.
batt [Thu, 17 Feb 2011 15:12:14 +0000 (15:12 +0000)]
Use the new default frequency.

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

13 years agomove RAM_FUNC functions into a distinct section in RAM
arighi [Thu, 17 Feb 2011 14:59:38 +0000 (14:59 +0000)]
move RAM_FUNC functions into a distinct section in RAM

This also fixes the following build warning:

  Warning: ignoring changed section attributes for .data

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

13 years agosec: fix type qualifier ambiguity
arighi [Thu, 17 Feb 2011 14:59:35 +0000 (14:59 +0000)]
sec: fix type qualifier ambiguity

Fix the following build warning:

  bertos/sec/cipher/aes_f32.h:443: warning: type qualifiers ignored on function return type

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

13 years agosec: silent wrong compiler warning in isaac
arighi [Thu, 17 Feb 2011 14:15:54 +0000 (14:15 +0000)]
sec: silent wrong compiler warning in isaac

Silent the following compiler warning:

  bertos/sec/prng/isaac.c: In function 'isaac':
  bertos/sec/prng/isaac.c:76: warning: cast increases required alignment of target type

The warning was reported the ind() macro, that casts the first argument
(a uint32_t *) to a (uint8_t *) adds a value to it and re-casts back to
(uint32_t *).

However, the value added to the pointer is always a multiple of
uint32_t, so the warning can be suppressed without potential side
effects.

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