Comments (9)
Hi @muto-esol,
There is a MTU size (512 bytes by default) which limits the maximum message size. In order to increase this MTU, you have to modified the CONFIG_MAX_TRANSMISSION_UNIT_SIZE
define in transport/config.h
for both Agent and Client. As well as modified the MICRORTPS_MTU_SIZE
define in xrce_client.h
. Please let's me known if it works for you.
from micro-xrce-dds-client.
Hi @muto-esol,
We have just launched a new release 1.0.0beta2 in which we are improved the MTU selection. I close the issue, in case of persistence reopen the issue.
from micro-xrce-dds-client.
Hello there,
I tried to increase the MTU for UDP by setting
- on the client side inside client.config: CONFIG_UDP_TRANSPORT_MTU=1024
- on the agent side inside CMakeLists.txt: CONFIG_UDP_TRANSPORT_MTU=1024
Then I built both and tried to run the agent and two clients, but I always get
serialize eprosima::fastcdr::exception::NotEnoughMemoryException
am I missing something?
from micro-xrce-dds-client.
Hi @torave,
Your error is due to the MTU of the output packets from the Agent to the Client, you can solve it change the mtu_size
in OutputMessage.h
. As you can see there is a related TODO which we are going to solve for next release which will be available in the next weeks. I hope it helps you.
from micro-xrce-dds-client.
Good morning @julianbermudez ,
thank you very much, this solved the problem!
However, when I increase the mtu size, the agent gives me a Segmentation fault (core dumped)
. A value of 2048 works perfectly fine, but anything above 3000 seems to be problematic. I'm not sure where this error originates -does it have to do with an underlying layer or may my system be the problem?
from micro-xrce-dds-client.
Hi @torave,
I will check it in order to give you an answer as soon as possible.
from micro-xrce-dds-client.
Hi @torave,
I checked and solved your issue on commit eProsima/Micro-XRCE-DDS-Agent@bd3967c.
Apart from this hotfix you should configure publisher and subscriber as is described in eProsima/Micro-XRCE-DDS-Agent#4 in order to send large data. This issue could be relate with #24.
Please check it and give me your feedback.
Thanks!
from micro-xrce-dds-client.
Hello @julianbermudez,
Sorry for my late answer, I've been sick.
I wanted to test the software, but I haven't actually been able to build. I cloned the master repository of the Micro-XRCE-DDS-Agent and followed the instructions on https://micro-xrce-dds.readthedocs.io/en/latest/installation.html. When I use the make command, I get the following output:
Scanning dependencies of target microxrcedds_agent
[ 3%] Building CXX object CMakeFiles/microxrcedds_agent.dir/src/cpp/Root.cpp.o
[ 6%] Building CXX object CMakeFiles/microxrcedds_agent.dir/src/cpp/processor/Processor.cpp.o
[ 10%] Building CXX object CMakeFiles/microxrcedds_agent.dir/src/cpp/client/ProxyClient.cpp.o
[ 13%] Building CXX object CMakeFiles/microxrcedds_agent.dir/src/cpp/participant/Participant.cpp.o
/home/tv/Projects/Micro-XRCE-DDS-Agent/src/cpp/participant/Participant.cpp: In member function ‘virtual bool eprosima::uxr::Participant::matched(const dds::xrce::ObjectVariant&) const’:
/home/tv/Projects/Micro-XRCE-DDS-Agent/src/cpp/participant/Participant.cpp:152:43: error: no match for ‘operator==’ (operand types are ‘eprosima::fastrtps::ParticipantAttributes’ and ‘const eprosima::fastrtps::ParticipantAttributes’)
return parser_cond && (new_attributes == old_attributes);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
CMakeFiles/microxrcedds_agent.dir/build.make:134: recipe for target 'CMakeFiles/microxrcedds_agent.dir/src/cpp/participant/Participant.cpp.o' failed
make[2]: *** [CMakeFiles/microxrcedds_agent.dir/src/cpp/participant/Participant.cpp.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/microxrcedds_agent.dir/all' failed
make[1]: *** [CMakeFiles/microxrcedds_agent.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Should I open a new issue for this, since it isn't really related to the datasize affair?
from micro-xrce-dds-client.
Hi @torave,
There is a similar issue open, I redirect to it. Please tell me if you are able to solve this issue. Thanks!
from micro-xrce-dds-client.
Related Issues (20)
- Getting dlfcn.h file not found build error when Shared Memory Enabled HOT 6
- Shared Memory feature with Multiple Publishers and Subscribers within MCU is not working with Micro-XRCE-DDS-Client HOT 12
- How to create a shared memory example single session with multiple topics for pulishers and subscriber HOT 1
- SharedMemoryReqResp example not working on ESP32 Getting Assert Exception during test with freeRTOS HOT 1
- Doc Bug: Enabling BUILD_DOCUMENTATION results in Doxygen Error HOT 4
- Block bug: uxr_millis() returning 0 causes block in wait_session_status
- Agent Discovery
- Is there a direct way to communicate XRCE requesters and repliers and ROS-2 node via Micro-ROS agent HOT 6
- How to reconnect Agent? HOT 1
- Mutex not being released as expected HOT 7
- How to use SHM HOT 1
- Reconnect to Agent HOT 2
- UXR_CONFIG_CAN_TRANSPORT_MTU is not in defined by CMake HOT 5
- Multiple Clients cannot connect to same CAN Agent HOT 7
- client on MCU create session failed HOT 8
- Topic published from MCU client cannot be echoed by ROS2 HOT 4
- MicroRos fails in ra8m1 due to uxr_create_session HOT 3
- Time sync issue with uxr_sync_session() HOT 7
- how to create different topic in same thead HOT 1
- if ROS agent gets this error: eprosima::fastcdr::exception::BadParamException: Unexpected byte value in Cdr::deserialize(bool), expected 0 or 1,we need change ucdr serialize bool HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from micro-xrce-dds-client.