#vehicle #specification #signal #topic #dds #com #speed

vehicle-signals

从 GENIVI/W3C 车辆信号规范生成的 Cyclonedds-rs 主题

8 个不稳定版本 (3 个破坏性更新)

0.4.0 2022年9月23日
0.3.2 2022年8月31日
0.2.2 2022年8月17日
0.2.1 2022年4月26日
0.1.1 2021年9月23日

#569硬件支持

每月下载量 26

自定义许可证

1.5MB
27K SLoC

Cyclonedds-rs 的车辆信号规范

本crate生成用于汽车平台的DDS主题类型。这些类型基于GENIVI VSS规范。车辆信号规范(VSS)的目的是在不考虑协议或序列化格式的情况下,创建对车辆信号的共同理解。

本crate依赖于cyclonedds-rs,即cyclonedds的安全Rust绑定。

版本

使用规范版本3.0。 https://github.com/COVESA/vehicle_signal_specification/commit/525e2bd00ddf061851bdc75e849178e5d3ad5833

DDS密钥的使用

此实现使用生成的类型中的密钥。这大大简化了类型路径。例如,在GENIVI VSS中,您将找到以下类型名称

  1. Vehicle.Cabin.Door.Row1.Left.Window.Position
  2. Vehicle.Cabin.Door.Row2.Left.Window.Position
  3. Vehicle.Cabin.Door.Row1.Right.Window.Position
  4. Vehicle.Cabin.Door.Row2.Right.Window.Position

在生成的绑定中,您将找到以下类型

  1. Vehicle.Cabin.Door.Window.Position

窗口的行和侧边转换为 Position 结构中的值。vehicle_signals::vehicle::cabin:🚪🪟:Position 行和侧边被标记为主题密钥。

构建说明(如果您想升级到VSS的新版本)

信号是从GENIVI车辆信号规范的CSV输出中生成的。将生成的CSV文件复制到此仓库,并更新 build.rs 以反映正确的文件。

车辆信号规范: https://github.com/GENIVI/vehicle_signal_specification/

示例

  1. 车辆速度发布者 https://github.com/sjames/demo-vehicle-speed-publisher.git
  2. 车辆速度订阅者(异步支持) https://github.com/sjames/demo-vehicle-speed-subscriber.git

依赖项

~2-6MB
~111K SLoC