Skip to content

Commit 3f2d574

Browse files
committed
Expand ROS2 codecs with common message types
1 parent 50d9791 commit 3f2d574

20 files changed

Lines changed: 965 additions & 0 deletions

fastproto-ros2/src/main/java/org/indunet/fastproto/ros2/Ros2Codecs.java

Lines changed: 363 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.indunet.fastproto.ros2.geometry_msgs.msg;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import org.indunet.fastproto.annotation.FloatType;
8+
9+
/**
10+
* geometry_msgs/msg/Point32
11+
*/
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class Point32 {
17+
public static final int SIZE = 12;
18+
19+
@FloatType(offset = 0)
20+
private float x;
21+
@FloatType(offset = 4)
22+
private float y;
23+
@FloatType(offset = 8)
24+
private float z;
25+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.indunet.fastproto.ros2.geometry_msgs.msg;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
/**
9+
* geometry_msgs/msg/Polygon
10+
*/
11+
@Data
12+
@Builder
13+
@NoArgsConstructor
14+
@AllArgsConstructor
15+
public class Polygon {
16+
private Point32[] points;
17+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.indunet.fastproto.ros2.geometry_msgs.msg;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import org.indunet.fastproto.ros2.std_msgs.msg.Header;
8+
9+
/**
10+
* geometry_msgs/msg/PolygonStamped
11+
*/
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class PolygonStamped {
17+
private Header header;
18+
private Polygon polygon;
19+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package org.indunet.fastproto.ros2.geometry_msgs.msg;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import org.indunet.fastproto.annotation.DoubleType;
8+
9+
/**
10+
* geometry_msgs/msg/Pose2D
11+
*/
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class Pose2D {
17+
public static final int SIZE = 24;
18+
19+
@DoubleType(offset = 0)
20+
private double x;
21+
22+
@DoubleType(offset = 8)
23+
private double y;
24+
25+
@DoubleType(offset = 16)
26+
private double theta;
27+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.indunet.fastproto.ros2.geometry_msgs.msg;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import org.indunet.fastproto.ros2.std_msgs.msg.Header;
8+
9+
/**
10+
* geometry_msgs/msg/TwistStamped
11+
*/
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class TwistStamped {
17+
private Header header;
18+
private Twist twist;
19+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package org.indunet.fastproto.ros2.sensor_msgs.msg;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import org.indunet.fastproto.ros2.std_msgs.msg.Header;
8+
9+
/**
10+
* sensor_msgs/msg/BatteryState
11+
*/
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class BatteryState {
17+
public static final int POWER_SUPPLY_STATUS_UNKNOWN = 0;
18+
public static final int POWER_SUPPLY_STATUS_CHARGING = 1;
19+
public static final int POWER_SUPPLY_STATUS_DISCHARGING = 2;
20+
public static final int POWER_SUPPLY_STATUS_NOT_CHARGING = 3;
21+
public static final int POWER_SUPPLY_STATUS_FULL = 4;
22+
23+
public static final int POWER_SUPPLY_HEALTH_UNKNOWN = 0;
24+
public static final int POWER_SUPPLY_HEALTH_GOOD = 1;
25+
public static final int POWER_SUPPLY_HEALTH_OVERHEAT = 2;
26+
public static final int POWER_SUPPLY_HEALTH_DEAD = 3;
27+
public static final int POWER_SUPPLY_HEALTH_OVERVOLTAGE = 4;
28+
public static final int POWER_SUPPLY_HEALTH_UNSPEC_FAILURE = 5;
29+
public static final int POWER_SUPPLY_HEALTH_COLD = 6;
30+
public static final int POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE = 7;
31+
public static final int POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE = 8;
32+
33+
public static final int POWER_SUPPLY_TECHNOLOGY_UNKNOWN = 0;
34+
public static final int POWER_SUPPLY_TECHNOLOGY_NIMH = 1;
35+
public static final int POWER_SUPPLY_TECHNOLOGY_LION = 2;
36+
public static final int POWER_SUPPLY_TECHNOLOGY_LIPO = 3;
37+
public static final int POWER_SUPPLY_TECHNOLOGY_LIFE = 4;
38+
public static final int POWER_SUPPLY_TECHNOLOGY_NICD = 5;
39+
public static final int POWER_SUPPLY_TECHNOLOGY_LIMN = 6;
40+
41+
private Header header;
42+
private float voltage;
43+
private float temperature;
44+
private float current;
45+
private float charge;
46+
private float capacity;
47+
private float designCapacity;
48+
private float percentage;
49+
private int powerSupplyStatus;
50+
private int powerSupplyHealth;
51+
private int powerSupplyTechnology;
52+
private boolean present;
53+
private float[] cellVoltage;
54+
private float[] cellTemperature;
55+
private String location;
56+
private String serialNumber;
57+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.indunet.fastproto.ros2.sensor_msgs.msg;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
/**
9+
* sensor_msgs/msg/ChannelFloat32
10+
*/
11+
@Data
12+
@Builder
13+
@NoArgsConstructor
14+
@AllArgsConstructor
15+
public class ChannelFloat32 {
16+
private String name;
17+
private float[] values;
18+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.indunet.fastproto.ros2.sensor_msgs.msg;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import org.indunet.fastproto.ros2.std_msgs.msg.Header;
8+
9+
/**
10+
* sensor_msgs/msg/Illuminance
11+
*/
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class Illuminance {
17+
private Header header;
18+
private double illuminance;
19+
private double variance;
20+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.indunet.fastproto.ros2.sensor_msgs.msg;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import org.indunet.fastproto.ros2.geometry_msgs.msg.Point32;
8+
import org.indunet.fastproto.ros2.std_msgs.msg.Header;
9+
10+
/**
11+
* sensor_msgs/msg/PointCloud
12+
*/
13+
@Data
14+
@Builder
15+
@NoArgsConstructor
16+
@AllArgsConstructor
17+
public class PointCloud {
18+
private Header header;
19+
private Point32[] points;
20+
private ChannelFloat32[] channels;
21+
}

0 commit comments

Comments
 (0)