Jump to content
OpenSplice DDS Forum

Hans van 't Hag

  • Content count

  • Joined

  • Last visited

About Hans van 't Hag

  • Rank
    Product Manager

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
    Hengelo, The Netherlands
  • Company
    ADLINK Technology

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hans van 't Hag

    How to detect DDSi2 service has not started?

    Hi Joffrey, Sorry for the delayed response, we had issues with the domain-registration of this forum and have been offline for over a month .. W.r.t. your question for a programmatic way to detect certain errors/warnings, we have a feature called a 'reportPlugin' which is documented in the deployment manual and which allows for a user-library to be plugged-in and that can access any info/warning/error message that (normally/also) goes to the ospl_info and ospl_error log(s). Perhaps that would help you creating the awareness that something went wrong w.r.t. service-configuration and/or interfaces not being available. Regards, Hans
  2. I'd check out "Eclipse Cyclone DDS" (https://projects.eclipse.org/projects/iot.cyclonedds) which we recently donated to the Eclipse foundation and which is a low-footprint implementation of DDS. Don't think its been ported to arduino yet though .. but we of course invite the community to participate in this (new) project. Cheers, Hans
  3. Hans van 't Hag

    register_instance vs lookup_instance

    Hi, When writing the same instance (i.e. key-value) repeatedly (but with different non-key field values), its fine to utilize the same handle. The handle is a local-concept (so can't be shared between participants) and can improve performance when writing specific instances from large (key-)sets. Note also that its not mandatory to use the register_instance, if you don't explicitly register the instance, it will be done implicitly yet costs a little time to locate the 'right instance' based on the value of the key-fields in the provided sample. Note also that an error will be raised when the key-fields of any provided sample in a write doesn't match with the instance-handle (if provided) Hope this helps, -Hans
  4. Hans van 't Hag

    Number / Last Participant

    Hi, Another option is to exploit the notion of 'built-in-topics' in DDS that allow you to 'discover' any participant/publisher/subscriber/topic in the system by simply reading this meta-data from these pre-defined topics. In the OpenSplice examples-section I believe there is an example on how to do that .. Regards, Hans
  5. Hans van 't Hag

    CMSOAP Interface

    Hi, The CMSOAP interface is an internal interface used by our Tuner/Tester tools (that allows these tools to 'connect' to any remotely deployed DDS-system as long as there's one node in that remote DDS-system that has our 'soap-service' configured as one of the pluggable services of OpenSplice. It is not related to the DDS-WEB specification Regards, Hans
  6. Hans van 't Hag

    helloworld standalone example memory leak

    Yeah, I remember that the msgId is a 'key' in the topic so you're creating as many instances as you have key-values. You could try unregistering the instance after you've written it.
  7. Hans van 't Hag

    helloworld standalone example memory leak

    Hi, It might help if you could share the modified code. What might have happened is that you're creating as many instances (i.e. key-values) as you're creating samples and then perhaps don't unregister() or take() the samples .. in which case the administration-overhead related to any 'instance' might explain your observation. Regards, Hans
  8. Hans van 't Hag

    Mapping a partition to a channel

    Hi Guy, I think you're confusing 2 concepts: network-channels (that relate to a range of transport-priorities) and network-partitions (that relate to a set of logical DDS-partitions). In your case it seems like you're looking for 'network-partitions' rather than 'network-channels'. Currently both 'mapping' features (i.e. mapping of logical QoS's such as TRANSPORT_PRIORITY and/or PARTITION to physical constructs such as network-channels and network-partitions) are part of our 'extended' DDSI2E service thats currently not part of our community edition. Note however that these are purely non-functional optimizations so even without those, functionally you should be 'fine' when 'just' using logical DDS-partitions to 'group' your topics and their connectivity. The good news is that DDSI2E and its mapping features will become available soon when we are going to opensource our full product under the Eclipse foundation (working title: Eclipse Cyclone). In the mean-time you could try-out our commercially supported version to see if it suits your needs via our website (see opensplice download). Regards, Hans
  9. Hans van 't Hag

    Multitopic in isocpp2

    Yes, our IDLParser(s) do support unions. What languages do you envision ? I'll start some discussions internally on the above and see what we could do to help in the short-term as proper multi-topic support isn't on the horizon yet.
  10. Hans van 't Hag

    Multitopic in isocpp2

    Hi Emmanuel, You're right in that MultiTopics are indeed targeting that functionality and also in your observation that this functionality isn't supported yet (actually by none of the current DDS-vendors). The reason behind not having implemented this (yet) is that there are still gaps in the semantics in case of incomplete information in 2 situations: (1) when should you first get a joined-set (i.e. only when its complete w.r.t. availability of all the attributes from all topics that you're interested in (2) when should you last get updates on a joined-set (i.e. up to the point where at least one of the attributes has reached the end of its lifecycle e.g. is part of a disposed instance) That said, its not rocket-science to do such a joint on application-level (as we ARE following a relational model isn't it) .. and apply some basic semantics for the above .. We're still looking at some good (business-)cases that would justify investment in that piece of missing spec-coverage so perhaps you can contribute yours
  11. Hans van 't Hag

    Communicate betwwen different subnets

    I suspect that there's an issue with multicasting being allowed between your subnets. You could perhaps try and set-up DDSI not to use multicast (AllowMulticast=false) and explicitly specify the peers under Discovery/Peers/Peer
  12. Hans van 't Hag

    Vortex DDS on Raspberry pi

    Hi Jeremy, If you're looking for our community-edition, there are pre-built version for Raspberry pi (DDS Community Edition Version 6.7 for Raspberry Pi Host and Target, Debian Linux, gcc 4.9.2, ARM v6l) available here: http://www.prismtech.com/dds-community/software-downloads If you're looking for the latest commercially supported Vortex OpenSplice installer (6.8) for Raspberri PI, please contact us here: http://www.prismtech.com/contact-us You can move whichever version to the SD-card of the pi .. that shouldn't be a problem .. just make sure that the 'release.com' which you have to source before usage sets the right paths for the OSPL_HOME and OSPL_URI environment variables. Thanks, Hans
  13. Hans van 't Hag

    TTopicImpl.hpp Line 175 Bus Error

    Could you share the code so we could reproduce ? Thanks, Hans
  14. Hans van 't Hag

    Compilation fails with gcc/g++ 5.3.1 (ubuntu 16.04)

    You can also take a look here: http://forums.opensplice.org/index.php?/topic/2602-build-opensplicedds-v64-from-source-error-on-unbuntu-1504/ Which references the page: http://ros2.xyz/blog/2015/09/16/building-opensplicedds-v6-4-on-ubuntu15-04/ We will also update our website w.r.t. these instructions .. sorry for the inconvenience Regards, Hans
  15. Hans van 't Hag

    6.7 and apache license

    Hi Bud, Yes being (even) more permissive was the driver for our change towards Apache license 2.0 as especially the combination of LGPLv3 and Apache was troublesome for some of our community users. Regards, Hans