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

13 years agosec: properly handle unaligned memory in xor_block() and xor_block_const()
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

13 years agoUse relative paths when creating a project.
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

13 years agoRemove path from toolchain when creating presets (use the system one).
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

13 years agoAdd findInPath method; search for toolchains in system path.
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

13 years agoInitialize timer magic number.
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

13 years agoFix nightly test (really).
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

13 years agoUse more descriptive error messages for invalid stacks in proc_new()
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

13 years agoFix nightly test.
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

13 years agoSpacing fix
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

13 years agosam3n4 cpu def: fix comment
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

13 years agosam3: fix clock initialization to work with sam3x too
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

13 years agoAdd SAM3X8 support: linker script, cpu detection, wizard CPU definition
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

13 years agosam3: new cpu SAM3X8, add I/O base addresses, and update interrupt list
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

13 years agoUSB: allow to configure the maximum packet size of EP0
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

13 years agomove ACCESS_SAFE() macro into bertos/cfg/compiler.h
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

13 years agoSTM32: USB: handle both input and output requests in the event handler callback
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

13 years agoUpdated default crystal and CPU frequency.
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

13 years agoWhite space fixes.
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

13 years agoSTM32: GPIO: use uint16_t for the mask of pins that we want read/write
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

13 years agorandom: add module dependencies
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

13 years agorandom: integrate the random module into the wizard
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

13 years agoCM3: allow to define function in RAM by the RAM_FUNC macro
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

13 years agoUSB: define the new options CONFIG_USB_EP_MAX and CONFIG_USB_INTERFACE_MAX in the...
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

13 years agoUSB: max number of endpoints can be equal to the number of interfaces
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

13 years agoSTM32: RTC: add missing include
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

13 years agousb: fix the name of endpoint's direction in debugging messages
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

13 years agousb: check the real number of endpoints in STATIC_ASSERT()
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

13 years agousb: make the maximum number of interfaces and endpoints as configuration parameters
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

13 years agoflash: fix example usage documentation
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

13 years agoSTM32: RTC: add dependency of module "proc"
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

13 years agoSTM32-P103: add real-time clock (RTC) driver
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

13 years agotimer: fix a build warning and add a comment
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

13 years agoMerged from external project:
batt [Thu, 3 Feb 2011 18:29:25 +0000 (18:29 +0000)]
Merged from external project:
**********
r30427 | aleph | 2011-02-03 17:20:19 +0100 (gio, 03 feb 2011) | 2 lines

timer driver: fix wrap bug in HP timer delay

**********

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

13 years agoAdd missing configuration file for EEPROM driver.
batt [Thu, 3 Feb 2011 18:21:41 +0000 (18:21 +0000)]
Add missing configuration file for EEPROM driver.

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

13 years agoFix comment.
batt [Thu, 3 Feb 2011 18:21:16 +0000 (18:21 +0000)]
Fix comment.

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

13 years agoLoad new page only on buffered devices.
batt [Thu, 3 Feb 2011 18:19:43 +0000 (18:19 +0000)]
Load new page only on buffered devices.

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

13 years agoAdd coding style checker script.
lottaviano [Thu, 3 Feb 2011 13:25:02 +0000 (13:25 +0000)]
Add coding style checker script.

Usage: codingstyle.pl < file/to/test
Utility script to check the coding style of each file.

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

13 years agoDo not send a stop condition while sending the slave address.
batt [Thu, 3 Feb 2011 13:10:42 +0000 (13:10 +0000)]
Do not send a stop condition while sending the slave address.

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

13 years agoCorrectly handle reading/writing after EOF.
batt [Wed, 2 Feb 2011 21:02:54 +0000 (21:02 +0000)]
Correctly handle reading/writing after EOF.

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

13 years agoTake into account also the start block on trimmed devices.
batt [Wed, 2 Feb 2011 21:00:18 +0000 (21:00 +0000)]
Take into account also the start block on trimmed devices.

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

13 years agoAdd new function: kfile_copy().
batt [Wed, 2 Feb 2011 16:12:16 +0000 (16:12 +0000)]
Add new function: kfile_copy().

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

13 years agoAdd KFile seek and size members support.
batt [Wed, 2 Feb 2011 16:11:08 +0000 (16:11 +0000)]
Add KFile seek and size members support.

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

13 years agoRemove from documentation struct names not used.
lottaviano [Fri, 14 Jan 2011 08:27:06 +0000 (08:27 +0000)]
Remove from documentation struct names not used.

There are some structs defined as:
typedef struct _Foo {
...
} Foo;

With this patch, only Foo shows up in the documentation instead
of _Foo.

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

13 years agodoc: Add pool module documentation.
lottaviano [Fri, 14 Jan 2011 08:24:59 +0000 (08:24 +0000)]
doc: Add pool module documentation.

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

13 years agoAdd wizard support for ATmega2560
lottaviano [Wed, 12 Jan 2011 11:56:44 +0000 (11:56 +0000)]
Add wizard support for ATmega2560

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

13 years agodoc: Add the short introduction and OOP pages to generated docs
lottaviano [Tue, 4 Jan 2011 22:04:53 +0000 (22:04 +0000)]
doc: Add the short introduction and OOP pages to generated docs

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

13 years agodoc: Add clarifications for doxygen generated documentation
lottaviano [Tue, 4 Jan 2011 22:03:08 +0000 (22:03 +0000)]
doc: Add clarifications for doxygen generated documentation

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

13 years agodoc: Move short introduction page to general-introduction
lottaviano [Tue, 4 Jan 2011 22:02:03 +0000 (22:02 +0000)]
doc: Move short introduction page to general-introduction

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

13 years agodoc: Add README file, sorely missing from source code distribution
lottaviano [Tue, 4 Jan 2011 22:00:27 +0000 (22:00 +0000)]
doc: Add README file, sorely missing from source code distribution

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

13 years agoFilter always the menu warning, for nightly test.
asterix [Tue, 4 Jan 2011 09:28:00 +0000 (09:28 +0000)]
Filter always the menu warning, for nightly test.

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

13 years agoFix compilation issues on pool.h
lottaviano [Mon, 3 Jan 2011 09:52:12 +0000 (09:52 +0000)]
Fix compilation issues on pool.h

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

13 years agodoc: Move List documentation into its own section.
lottaviano [Mon, 3 Jan 2011 09:51:48 +0000 (09:51 +0000)]
doc: Move List documentation into its own section.

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

13 years agodoc: Add documentation for ASSERT and ASSERT2.
lottaviano [Mon, 3 Jan 2011 09:51:06 +0000 (09:51 +0000)]
doc: Add documentation for ASSERT and ASSERT2.

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

13 years agoSilent and fix warnings for nigthly test.
asterix [Mon, 3 Jan 2011 09:46:30 +0000 (09:46 +0000)]
Silent and fix warnings for nigthly test.

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