Philipp Oppermann
bbf4a81781
Merge branch 'main' into arrow-list
2 years ago
haixuanTao
e55be5c79d
Compute list default value when multiple default are provided
2 years ago
haixuanTao
e7e016a825
Optimize deserializing of basic type
2 years ago
haixuanTao
f12f0e339f
Remove type info
2 years ago
Philipp Oppermann
8769a9bc10
Update dora dependency to main branch
2 years ago
haixuanTao
2fd654393b
Serialize `List` for arrow
2 years ago
haixuanTao
d4207595fd
Refactor default and type info to enable recursive typing
2 years ago
haixuanTao
4478875935
Add `List` deserializer
2 years ago
haixuanTao
811186f99d
Remove `todo` by adding basic arrow type
2 years ago
Philipp Oppermann
fa6dbb54a1
Use to_pyarrow instead of pythonize
2 years ago
Philipp Oppermann
08058672f1
Merge branch 'arrow-type' into rebase
2 years ago
Philipp Oppermann
2ba8cef675
Re-export dora-node-api-python types to work around type mismatch errors
Event merging only works when the `ExternalEventStream` is constructed and consumed by the same Rust library, so we need to compile the bridge together with the `dora-node-api-python` into a single Python module.
2 years ago
Philipp Oppermann
a55254132c
Add `create_subscription_stream` function that returns an `ExternalEventStream`
The `merge_external_events` method of dora nodes requires this type. Generics don't work across the Rust<->Python boundary, so we have to construct the type directly before we pass it to python.
2 years ago
Philipp Oppermann
42dcd67b24
Implement `Stream` trait for `Ros2Subscription`
2 years ago
Philipp Oppermann
bf0a81c088
Update dependencies to match dora-node-api
2 years ago
haixuanTao
008babd4a2
Use maturin build instead of maturin develop
3 years ago
haixuanTao
098a57c3c6
Borrow `TypeInfo` to reduce the number of clones
3 years ago
haixuanTao
44233795d3
Reuse `TypeInfo` for storing default value
3 years ago
haixuanTao
696738cab0
Replacing`TypedInfo` by `arrow::DataType`
3 years ago
haixuanTao
b9af59dbef
Handle simple type
3 years ago
haixuanTao
0a853032fc
Replace `pythonize` with `pyarrow`
3 years ago
haixuanTao
37b2ce4d7f
Migrate example into `examples` folder
3 years ago
Philipp Oppermann
c849a0f145
Update Python ROS2 bridge for new `DeserializeSeed` design in `ros2-client`/`rustdds`
3 years ago
Philipp Oppermann
df50a23058
Print pose in Python turtle teleop example
3 years ago
Philipp Oppermann
02ca73dc48
Add support for typed serialization using `DeserializeSeed`
3 years ago
Philipp Oppermann
d2c1bd753c
Used untyped subscribe type in python Ros2 bridge
3 years ago
Philipp Oppermann
d26cc96fed
Split typed serialized code into submodule
3 years ago
Philipp Oppermann
a9d5e09f45
Add support for default values
3 years ago
Philipp Oppermann
312a6bc3f0
Remove debug print
3 years ago
Philipp Oppermann
45ea8609fa
Create Python-based random turtle example
3 years ago
Philipp Oppermann
46413dba5c
Allow setting via optional argument
3 years ago
Philipp Oppermann
8502c1a3a3
Fix encoded type name
ROS2/DDS seems to require a specific type name format for messages.
3 years ago
Philipp Oppermann
448b5add07
Simplify QoS construction by using optional arguments
3 years ago
Philipp Oppermann
0cdbd924a3
Add support for referencing messages from same namespace
Also: implement f64 support to support Twist message.
3 years ago
Philipp Oppermann
9b01f03787
Parse ROS2 messages on context generation and start implementing TypeInfo conversion
3 years ago
Philipp Oppermann
dd21b0cec0
Start implementing typed CDR serialization based on runtime types
The encoding of the CDR format is different for different data types. For example, structs are encoded differently than maps. Since Python does not provide native equivalents to all CDR types, we need to some type conversion to the type specified in the `msg` files.
This commit starts implementing such a system through a new `TypeInfo` enum, which we will generate from the ROS2 msg files at runtime. For serialization, we now use a custom `TypedValue` type that calls the correct `serialize_x` functions of serde.
3 years ago
Philipp Oppermann
2b71b34137
Start creating a Python ROS2 bridge
3 years ago