3 years agoconvert to using typelib's endian-swap instead of deprecated utilmm master
Sylvain Joyeux [Wed, 4 Jun 2014 14:09:24 +0000 (16:09 +0200)]
convert to using typelib's endian-swap instead of deprecated utilmm

4 years agofix some conversion warnings that are going to be invalid in C++11 next
Sylvain Joyeux [Mon, 14 Oct 2013 12:46:28 +0000 (14:46 +0200)]
fix some conversion warnings that are going to be invalid in C++11

4 years agoinclude only the LoggerTypes.hpp include, we don't need the full Types.hpp
Sylvain Joyeux [Mon, 14 Oct 2013 12:46:06 +0000 (14:46 +0200)]
include only the LoggerTypes.hpp include, we don't need the full Types.hpp

4 years agoremove commented-out include line
Sylvain Joyeux [Mon, 14 Oct 2013 12:43:33 +0000 (14:43 +0200)]
remove commented-out include line

4 years agoremove unused reference to boost::mutex
Sylvain Joyeux [Mon, 14 Oct 2013 12:43:26 +0000 (14:43 +0200)]
remove unused reference to boost::mutex

5 years agoadd the option to specify a timestamp field in the type when logging a port stable stable-20130620 stable-20130909 stable-20140120
Jakob Schwendner [Mon, 19 Nov 2012 14:36:29 +0000 (15:36 +0100)]
add the option to specify a timestamp field in the type when logging a port

if a timestamp field is given as the value to the "rock_timestamp_field"
metadata key, this timestamp is used for the logical time of log entries
instead of Time::now()

5 years agortt-typelib pkg-config's file has been renamed by the orocos guys, update
Sylvain Joyeux [Fri, 16 Nov 2012 11:09:55 +0000 (12:09 +0100)]
rtt-typelib pkg-config's file has been renamed by the orocos guys, update

5 years agoremove all logging ports on destruction stable-20121013 stable-20130205
Sylvain Joyeux [Mon, 23 Apr 2012 07:42:25 +0000 (09:42 +0200)]
remove all logging ports on destruction

The ports themselves were already deleted by RTT, but the rest of
the handling not.

In the long run, we should do that in cleanupHook. However, the
current logger does not have a configure step, so I would rather
avoid adding one right now.

6 years agomerge the registries from the typelib transport instead of loading all TLB files experimental stable-20120501 stable-20120808
Sylvain Joyeux [Tue, 14 Feb 2012 21:23:48 +0000 (22:23 +0100)]
merge the registries from the typelib transport instead of loading all TLB files

6 years agoimplement stream metadata and annotations support
Sylvain Joyeux [Tue, 29 Nov 2011 17:54:52 +0000 (18:54 +0100)]
implement stream metadata and annotations support

6 years agoreplace scripts/test by a proper test unit testcase
Sylvain Joyeux [Tue, 29 Nov 2011 15:59:04 +0000 (16:59 +0100)]
replace scripts/test by a proper test unit testcase

6 years agoAdded Logger Type, this could be used for some hin't inside the stream
Matthias Goldhoorn [Wed, 24 Aug 2011 13:40:34 +0000 (15:40 +0200)]
Added Logger Type, this could be used for some hin't inside the stream

6 years agodisable default deployment generation as it creates an infinite loop stable-20111130 stable-20120222
Sylvain Joyeux [Fri, 19 Aug 2011 13:28:11 +0000 (15:28 +0200)]
disable default deployment generation as it creates an infinite loop

7 years agofixed test script stable-20110823 stable-20111017
Jakob Schwendner [Mon, 21 Feb 2011 11:12:34 +0000 (12:12 +0100)]
fixed test script

* disabled function with bool return type, as there is an error in the type conversion to ruby

7 years agouse the new rtt-typelib to get the typelib marshaller header
Sylvain Joyeux [Thu, 3 Feb 2011 11:32:17 +0000 (12:32 +0100)]
use the new rtt-typelib to get the typelib marshaller header

7 years agocompile as release
Janosch Machowinski [Thu, 27 Jan 2011 18:25:46 +0000 (19:25 +0100)]
compile as release

7 years agoIncrease default buffer size to 25
Janosch Machowinski [Thu, 27 Jan 2011 12:34:37 +0000 (13:34 +0100)]
Increase default buffer size to 25

Tests showed, that samples were lost with the old buffer size
of 5. Increasing the buffer size to 25 removed the drops.

7 years agodo not old copy samples while polling for new data
Janosch Machowinski [Thu, 27 Jan 2011 12:33:14 +0000 (13:33 +0100)]
do not old copy samples while polling for new data

This is a minor performance adjustment patch. The patch
removes a unneeded copy of a logged sample in case that
the read returned RTT::OldData.

7 years agoMerge remote branch 'autobuild/master'
Sylvain Joyeux [Mon, 3 Jan 2011 11:10:43 +0000 (12:10 +0100)]
Merge remote branch 'autobuild/master'

7 years agosave only the minimal type registry in the file
Sylvain Joyeux [Thu, 16 Dec 2010 16:17:04 +0000 (17:17 +0100)]
save only the minimal type registry in the file

It is a nicety, but it is actually nice when using pocolog --types-xml

7 years agoproperly report an error if addLoggingPort is used to create a port for which we...
Sylvain Joyeux [Thu, 16 Dec 2010 16:16:40 +0000 (17:16 +0100)]
properly report an error if addLoggingPort is used to create a port for which we have no typelib definition

7 years agofix missing toolkit->typekit name change
Sylvain Joyeux [Thu, 16 Dec 2010 16:08:04 +0000 (17:08 +0100)]
fix missing toolkit->typekit name change

Was breaking the generated logfiles, as they contained no
typelib XML registry.

7 years agodeclare the log ports as dynamic input ports
Sylvain Joyeux [Mon, 13 Dec 2010 09:57:27 +0000 (10:57 +0100)]
declare the log ports as dynamic input ports

7 years agofix creating leftover files when logger.orogen gets imported
Sylvain Joyeux [Tue, 7 Dec 2010 09:03:53 +0000 (10:03 +0100)]
fix creating leftover files when logger.orogen gets imported

7 years agoexclude the typekit code from the doxygen documentation
Sylvain Joyeux [Mon, 6 Dec 2010 21:43:25 +0000 (22:43 +0100)]
exclude the typekit code from the doxygen documentation

7 years agoupdate to agreed-upon layout
Sylvain Joyeux [Wed, 24 Nov 2010 07:17:20 +0000 (08:17 +0100)]
update to agreed-upon layout

7 years agoremove the dependency on Typelib from the public header
Sylvain Joyeux [Tue, 16 Nov 2010 17:52:55 +0000 (18:52 +0100)]
remove the dependency on Typelib from the public header

7 years agofix wrong initializer list order
Sylvain Joyeux [Fri, 12 Nov 2010 22:30:52 +0000 (23:30 +0100)]
fix wrong initializer list order

7 years agofix compilation w.r.t. the TypelibMarshaller implementation
Sylvain Joyeux [Fri, 12 Nov 2010 22:30:45 +0000 (23:30 +0100)]
fix compilation w.r.t. the TypelibMarshaller implementation

These files should be in a separate package ...

7 years agoadapt to oroGen v2
Sylvain Joyeux [Thu, 11 Nov 2010 18:55:31 +0000 (19:55 +0100)]
adapt to oroGen v2

7 years agoadapt to the new base::Time API
Sylvain Joyeux [Thu, 14 Oct 2010 11:41:00 +0000 (13:41 +0200)]
adapt to the new base::Time API

7 years agofix missing return statement in writeSampleHeader
Sylvain Joyeux [Wed, 13 Oct 2010 09:45:58 +0000 (11:45 +0200)]
fix missing return statement in writeSampleHeader

7 years agofix wrong order in initialization list
Sylvain Joyeux [Wed, 13 Oct 2010 09:45:50 +0000 (11:45 +0200)]
fix wrong order in initialization list

7 years agoRevert "use file descriptors instead of fstream objects"
Sylvain Joyeux [Sun, 16 May 2010 12:54:06 +0000 (14:54 +0200)]
Revert "use file descriptors instead of fstream objects"

This reverts commit f4ab71cce915f7be739c21dda926f2bcf7f400e3.



7 years agoupdate manifest dependency list
Sylvain Joyeux [Mon, 3 May 2010 13:40:58 +0000 (15:40 +0200)]
update manifest dependency list

7 years agosmall rework of the API and add a Ruby test script
Sylvain Joyeux [Tue, 13 Apr 2010 15:20:31 +0000 (17:20 +0200)]
small rework of the API and add a Ruby test script

7 years agofix file creation permissions
Sylvain Joyeux [Tue, 13 Apr 2010 15:19:29 +0000 (17:19 +0200)]
fix file creation permissions

8 years agouse file descriptors instead of fstream objects
Sylvain Joyeux [Tue, 16 Mar 2010 17:31:18 +0000 (18:31 +0100)]
use file descriptors instead of fstream objects

The performance impact of that change still needs to
be measured, though.

8 years agoavoid buffer copying as much as possible
Sylvain Joyeux [Tue, 16 Mar 2010 15:17:00 +0000 (16:17 +0100)]
avoid buffer copying as much as possible

This uses the latest improvements in Typelib and orogen to
avoid doing any copying while logging. The data is now
marshalled directly to disk.

8 years agopriority(:highest) is not legal, use highest_priority instead
Sylvain Joyeux [Fri, 5 Feb 2010 11:01:37 +0000 (12:01 +0100)]
priority(:highest) is not legal, use highest_priority instead

8 years agoupdate testcase to changes of laserScan structure
Janosch Machowinski [Tue, 2 Feb 2010 17:23:00 +0000 (18:23 +0100)]
update testcase to changes of laserScan structure

8 years agomake reportPort callable at runtime
Sylvain Joyeux [Wed, 27 Jan 2010 18:21:50 +0000 (19:21 +0100)]
make reportPort callable at runtime

8 years agothe laser scans type has been moved
Sylvain Joyeux [Thu, 7 Jan 2010 14:49:42 +0000 (15:49 +0100)]
the laser scans type has been moved

8 years agoMerge /home/doudou/dfki/dev/asguard/modules/logger into imoby
Sylvain Joyeux [Tue, 24 Nov 2009 13:13:11 +0000 (14:13 +0100)]
Merge /home/doudou/dfki/dev/asguard/modules/logger into imoby


8 years agoadapt for orogen backport the TypelibMarshaller from the rtt2.0 branch
Sylvain Joyeux [Thu, 12 Nov 2009 16:11:05 +0000 (17:11 +0100)]
adapt for orogen backport the TypelibMarshaller from the rtt2.0 branch

The isse we are trying to fix here is that some types are not
marshalled as themselves, but as intermediate types. Until now,
there was a HUGE hack that was simply testing for type_name + _m,
as orogen was generating these types for intermediate types.

This does not work for purely opaque types, only for types that
contain opaques.

The proper fix is to have the type marshaller object tell us
what on-disk type it is using. That is what this patch is doing.

8 years agono need to use an intermediate command, the port interface already provides what...
Jakob Schwendner [Fri, 6 Nov 2009 15:47:16 +0000 (16:47 +0100)]
no need to use an intermediate command, the port interface already provides what we need

8 years agofix the logger by just assuming that it is always using buffered connections
Sylvain Joyeux [Fri, 6 Nov 2009 15:37:11 +0000 (16:37 +0100)]
fix the logger by just assuming that it is always using buffered connections

8 years agodo not use static_deployment, specify the task names during deployment
Sylvain Joyeux [Wed, 4 Nov 2009 15:21:25 +0000 (16:21 +0100)]
do not use static_deployment, specify the task names during deployment

8 years agofix method declarations
Sylvain Joyeux [Fri, 30 Oct 2009 16:51:31 +0000 (17:51 +0100)]
fix method declarations

They did not match the actual implementation, which leads now
to a compilation error.

8 years agotypename is a reserved word in C++ and it does not match our conventions
Sylvain Joyeux [Fri, 30 Oct 2009 16:42:01 +0000 (17:42 +0100)]
typename is a reserved word in C++ and it does not match our conventions

8 years agogit: add orogen-generated files that should be under git
Sylvain Joyeux [Tue, 27 Oct 2009 14:44:50 +0000 (15:44 +0100)]
git: add orogen-generated files that should be under git

8 years agoremove the use of the now deprecated static_deployment
Sylvain Joyeux [Tue, 27 Oct 2009 14:44:35 +0000 (15:44 +0100)]
remove the use of the now deprecated static_deployment

8 years agodoc: mention that log files can be read with pocosim-log
Sylvain Joyeux [Tue, 27 Oct 2009 14:44:22 +0000 (15:44 +0100)]
doc: mention that log files can be read with pocosim-log

8 years agodfki_toolkit has been renamed into the much better 'base'
Sylvain Joyeux [Tue, 27 Oct 2009 14:44:09 +0000 (15:44 +0100)]
dfki_toolkit has been renamed into the much better 'base'

8 years agoadd a ROS-like manifest
Sylvain Joyeux [Tue, 27 Oct 2009 14:19:11 +0000 (15:19 +0100)]
add a ROS-like manifest

8 years agoadded generic method for port creation
Janosch Machowinski [Tue, 27 Oct 2009 11:44:04 +0000 (12:44 +0100)]
added generic method for port creation

added a new method that allows to create an port
with name X and type Y at runtime. Thus it is now
possible, the do custom connections from the
ruby scripts.

8 years agofix logger test deployment
Sylvain Joyeux [Tue, 21 Jul 2009 14:47:41 +0000 (16:47 +0200)]
fix logger test deployment

8 years agode-layer the writing process
Sylvain Joyeux [Tue, 21 Jul 2009 14:42:38 +0000 (16:42 +0200)]
de-layer the writing process

until now, the logfile implementation was needing that the data passes two
layers (and, more importantly, one buffer) before writing to file. Just
simplify this unneeded, over-complex design and pass the data directly to file.

8 years agoupdate to the latest template for tasks/CMakeLists.txt
Sylvain Joyeux [Thu, 13 Aug 2009 12:29:31 +0000 (14:29 +0200)]
update to the latest template for tasks/CMakeLists.txt

8 years agofix wrong use of the internal StaticDeployment::Logger
Sylvain Joyeux [Thu, 13 Aug 2009 12:29:16 +0000 (14:29 +0200)]
fix wrong use of the internal StaticDeployment::Logger

8 years agouse TypeTransporter::reuseBlob
Sylvain Joyeux [Fri, 17 Jul 2009 16:29:03 +0000 (16:29 +0000)]
use TypeTransporter::reuseBlob

This allows us to reuse the same buffer over and over again, avoiding memory

8 years agoproperly handle opaque marshalling
Sylvain Joyeux [Fri, 17 Jul 2009 16:28:21 +0000 (16:28 +0000)]
properly handle opaque marshalling

When a type contains an opaque, the actually-marshalled type is <typename>_m,
and that must be the type actually saved in the log file.

8 years agoadapt to the new dataflow API
Sylvain Joyeux [Thu, 2 Apr 2009 13:38:41 +0000 (15:38 +0200)]
adapt to the new dataflow API

This commit modifies the logger so that it exploits the new
dataflow API. In the meantime, it removes longstanding hacks
that were there to workaround limitations in the old API.

9 years agobufix, empty buffer port before starting the logger
Janosch Machowinski [Wed, 18 Feb 2009 15:13:57 +0000 (16:13 +0100)]
bufix, empty buffer port before starting the logger

9 years agoproperly delete the ofstream object
Sylvain Joyeux [Tue, 17 Feb 2009 13:38:20 +0000 (14:38 +0100)]
properly delete the ofstream object

That fixes a memory leak and the fact that the IO buffers were
not flushed on stop() (leading to some samples being lost).

9 years agofix documentation of log file format
Sylvain Joyeux [Tue, 17 Feb 2009 13:34:19 +0000 (14:34 +0100)]
fix documentation of log file format

There was some inconsistencies and some errors in there,
update it to match the current format.

9 years agothe signature of updateHook(updated_ports) changed from set<> to vector<>)
Sylvain Joyeux [Tue, 17 Feb 2009 13:33:46 +0000 (14:33 +0100)]
the signature of updateHook(updated_ports) changed from set<> to vector<>)

RTT now uses vector<> to avoid dynamic allocations at runtime.
Update the logger.

9 years agoremove useless definition
Sylvain Joyeux [Tue, 17 Feb 2009 13:32:54 +0000 (14:32 +0100)]
remove useless definition

9 years agofix allocation of stream indexes
Sylvain Joyeux [Tue, 17 Feb 2009 13:06:57 +0000 (14:06 +0100)]
fix allocation of stream indexes

Stream indexes were allocated using a global counter. This means that, if one
creates two logfile sequentially with (let's say) 10 and 20 streams each, then
the second set of streams would be numbered [10, 19].

This causes a problem for long-running processes, or for processes which would
create new logfiles often. The problem does not so much lie on the logging
process itself (in its case, the logging index does not matter much), but it
does matter on the reading side as the log streams are usually stored in an
array so that they can be addresses by their index. If there is too much holes,
that causes some problems.

This commit creates a Logfile class which takes care of the stream index
allocation per-file instead of globally, thus fixing the problem.

9 years agoadapt to the new features of Orocos + Typelib
Sylvain Joyeux [Thu, 25 Sep 2008 17:20:19 +0000 (19:20 +0200)]
adapt to the new features of Orocos + Typelib

This commit implements the following:
 * it uses the new DataDrivenTask ability to give away which ports have
   been updated to selectively update the log file. No more unnecessary
   samples in !
 * it supports the latest way to marshal data, thus handling data that
   contain std::vector (and later on other data structures I guess)

The test task has been updated so that it can check those new

9 years agodon't enable the browser if corba is enabled (this is forbidden anyway)
Sylvain Joyeux [Thu, 18 Sep 2008 15:19:02 +0000 (17:19 +0200)]
don't enable the browser if corba is enabled (this is forbidden anyway)

9 years agoadd missing header
Sylvain Joyeux [Mon, 18 Aug 2008 16:01:22 +0000 (16:01 +0000)]
add missing header

9 years agopkgconfig::packages already returns the name list
Sylvain Joyeux [Mon, 18 Aug 2008 16:00:45 +0000 (16:00 +0000)]
pkgconfig::packages already returns the name list

no need to split it (as pkgconfig --list-packages returns names and

9 years agolog messages using Orocos logging facility
Sylvain Joyeux [Mon, 18 Aug 2008 16:00:15 +0000 (16:00 +0000)]
log messages using Orocos logging facility

9 years agomake the logging task a data driven activity
Sylvain Joyeux [Wed, 13 Aug 2008 12:50:50 +0000 (14:50 +0200)]
make the logging task a data driven activity

9 years agofirst working version of the logger component
Sylvain Joyeux [Wed, 13 Aug 2008 09:36:27 +0000 (11:36 +0200)]
first working version of the logger component

The component now relies on Orogen-generated modules to provide the necessary support:
 * a fake type transporter which provides an untyped buffer with the type
   marshalled in it
 * a tlb file for the associated types.

9 years agostarting to make an Orocos logging component based on pocosim logs
Sylvain Joyeux [Tue, 12 Aug 2008 15:18:53 +0000 (17:18 +0200)]
starting to make an Orocos logging component based on pocosim logs

For now, the following is available:
 * a compiling version of the pocosim log output
 * a compiling version of the logger task component which loads the
   registries provided by the orogen components.