48 Commits

Author SHA1 Message Date
Thomas Schneider
cd66a262ee Robustify RTPS bridge stream parsing. 2022-07-20 01:13:47 -04:00
Junwoo Hwang
35613df210 uORB : Don't automatically include message name as default topic name in uORBTopics source files, to handle case where user doesn't use default messgae name for multi topic definition in .msg file 2022-04-13 09:08:51 +02:00
Daniel Mesham
06a9be74fa microdds: add xrce client 2022-03-22 09:01:05 +01:00
Christian Llanes
c0efbe1f9c change PublicationMulti-> Publication as a temporary fix 2021-08-20 19:56:56 +01:00
TSC21
0b23679f98 msg: templates: update empy contexts, required fields and license header years 2021-08-12 08:44:53 +02:00
TSC21
c478e2985a microRTPS: simplify the attribution of the RTPS IDs by makiing it automatic
1. The RTPS IDs are now automatically assigned to the topics
2. Only the topics that get defined to be sent or received in the urtps_bridge_topics.yaml (renamed, since now it doesn't contain IDs) receive the IDs
3. Any addition or removal on the urtps_bridge_topics.yaml file might update the topic IDs - this will require that the agent and the client ID list has to be in sync. This will further require a robustification of the way we check the IDs and the message definitions when starting the bridge.
2021-08-12 08:44:53 +02:00
TSC21
ba3dbbd38d microRTPS: send the system ID with the RTPS packet header and remove the need for extra id fields in uORB
This allows that all messages (not only timesync messages) that get received on the same system that sent them do not get parsed. As the microRTPS agent is built currently, this will only happen right now if someone sets the same UDP port to send and receive data, or by manually changing the agent topics (which were always autogenerated).
2021-08-12 08:44:53 +02:00
TSC21
d31b7feb31 microRTPS: agent: publish timesync status 2021-08-12 08:44:53 +02:00
Julian Oes
31b1241de8 uorb_microcdr: collect all messages
Without this we are potentially too slow to collect them all which can
lead to the buffer in protocol_splitter to overflow and be reset.
2021-08-12 08:44:53 +02:00
TSC21
6d5f12d2a2 microRTPS: client: add TX rate limiter 2021-06-21 16:36:44 +02:00
TSC21
ac2b38603c microRTPS: client: add missing "-p" option for the UART poll timeout and use microsecs for the send/rcv thread sleeps 2021-06-21 16:36:44 +02:00
TSC21
0cc79f3e48 microRTPS: client: show diagnostic of current bandwidth usage on the 'status' option 2021-06-21 16:36:44 +02:00
TSC21
d6ee15596d microRTPS: client: show diagnostic of average bandwidth usage on the 'status' option 2021-06-21 16:36:44 +02:00
TSC21
40462bfc1f microRTPS: client: reduce name set by pthread_setname_np since Linux requires names (with NUL) to fit in 16 chars, otherwise returns ERANGE (34) 2021-06-21 16:36:44 +02:00
TSC21
773d81f208 microRTPS: client: fix send per allocated topic 2021-06-21 16:36:44 +02:00
TSC21
320b414511 microRTPS: client: match the code style from the PX4 Firmware 2021-06-21 16:36:44 +02:00
Julian Kent
1011382098 Clamp RTPS -> uorb timestamps to system time 2021-03-31 13:25:27 +02:00
TSC21
06b733bb86 msg: rtps: improve verbosity when the the client is not capable of parsing a specific ID 2021-01-10 22:22:22 +01:00
TSC21
342b1c5ded microRTPS: client: properly set task/thread naming 2020-07-31 14:13:10 +01:00
TSC21
162e0c7675 microRTPS: client: reserve the minimum required stack to the send/receive tasks 2020-07-31 14:13:10 +01:00
TSC21
0b41aa3ecd microRTPS: client: dynamically allocate the uORB pub/subs 2020-07-31 14:13:10 +01:00
TSC21
311a8144e1 microRTPS: client: use structs for pub/subs to avoid increasing the stack usage 2020-07-31 14:13:10 +01:00
Daniel Agar
9585055e9e
uORB: add bitset for faster orb_exists check and remove uORB::Subscription lazy subscribe hack/optimization
- add PX4 bitset and atomic_bitset with testing
 - add uORB::Subscription constructor to take ORB_ID enum
 - move orb test messages into msg/
2020-03-11 09:06:33 -04:00
TSC21
67491b473c microRTPS: add timesync handshake 2020-03-10 12:15:18 +00:00
TSC21
e3e607f600 microRTPS: client: add client response to timesync 2020-03-10 12:15:18 +00:00
TSC21
2e9a4d89ee msg: remove gencpp and genmsh submodules; remove gencpp imports 2020-01-13 21:48:35 +00:00
TSC21
c9aab6319f microRTPS: update headers licenses 2019-11-26 09:01:52 +01:00
TSC21
54cd8f1856 microRTPS_client.cpp.em: fix double conversions 2019-11-26 09:01:52 +01:00
TSC21
4c5e5acefe micro-CDR: bump submodule version and update CMake and src code 2019-11-24 19:36:00 -05:00
TSC21
d80da97ef5 micrortps_client: more cleanup 2019-11-24 21:39:01 +00:00
TSC21
ec0803815e microRTPS_client: use updated uORB API; improve usage 2019-11-24 21:39:01 +00:00
Beat Küng
3198610f85 src/platforms: move all headers to platforms/common/include/px4_platform_common
and remove the px4_ prefix, except for px4_config.h.

command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done

Transitional headers for submodules are added (px4_{defines,log,time}.h)
2019-10-30 11:48:47 +01:00
TSC21
eb951ede6a urtps templates: minor cleanup 2019-07-26 15:05:54 +02:00
TSC21
3d9f83a4f2 microRTPS_bridge: structural change to make possible to generate pub/sub code for multi-topics/aliased msgs 2019-07-26 15:05:54 +02:00
Daniel Agar
32a89a1834 rename empy templates (*.template) to proper file extension (.em) 2019-06-10 10:42:00 -07:00
TSC21
3ab75b83ce microcdr and IDL: remove field ordering, causing improper serialization/deserialization 2019-05-16 12:02:24 +02:00
Daniel Agar
c0b464e9e2 replace <cinttypes> with <inttypes.h>
- <cinttypes> isn't available in the NuttX c++ library
2019-01-06 19:20:57 -05:00
TSC21
3c246ce170 microRTPS: improve verbosity with the usage of px4_log types 2019-01-02 00:14:18 +00:00
TSC21
adbec90018 microRTPS: replace usleep() by px4_usleep() 2019-01-02 00:14:18 +00:00
TSC21
c25d122f12 update micro-CDR version and msg templates to fit the up to date version 2018-12-02 10:35:25 +01:00
TSC21
1cc3d95ff7 msg: templates: add 'ids' to the Context documentation 2018-09-24 19:28:40 +02:00
TSC21
0227ea3835 msg: RTPS: pass RTPS ID msg definition file as an EmPy global var 2018-09-24 19:28:40 +02:00
TSC21
bb835382dd use a yaml file description instead of json; minor improvements and cleanup 2018-09-21 15:55:17 +02:00
TSC21
e932030d88 add timestamp field to uORB msgs; sync timestamp whenever possible 2018-08-09 13:40:48 +02:00
Nuno Marques
83fd5a5fd1 Update micro-CDR to latest and fix API usage (#9651)
* uorb_microcdr: msg.cpp.template: update API for how the buffer length is obtained
* micrortps_bridge: CMakeLists: temporarily deactivate check endianness option
2018-07-12 18:04:15 -04:00
Vicente Monge
a272cbbd08 Included field timestamp for micrortps bridge messages. 2018-02-15 22:32:18 +01:00
ritul jasuja
13a3791c47 Send RTPS header and payload in one stream
This avoids assembling the header and payload on the receiver side
2018-02-14 12:04:35 +01:00
Daniel Agar
651df03f76 RTPS and micro-CDR build system cleanup (#8084) 2017-10-11 13:05:44 -04:00