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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
arighi [Thu, 17 Feb 2011 14:15:51 +0000 (14:15 +0000)]
sec: properly handle unaligned memory in xor_block() and xor_block_const()
This also fixes the following build warnings:
warning: cast increases required alignment of target type
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4712
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Thu, 17 Feb 2011 13:13:18 +0000 (13:13 +0000)]
Use relative paths when creating a project.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4711
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Thu, 17 Feb 2011 11:13:55 +0000 (11:13 +0000)]
Remove path from toolchain when creating presets (use the system one).
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4710
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Thu, 17 Feb 2011 11:12:48 +0000 (11:12 +0000)]
Add findInPath method; search for toolchains in system path.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4709
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Wed, 16 Feb 2011 18:21:40 +0000 (18:21 +0000)]
Initialize timer magic number.
There is a (very low) chance that the stack memory
contains the wrong magic number causing ASSERTs to fire.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4708
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Wed, 16 Feb 2011 11:58:43 +0000 (11:58 +0000)]
Fix nightly test (really).
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4707
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 15 Feb 2011 13:32:19 +0000 (13:32 +0000)]
Use more descriptive error messages for invalid stacks in proc_new()
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4706
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 14 Feb 2011 16:50:34 +0000 (16:50 +0000)]
Fix nightly test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4705
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Sun, 13 Feb 2011 12:16:35 +0000 (12:16 +0000)]
Spacing fix
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4704
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Sun, 13 Feb 2011 12:16:08 +0000 (12:16 +0000)]
sam3n4 cpu def: fix comment
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4703
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Sun, 13 Feb 2011 12:13:07 +0000 (12:13 +0000)]
sam3: fix clock initialization to work with sam3x too
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4702
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Sun, 13 Feb 2011 12:12:05 +0000 (12:12 +0000)]
Add SAM3X8 support: linker script, cpu detection, wizard CPU definition
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4701
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Sun, 13 Feb 2011 12:10:20 +0000 (12:10 +0000)]
sam3: new cpu SAM3X8, add I/O base addresses, and update interrupt list
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4700
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 11 Feb 2011 15:02:21 +0000 (15:02 +0000)]
USB: allow to configure the maximum packet size of EP0
All USB devices support endpoint 0 (EP0) when powered up. This endpoint
is the target of the default pipe. After the attachment of a device has
been detected, the USB software uses endpoint 0 to initialise the
device, perform generic (i.e., non device-specific) configuration, and
obtain information about the other endpoints provided by the device.
The descriptor of EP0 is hard-coded into the low-level device driver of
each target platform, and cannot be re-defined by the user to implement
a custom USB device. So, expose the maximum packet size of this special
endpoint as a configurable parameter into the wizard.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4699
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 11 Feb 2011 15:02:16 +0000 (15:02 +0000)]
move ACCESS_SAFE() macro into bertos/cfg/compiler.h
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4698
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 11 Feb 2011 15:02:12 +0000 (15:02 +0000)]
STM32: USB: handle both input and output requests in the event handler callback
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4697
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Fri, 11 Feb 2011 10:28:28 +0000 (10:28 +0000)]
Updated default crystal and CPU frequency.
The previous crystal value didn't exist. Fixed default CPU frequency
and crystal value.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4696
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Fri, 11 Feb 2011 10:25:34 +0000 (10:25 +0000)]
White space fixes.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4695
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Thu, 10 Feb 2011 13:42:22 +0000 (13:42 +0000)]
STM32: GPIO: use uint16_t for the mask of pins that we want read/write
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4694
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 9 Feb 2011 15:23:50 +0000 (15:23 +0000)]
random: add module dependencies
For now, just include the union of all the possible dependencies.
For the future it would be better to selectively include only the
required dependencies in function of the RANDOM_SECURITY_LEVEL
parameter.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4693
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 9 Feb 2011 15:23:48 +0000 (15:23 +0000)]
random: integrate the random module into the wizard
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4692
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 9 Feb 2011 15:23:45 +0000 (15:23 +0000)]
CM3: allow to define function in RAM by the RAM_FUNC macro
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4691
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 9 Feb 2011 09:06:21 +0000 (09:06 +0000)]
USB: define the new options CONFIG_USB_EP_MAX and CONFIG_USB_INTERFACE_MAX in the example projects
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4690
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 9 Feb 2011 09:06:17 +0000 (09:06 +0000)]
USB: max number of endpoints can be equal to the number of interfaces
When only the endpoint 0 is used for a USB device, the number of
endpoints can be equal to the number of interfaces.
This also fixes the following bug in the nightly test build:
bertos/drv/usb_endpoint.h:77: error: size of array 'STATIC_ASSERTION_FAILED__' is negative
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4689
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 7 Feb 2011 15:32:45 +0000 (15:32 +0000)]
STM32: RTC: add missing include
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4688
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 7 Feb 2011 15:30:10 +0000 (15:30 +0000)]
usb: fix the name of endpoint's direction in debugging messages
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4687
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 7 Feb 2011 14:17:11 +0000 (14:17 +0000)]
usb: check the real number of endpoints in STATIC_ASSERT()
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4686
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 7 Feb 2011 13:53:48 +0000 (13:53 +0000)]
usb: make the maximum number of interfaces and endpoints as configuration parameters
Allow to change the maximum number of supported interfaces and endpoints
per device from the wizard.
These options can be useful to create custom USB devices without
changing internal BeRTOS components.
If only the standard USB devices already supported by BeRTOS are used
there's no need to change such options, and the default behaviour is to
auto-detect these values and evaluate them at compile-time, according to
the selected drivers.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4685
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 7 Feb 2011 11:43:50 +0000 (11:43 +0000)]
flash: fix example usage documentation
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4684
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 7 Feb 2011 10:50:43 +0000 (10:50 +0000)]
STM32: RTC: add dependency of module "proc"
The RTC driver makes use of cpu_relax(). Be sure the proc module has
been properly initialized before starting the RTC when CONFIG_KERN is
enabled.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4683
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 4 Feb 2011 17:48:11 +0000 (17:48 +0000)]
STM32-P103: add real-time clock (RTC) driver
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4682
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 4 Feb 2011 10:15:57 +0000 (10:15 +0000)]
timer: fix a build warning and add a comment
Fix the following build warning:
bertos/drv/timer.c:292: warning: signed and unsigned type in conditional expression
And comment the formula used to evaluate the timer delta.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4681
38d2e660-2303-0410-9eaa-
f027e97ec537