]> rtime.felk.cvut.cz Git - orte.git/log
orte.git
10 years agoJORTE: add wrapper for ORTESubscriptionPull() and revert ORTEDomainStart() removal
Martin Vajnar [Sat, 24 Aug 2013 10:55:39 +0000 (12:55 +0200)]
JORTE: add wrapper for ORTESubscriptionPull() and revert ORTEDomainStart() removal

10 years agoROBOT_DEMO: add publishers for "crane_cmd" and "magnet_cmd"
Martin Vajnar [Sat, 24 Aug 2013 09:35:23 +0000 (11:35 +0200)]
ROBOT_DEMO: add publishers for "crane_cmd" and "magnet_cmd"

10 years agoROBOT_DEMO: limit HOKUYO range
Martin Vajnar [Fri, 23 Aug 2013 12:18:20 +0000 (14:18 +0200)]
ROBOT_DEMO: limit HOKUYO range

10 years agoROBOT_DEMO: implement voltage monitor
Martin Vajnar [Fri, 23 Aug 2013 11:49:46 +0000 (13:49 +0200)]
ROBOT_DEMO: implement voltage monitor

10 years agoROBOT_DEMO: prepare for voltage monitor
Martin Vajnar [Thu, 22 Aug 2013 20:44:46 +0000 (22:44 +0200)]
ROBOT_DEMO: prepare for voltage monitor

Add dialog for voltage monitor.

10 years agoROBOT_DEMO: add motion speed subscriber
Martin Vajnar [Wed, 21 Aug 2013 21:03:31 +0000 (23:03 +0200)]
ROBOT_DEMO: add motion speed subscriber

Add motion speed monitor.

10 years agoROBOT_DEMO: draw scale in HokuyoView
Martin Vajnar [Tue, 20 Aug 2013 17:48:01 +0000 (19:48 +0200)]
ROBOT_DEMO: draw scale in HokuyoView

10 years agoROBOT_DEMO: fix starting index and inverted logic
Martin Vajnar [Mon, 19 Aug 2013 21:32:03 +0000 (23:32 +0200)]
ROBOT_DEMO: fix starting index and inverted logic

10 years agoROBOT_DEMO: scale HOKUYO view to fit the screen
Martin Vajnar [Mon, 19 Aug 2013 21:06:31 +0000 (23:06 +0200)]
ROBOT_DEMO: scale HOKUYO view to fit the screen

10 years agoROBOT_DEMO: screen orientation for motion control
Martin Vajnar [Mon, 19 Aug 2013 15:07:26 +0000 (17:07 +0200)]
ROBOT_DEMO: screen orientation for motion control

Force portrait screen orientation when motion control (motion_speed)
is active.

10 years agoROBOT_DEMO: enable screen rotation
Martin Vajnar [Mon, 19 Aug 2013 12:52:02 +0000 (14:52 +0200)]
ROBOT_DEMO: enable screen rotation

10 years agoROBOT_DEMO: use higher sampling rate for accelerometer
Martin Vajnar [Tue, 6 Aug 2013 17:53:08 +0000 (19:53 +0200)]
ROBOT_DEMO: use higher sampling rate for accelerometer

10 years agoROBOT_DEMO: simplify MessageData types
Martin Vajnar [Tue, 6 Aug 2013 17:51:51 +0000 (19:51 +0200)]
ROBOT_DEMO: simplify MessageData types

10 years agoROBOT_DEMO: fix thread sync. problems better
Martin Vajnar [Tue, 6 Aug 2013 17:50:39 +0000 (19:50 +0200)]
ROBOT_DEMO: fix thread sync. problems better

Use ReentrantLock and ReentrantReadWriteLock for thread synchronization.

10 years agoROBOT_DEMO: simplify clearing screen
Martin Vajnar [Tue, 6 Aug 2013 09:24:04 +0000 (11:24 +0200)]
ROBOT_DEMO: simplify clearing screen

10 years agoROBOT_DEMO: fix sync. problems in publisher for "motion_speed"
Martin Vajnar [Mon, 5 Aug 2013 21:37:29 +0000 (23:37 +0200)]
ROBOT_DEMO: fix sync. problems in publisher for "motion_speed"

Don't use synchronized(), because it may block the setSpeed() and prevent
receiving new data from accelerometer. The isSent variable is now used
to determine whether we need new data.

Add robot's IP address to the list of fellow managers.

10 years agoROBOT_DEMO: fix sync. problems in HokuyoView
Martin Vajnar [Mon, 5 Aug 2013 19:26:29 +0000 (21:26 +0200)]
ROBOT_DEMO: fix sync. problems in HokuyoView

Set new data only if the previous batch has been drawn and clone the newly
arrived data array. This prevents concurrent access problems when
the previous batch is being drawn on the UI thread and new data arrives
through ORTE's receive thread.

10 years agoROBOT_DEMO: set minimum separation for "hokuyo_scan"
Martin Vajnar [Mon, 5 Aug 2013 17:50:53 +0000 (19:50 +0200)]
ROBOT_DEMO: set minimum separation for "hokuyo_scan"

Compensate for drawing artifacts. Set minSeparation to 0.18s.

10 years agoROBOT_DEMO: correct speed computation
Martin Vajnar [Mon, 5 Aug 2013 16:42:23 +0000 (18:42 +0200)]
ROBOT_DEMO: correct speed computation

Correct calculation of speed sent to motors when moving in reverse.

10 years agoROBOT_DEMO: MessageData clean up
Martin Vajnar [Fri, 26 Jul 2013 08:59:36 +0000 (10:59 +0200)]
ROBOT_DEMO: MessageData clean up

10 years agoJORTE: improve ByteOrder handling
Martin Vajnar [Fri, 26 Jul 2013 08:44:46 +0000 (10:44 +0200)]
JORTE: improve ByteOrder handling

Store the ByteOrder of MessageData's ByteBuffer in receive callback
structure in C (in case someone reuses already created MessageData instance
with new subscriber).

Force native byte order setting in publisher.

10 years agoORTE,JORTE: set byte order of ByteBuffer from receive callback
Martin Vajnar [Fri, 26 Jul 2013 08:00:15 +0000 (10:00 +0200)]
ORTE,JORTE: set byte order of ByteBuffer from receive callback

Pass data_endian in ORTERecvInfo structure and use it to set the byte order
of Java's ByteBuffer.

10 years agoRevert "JORTE: add deserialize function to support endianness setting"
Martin Vajnar [Fri, 26 Jul 2013 07:54:03 +0000 (09:54 +0200)]
Revert "JORTE: add deserialize function to support endianness setting"

This reverts commit 683e5f61f3e7b6c1ade1b4910264d8f96781ade0.

10 years agoRevert "JORTE: switch from deserialize function to endianness callback"
Martin Vajnar [Fri, 26 Jul 2013 07:53:38 +0000 (09:53 +0200)]
Revert "JORTE: switch from deserialize function to endianness callback"

This reverts commit fe36c69fd0d022fafc9acf3a51ca1ba780978f35.

10 years agoRevert "ROBOT_DEMO: incorporate new TypeRegister handling"
Martin Vajnar [Fri, 26 Jul 2013 07:53:24 +0000 (09:53 +0200)]
Revert "ROBOT_DEMO: incorporate new TypeRegister handling"

This reverts commit f4af31a4b00c130eb5fb67fcc1012dd5d205ea7a.

10 years agoRevert "ROBOT_DEMO: incorporate changes in ORTETypeRegisterAdd()"
Martin Vajnar [Fri, 26 Jul 2013 07:53:06 +0000 (09:53 +0200)]
Revert "ROBOT_DEMO: incorporate changes in ORTETypeRegisterAdd()"

This reverts commit 4e4e50c8a29fc3a2cf37d681e7f95b3d5e01d932.

10 years agoROBOT_DEMO: incorporate changes in ORTETypeRegisterAdd()
Martin Vajnar [Thu, 25 Jul 2013 17:11:47 +0000 (19:11 +0200)]
ROBOT_DEMO: incorporate changes in ORTETypeRegisterAdd()

10 years agoROBOT_DEMO: incorporate new TypeRegister handling
Martin Vajnar [Thu, 25 Jul 2013 12:46:19 +0000 (14:46 +0200)]
ROBOT_DEMO: incorporate new TypeRegister handling

10 years agoJORTE: switch from deserialize function to endianness callback
Martin Vajnar [Thu, 25 Jul 2013 12:45:43 +0000 (14:45 +0200)]
JORTE: switch from deserialize function to endianness callback

Yesterday's attempt at setting the byte order of ByteBuffer through
a deserialize function has one significant drawback and that is if more
than one data type is defined under one VM instance (thus accessible by
other threads) and subscribers are then registered for these data types
the deserialize function will stop working correctly, because there are
no parameter structures being passed to it, except for the CDR_Codec,
thus it had to use a global reference to a byte buffer which is
unfortunately overwritten the moment a new data type is registered.
If the deserialize function for the previously registered data type
is invoked it then tampers with ByteBuffer settings of a newly registered
data type.

10 years agoJORTE: add deserialize function to support endianness setting
Martin Vajnar [Wed, 24 Jul 2013 20:55:24 +0000 (22:55 +0200)]
JORTE: add deserialize function to support endianness setting

This adds implementation of deserialize function which sets proper byte
order for Java's ByteBuffer based on the received data's endianness.

Serialize function is not needed as long as the byte order of Java's
ByteBuffer is not manually changed from native byte order.

10 years agoROBOT_DEMO: remove DomainEvents
Martin Vajnar [Tue, 23 Jul 2013 17:30:13 +0000 (19:30 +0200)]
ROBOT_DEMO: remove DomainEvents

10 years agoANDROID: incorporate new domain events handling
Martin Vajnar [Tue, 23 Jul 2013 14:56:05 +0000 (16:56 +0200)]
ANDROID: incorporate new domain events handling

10 years agoJORTE: free() domain events
Martin Vajnar [Tue, 23 Jul 2013 14:55:00 +0000 (16:55 +0200)]
JORTE: free() domain events

This fixes memory leak in jORTEDomainInitEvents() and removes unused code
from JOrte.java.

10 years agoJORTE: fraction computation
Martin Vajnar [Tue, 23 Jul 2013 10:06:37 +0000 (12:06 +0200)]
JORTE: fraction computation

Fix getDecimal() function.

10 years agoJORTE: fix memory leak and add DomainEvents to DomainMgr
Martin Vajnar [Tue, 23 Jul 2013 09:09:39 +0000 (11:09 +0200)]
JORTE: fix memory leak and add DomainEvents to DomainMgr

Memory leaks in jORTEDomainAppCreate() and jORTEDomainMgrCreate()
(domain events callback structure) are fixed. Domain events callbacks
are placed in a separate file. Their prototypes are placed in "jorte/
/jorte_protos_api.h". This way they could be used by DomainApp
and DomainMgr.

Native functions in both DomainApp.java and DomainMgr.java are now non-
static. This allows native domain destructor to free the memory allocated
to domain events callback structure.

It is now also possible to pass null for DomainEvents or DomainProp to
DomainApp and DomainMgr constructors.

The header file onLoad.h is removed and the findClass() prototype is placed
into "jorte/jorte_protos_api.h".

10 years agoJORTE: add type casts
Martin Vajnar [Sun, 21 Jul 2013 15:56:48 +0000 (17:56 +0200)]
JORTE: add type casts

10 years agoJORTE: remove unused variable and use TEST_STAGE for time
Martin Vajnar [Sun, 21 Jul 2013 12:45:50 +0000 (14:45 +0200)]
JORTE: remove unused variable and use TEST_STAGE for time

10 years agoJORTE: update header files
Martin Vajnar [Sun, 21 Jul 2013 09:04:13 +0000 (11:04 +0200)]
JORTE: update header files

Remove defines of UINT32__MIN and UINT32__MAX, because they are in the
<stdint.h> and UINT32__MAX is computed in a wrong way.

Make the HAVE_CONFIG_H hack Android specific and add extern "C" for C++
compatibility to onLoad.h

10 years agoANDROID: remove JORTEDomainStart.c from makefile
Martin Vajnar [Sun, 21 Jul 2013 08:35:25 +0000 (10:35 +0200)]
ANDROID: remove JORTEDomainStart.c from makefile

10 years agoJORTE: remove unused code
Martin Vajnar [Sun, 21 Jul 2013 08:25:50 +0000 (10:25 +0200)]
JORTE: remove unused code

Since the domain is started (receiving and sending threads) either by
calling ORTEDomainAppCreate() or ORTEDomainMgrCreate(), there is no need
to have DomainStart() on the Java side.

10 years agoJORTE: remove unused code
Martin Vajnar [Sat, 20 Jul 2013 22:11:40 +0000 (00:11 +0200)]
JORTE: remove unused code

10 years agoJORTE: incorporate new application domain destruction into example
Martin Vajnar [Sat, 20 Jul 2013 22:10:58 +0000 (00:10 +0200)]
JORTE: incorporate new application domain destruction into example

10 years agoJORTE: call correct JNI function to get values from NtpTime class
Martin Vajnar [Sat, 20 Jul 2013 22:09:14 +0000 (00:09 +0200)]
JORTE: call correct JNI function to get values from NtpTime class

Replace GetIntField() with GetLongField().

10 years agoJORTE: fix the '2^32' problem and formatting in debug printf()
Martin Vajnar [Sat, 20 Jul 2013 22:06:34 +0000 (00:06 +0200)]
JORTE: fix the '2^32' problem and formatting in debug printf()

This fixes problems with wrong calculation of (2^32) on many occasions
both on the Java and the C side.

Many format strings for printf() are fixed. Display Host ID
and App ID in hexadecimal (as the ortemanager does).

10 years agoJORTE: disable TEST_STAGE
Martin Vajnar [Fri, 19 Jul 2013 13:33:08 +0000 (15:33 +0200)]
JORTE: disable TEST_STAGE

10 years agoROBOT_DEMO: be less verbose
Martin Vajnar [Fri, 19 Jul 2013 13:32:09 +0000 (15:32 +0200)]
ROBOT_DEMO: be less verbose

10 years agoROBOT_DEMO: completely rewritten
Martin Vajnar [Fri, 19 Jul 2013 09:37:04 +0000 (11:37 +0200)]
ROBOT_DEMO: completely rewritten

This adds complete rewrite of the demo application. Buttons are now removed
from views and are instead placed to a menu. At the start a domain manager
and an application domain are created under which every subscriber
and publisher is launched. Support for hokuyo_scan is added.

10 years agoANDROID: incorporate DomainProp changes
Martin Vajnar [Fri, 19 Jul 2013 09:30:27 +0000 (11:30 +0200)]
ANDROID: incorporate DomainProp changes

10 years agoJORTE: simplify Manager destruction and remove unnecessary println()
Martin Vajnar [Fri, 19 Jul 2013 09:29:33 +0000 (11:29 +0200)]
JORTE: simplify Manager destruction and remove unnecessary println()

10 years agoJORTE: don't force application domain destruction
Martin Vajnar [Fri, 19 Jul 2013 09:25:15 +0000 (11:25 +0200)]
JORTE: don't force application domain destruction

This prevents appDomain being destroyed along with publisher or subscriber.

10 years agoJORTE: use abstract methods
Martin Vajnar [Fri, 19 Jul 2013 09:22:22 +0000 (11:22 +0200)]
JORTE: use abstract methods

10 years agoJORTE: fix subscription destruction
Martin Vajnar [Fri, 19 Jul 2013 09:20:39 +0000 (11:20 +0200)]
JORTE: fix subscription destruction

Destroy subscription first, then destroy references to objects
in subscription callback. This prevents SEGFAULTs from the receiving
thread, that tries to save received instance to a non-existent object.
DeleteLocalReference was replaced with DeleteGlobalReference, since we are
destroying a global reference. This prevents dvmAbort() being called
on Android. This also fixes a memory leak (the ctx->msg reference was not
deleted).

10 years agoJORTE: pass instance of MessageData to Java's receive callback
Martin Vajnar [Fri, 19 Jul 2013 09:12:50 +0000 (11:12 +0200)]
JORTE: pass instance of MessageData to Java's receive callback

10 years agoJORTE: don't use finalizers in Java classes
Martin Vajnar [Tue, 16 Jul 2013 09:48:07 +0000 (11:48 +0200)]
JORTE: don't use finalizers in Java classes

This replaces finalizers with explicit destroy() functions, because the
order in which objects with no reference in the VM are garbage-collected
is not guaranteed. This caused trouble with finalization of DomainApp
and Publisher (or Subscriber). If the DomainApp was destroyed before
the Publisher (or Subscriber) the Publisher's finalizer would have been
stuck (eventually leading to TimeoutException to be thrown).

10 years agoJORTE: fix memory leak in jORTEDomainPropDefaultGet()
Martin Vajnar [Mon, 15 Jul 2013 13:02:28 +0000 (15:02 +0200)]
JORTE: fix memory leak in jORTEDomainPropDefaultGet()

This fixes memory leak in jORTEDomainPropDefaultGet and removes some
unused code.

10 years agoJORTE: switch to direct ByteBuffer
Martin Vajnar [Sun, 14 Jul 2013 18:08:07 +0000 (20:08 +0200)]
JORTE: switch to direct ByteBuffer

This commit significantly changes the way new issues are sent and received
both on the Java side and on the C side.

In the past there was one Java instance of HeapByteBuffer in the
MessageData class. ByteBuffer is used to perform serialization and
deserialization of received and sent issues in Java. It is compatible with
the CORBA standard that is used in the main ORTE library.

The HeapByteBuffer has one significant drawback. It allocates memory
on the heap managed by Java VM's garbage collector and when accessing
the backing array from C it has to copy the entire array to new space
in memory outside the VM. Added to that the backing array wasn't accessed
as an array object from the C code, but rather every byte from the Java
buffer was copied to a C byte array or vice versa (publisher x subscriber
part). This adds a lot of overhead (calling JNI functions to obtain new
values).

Instead the DirectByteBuffer is now used which allocates memory directly
(outside of Java VM) through malloc() and stores the pointer in such a way,
that it is easily accesible from C code using GetDirectBufferAddress,
that returns (void *). The Java part behaves much the same as normal
(Heap) ByteBuffer. The allocated byte array could be used like any other
C array and the VM ensures that the memory region allocated by direct
ByteBuffer is contiguous. This is very useful, because normal Java arrays
are not guaranteed to be contiguous which makes them difficult to handle,
because JNI functions must be called that make copies of them in a
contiguous space and that adds another overhead.

As a bonus the C code for both publisher and subscriber Java wrappers
is much shorter and simpler than it used to be.

10 years agoJORTE: fix endianness the proper way
Martin Vajnar [Sun, 14 Jul 2013 12:57:21 +0000 (14:57 +0200)]
JORTE: fix endianness the proper way

Use the GNU C compiler macro __BYTE_ORDER__ to set data_endian on the C
side and ByteOrder.nativeOrder() function to set ByteBuffer's order
in the MessageData class on the Java side.

10 years agoANDROID: correct return value
Martin Vajnar [Sat, 13 Jul 2013 17:15:34 +0000 (19:15 +0200)]
ANDROID: correct return value

10 years agoROBOT_DEMO: add proper destructor in C version
Martin Vajnar [Sat, 13 Jul 2013 17:11:51 +0000 (19:11 +0200)]
ROBOT_DEMO: add proper destructor in C version

10 years agoROBOT_DEMO: decrease CPU usage
Martin Vajnar [Sat, 13 Jul 2013 16:50:14 +0000 (18:50 +0200)]
ROBOT_DEMO: decrease CPU usage

Now there are 2 major threads on the Java side. The first one is main which
takes care of drawing GUI and receives callbacks from accelerometer.
The second one computes and sends values to the robot's motors.

10 years agoJORTE: update required Java API version
Martin Vajnar [Thu, 11 Jul 2013 12:52:39 +0000 (14:52 +0200)]
JORTE: update required Java API version

10 years agoROBOT_DEMO: use Manager class instead of ortemanager binary
Martin Vajnar [Thu, 11 Jul 2013 11:46:23 +0000 (13:46 +0200)]
ROBOT_DEMO: use Manager class instead of ortemanager binary

10 years agoANDROID: replace native binary ortemanager with Java class
Martin Vajnar [Thu, 11 Jul 2013 11:44:44 +0000 (13:44 +0200)]
ANDROID: replace native binary ortemanager with Java class

This eliminates the need for binary ortemanager in assets/ folder
of projects that make use of this library.

NOTE: At current moment it is only possible to set IP addresses of fellow
managers.

10 years agoJORTE: add basic Java domain manager
Martin Vajnar [Thu, 11 Jul 2013 11:40:26 +0000 (13:40 +0200)]
JORTE: add basic Java domain manager

This adds basic Java manager. Currently it is only possible to set IP
addresses of fellow managers.

10 years agoJORTE: use brackets around '^'
Martin Vajnar [Sun, 7 Jul 2013 21:40:44 +0000 (23:40 +0200)]
JORTE: use brackets around '^'

This avoids compiler warnings.

10 years agoJORTE: use correct format specifiers
Martin Vajnar [Sun, 7 Jul 2013 21:38:13 +0000 (23:38 +0200)]
JORTE: use correct format specifiers

10 years agoROBOT_DEMO: add robot demo for Android
Martin Vajnar [Sun, 7 Jul 2013 18:16:52 +0000 (20:16 +0200)]
ROBOT_DEMO: add robot demo for Android

Initial commit of robot demo for Android.

10 years agoANDROID: add support for Android
Martin Vajnar [Sun, 7 Jul 2013 17:24:59 +0000 (19:24 +0200)]
ANDROID: add support for Android

Add preliminary Android library.

Note: Current Android NDK doesn't allow libraries to have assets folder,
but we place the ortemanager in there. At current point it is necessary
for applications using this library to either manually copy the compiled
ortemanager over to their own assets folder or to create a symlink.

10 years agoJORTE: alter sendCallBack
Martin Vajnar [Sun, 7 Jul 2013 17:13:41 +0000 (19:13 +0200)]
JORTE: alter sendCallBack

Alter the sendCallBack, so it doesn't scramble the sent instance.

10 years agoJORTE: prepare for Android (fix class loader problems + add logging)
Martin Vajnar [Sun, 7 Jul 2013 16:50:01 +0000 (18:50 +0200)]
JORTE: prepare for Android (fix class loader problems + add logging)

This fixes class loading problems on Android.

As per the Android Documentation (http://developer.android.com/training/articles/perf-jni.html#faq_FindClass):

Android's Dalvik VM uses the loader associated with the method
at the top of the interpreted stack, or if there isn't one
(because the thread was just attached), it uses the "system" class
loader, for FindClass calls.

To overcome this the JNI_OnLoad function is used. Any FindClass calls made
from there will happen in the context of the class loader used to load
the shared library. So from there one class that will always be present
in the JORTE Java package is chosen (org.ocera.orte.JOrte) and it's
class loader is stored as a global reference inside the VM (thus shared
by all processes attached to the VM) and as a static variable (accesible
only by functions from the onLoad.c file) on the C side.Also the findClass
and findLoadedClass method IDs are cached. To simplify the class loading
process inside C functions the findClass functions is written.

Android also doesn't implement the printf function. However it does have
a logging capability, so a variadic macro replacing occurences of printf
with __android_log_print is used.

10 years agoJORTE: add 64-bit support
Martin Vajnar [Sun, 7 Jul 2013 15:12:27 +0000 (17:12 +0200)]
JORTE: add 64-bit support

Store pointers to C objects in jlong (always 64-bit)
rather than in jint (always 32-bit).

10 years agoJORTE: fix typo
Martin Vajnar [Sun, 7 Jul 2013 11:47:07 +0000 (13:47 +0200)]
JORTE: fix typo

Correct type conversions.

10 years agoJORTE: fix inverted logic and add brackets
Martin Vajnar [Sun, 7 Jul 2013 11:43:59 +0000 (13:43 +0200)]
JORTE: fix inverted logic and add brackets

Fix inverted logic bug, that prevented proper native
thread detachment from Java VM.

10 years agoJORTE: fix inverted logic
Martin Vajnar [Sun, 7 Jul 2013 11:29:44 +0000 (13:29 +0200)]
JORTE: fix inverted logic

10 years agoJORTE: attempt at fixing endianness problems
Martin Vajnar [Sun, 7 Jul 2013 11:27:22 +0000 (13:27 +0200)]
JORTE: attempt at fixing endianness problems

This is an attempt at fixing endianness problems
that occur when communicating with traditional ORTE
publishers/subscribers written in pure C.

10 years agoJORTE: fix typo
Martin Vajnar [Sun, 7 Jul 2013 11:19:57 +0000 (13:19 +0200)]
JORTE: fix typo

10 years agoJORTE: fix class name
Martin Vajnar [Sun, 7 Jul 2013 11:17:02 +0000 (13:17 +0200)]
JORTE: fix class name

10 years agoJORTE: add const qualifier to function declarations
Martin Vajnar [Sun, 7 Jul 2013 11:13:32 +0000 (13:13 +0200)]
JORTE: add const qualifier to function declarations

10 years agoUse sigwaitinfo() function only if available.
Pavel Pisa [Fri, 20 Sep 2013 13:56:16 +0000 (15:56 +0200)]
Use sigwaitinfo() function only if available.

Resolves yet another deficiency of Bionic C library.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoANDROID: Use orte_config_android.h as the last resort if sources are not regularly...
Pavel Pisa [Fri, 20 Sep 2013 11:28:04 +0000 (13:28 +0200)]
ANDROID: Use orte_config_android.h as the last resort if sources are not regularly configured.

Based on Martin Vajnar's patch

  ORTE: Android hack - define HAVE_CONFIG_H

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoANDROID: added variant of orte_config.h which provides configuration for android...
Pavel Pisa [Fri, 20 Sep 2013 10:11:55 +0000 (12:11 +0200)]
ANDROID: added variant of orte_config.h which provides configuration for android build.

The file orte_config_android.h provides Android contents of
orte_config.h used by Martin Vajnar <martin.vajnar@gmail.com>
during ORTE Android support development which was introduced
by his patches

  ORTE: Android hack - define HAVE_CONFIG_H

  ANDROID: allow compilation from command line add new orte_config.h
     This allows compilation of native code with ndk-build and
     of Java part with ant.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoFix a few typos in readme
Michal Sojka [Thu, 19 Sep 2013 20:58:17 +0000 (22:58 +0200)]
Fix a few typos in readme

10 years agoModularize make dist target
Michal Sojka [Tue, 17 Sep 2013 09:18:23 +0000 (11:18 +0200)]
Modularize make dist target

10 years agoTry to compile orte for Mingw in the dist target
Michal Sojka [Tue, 17 Sep 2013 09:03:52 +0000 (11:03 +0200)]
Try to compile orte for Mingw in the dist target

10 years agoBe more strict in determining version tags
Michal Sojka [Tue, 17 Sep 2013 09:03:17 +0000 (11:03 +0200)]
Be more strict in determining version tags

10 years agoBuild DLL libraries for Windows
Michal Sojka [Tue, 17 Sep 2013 08:47:59 +0000 (10:47 +0200)]
Build DLL libraries for Windows

10 years agoFix other unquoted variables in configure
Michal Sojka [Mon, 16 Sep 2013 23:03:05 +0000 (01:03 +0200)]
Fix other unquoted variables in configure

10 years agoFix configure to work correctly under FreeBSD
Michal Sojka [Mon, 16 Sep 2013 23:02:14 +0000 (01:02 +0200)]
Fix configure to work correctly under FreeBSD

10 years agoChanges from running autoupdate
Michal Sojka [Sun, 15 Sep 2013 07:40:40 +0000 (09:40 +0200)]
Changes from running autoupdate

10 years agoRTEMS: use explicit loopback configuration for RTEMS <= 4.10.x.
Pavel Pisa [Sat, 14 Sep 2013 18:36:55 +0000 (20:36 +0200)]
RTEMS: use explicit loopback configuration for RTEMS <= 4.10.x.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoSkip interfaces returned by getifaddrs() which has no address assigned.
Pavel Pisa [Sat, 14 Sep 2013 18:02:32 +0000 (20:02 +0200)]
Skip interfaces returned by getifaddrs() which has no address assigned.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoRTEMS: allocate more resources for tests.
Pavel Pisa [Sat, 14 Sep 2013 17:57:31 +0000 (19:57 +0200)]
RTEMS: allocate more resources for tests.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoMerge branch 'master' of ssh://git.code.sf.net/p/orte/orte
Pavel Pisa [Sat, 14 Sep 2013 17:16:45 +0000 (19:16 +0200)]
Merge branch 'master' of ssh://git.code.sf.net/p/orte/orte

10 years agoUse portable and type-safe way to obtain network interface addresses where available
Pavel Pisa [Sat, 14 Sep 2013 17:16:12 +0000 (19:16 +0200)]
Use portable and type-safe way to obtain network interface addresses where available

Use of SIOCGIFCONF is quite error prone. It fills fixed sized
elements array on Linux filled only by IPv4 (AF_INET).
On the other hand on BSD it returns all addresses including
hardware ones and IPv6. It requires variable size for
entries where address does not fit into struct sockaddr.
But switching rules seems to differ even between BSD flavors.

On the other hand getifaddrs() and struct ifaddrs
are defined with potability and extendability in mind.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoFix a problem in configure on Windows
Michal Sojka [Sat, 14 Sep 2013 14:16:20 +0000 (16:16 +0200)]
Fix a problem in configure on Windows

On Windows, we link ORTE against a version of pthread library shipped
in our tree. Therefore we add some switches to linker command line.
The problem is that this command line is also used for all configure
tests. Since our library is not yet compiled at compile time, it
caused many configure checks to fail even if they should succeed.

With this change, I'm able to cross-compile ORTE for Windows on Debian
Wheezy with mingw32 package. The used configure command was:

  CC=i586-mingw32msvc-gcc ./configure --host=i586-mingw32msvc

Whether ORTE also runs on Windows correctly was not yet tested.

10 years agoRTEMS: attempt to use unlimited resources.
Pavel Pisa [Sat, 14 Sep 2013 08:46:22 +0000 (10:46 +0200)]
RTEMS: attempt to use unlimited resources.

Attempt to use unlimited resources was not sucessfull
on lpc17xx_ea_ram board with RTEMS 4.11 git version.

The CONFIGURE_MAXIMUM_POSIX_RWLOCKS is required
for limited resources version to satisfy ORTE use.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoRTEMS: Ensure that getopt works for subsequent spawn and finished tasks are purged.
Pavel Pisa [Sat, 14 Sep 2013 08:42:34 +0000 (10:42 +0200)]
RTEMS: Ensure that getopt works for subsequent spawn and finished tasks are purged.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoAdd missing OMK Makefile for rtems-shell example.
Pavel Pisa [Fri, 13 Sep 2013 20:29:43 +0000 (22:29 +0200)]
Add missing OMK Makefile for rtems-shell example.

Signed-off-by: Pavel Pisa <pi@thor>
10 years agoSpecification of conditional variables count is required for RTEMS.
Pavel Pisa [Fri, 13 Sep 2013 17:30:26 +0000 (19:30 +0200)]
Specification of conditional variables count is required for RTEMS.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
10 years agoExample of integration of ORTE into RTEMS shell included.
Pavel Pisa [Fri, 13 Sep 2013 16:40:01 +0000 (18:40 +0200)]
Example of integration of ORTE into RTEMS shell included.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>