Skip to content

Commit f89c16e

Browse files
authored
Merge pull request #204 from Bob-Eric/dev/working
Fix incorrect publish frequency for PointCloud2 publishers
2 parents 0ffc266 + 7242329 commit f89c16e

File tree

4 files changed

+18
-6
lines changed

4 files changed

+18
-6
lines changed

Packages/UnitySensorsROS/Runtime/Scripts/Publishers/RosMsgPublisher.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,14 @@ public float frequency
3636
}
3737
}
3838
private void Awake()
39+
{
40+
InitializePublisher();
41+
}
42+
43+
protected virtual void InitializePublisher()
3944
{
4045
_frequency_inv = 1.0f / _frequency;
46+
4147
_publisher_id = _publisher_count;
4248
_publisher_count++;
4349

Packages/UnitySensorsROS/Runtime/Scripts/Publishers/SensorMsgs/PointCloud2Msg/DepthCameraPointCloud2MsgPublisher.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ public class DepthCameraPointCloud2MsgPublisher : PointCloud2MsgPublisher<PointX
1111
[SerializeField, Interface(typeof(IPointCloudInterface<PointXYZ>))]
1212
private Object _source;
1313

14-
private void Awake()
14+
protected override void InitializePublisher()
1515
{
16+
base.InitializePublisher();
17+
1618
_serializer.SetSource(_source as IPointCloudInterface<PointXYZ>);
1719
(_source as DepthCameraSensor).convertToPointCloud = true;
1820
}
1921
}
20-
}
22+
}

Packages/UnitySensorsROS/Runtime/Scripts/Publishers/SensorMsgs/PointCloud2Msg/LiDARPointCloud2MsgPublisher.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ public class LiDARPointCloud2MsgPublisher : PointCloud2MsgPublisher<PointXYZI>
1010
[SerializeField, Interface(typeof(IPointCloudInterface<PointXYZI>))]
1111
private Object _source;
1212

13-
private void Awake()
13+
protected override void InitializePublisher()
1414
{
15+
base.InitializePublisher();
16+
1517
if (_source == null)
1618
{
1719
Debug.LogError("Source is not set in LiDARPointCloud2MsgPublisher. Please ensure that the '_source' field is assigned in the Unity Editor or via code. Expected type: IPointCloudInterface<PointXYZI>.");
@@ -20,4 +22,4 @@ private void Awake()
2022
_serializer.SetSource(_source as IPointCloudInterface<PointXYZI>);
2123
}
2224
}
23-
}
25+
}

Packages/UnitySensorsROS/Runtime/Scripts/Publishers/SensorMsgs/PointCloud2Msg/RGBDCameraPointCloud2MsgPublisher.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ public class RGBDCameraPointCloud2MsgPublisher : PointCloud2MsgPublisher<PointXY
1111
[SerializeField, Interface(typeof(IPointCloudInterface<PointXYZRGB>))]
1212
private Object _source;
1313

14-
private void Awake()
14+
protected override void InitializePublisher()
1515
{
16+
base.InitializePublisher();
17+
1618
_serializer.SetSource(_source as IPointCloudInterface<PointXYZRGB>);
1719
(_source as RGBDCameraSensor).convertToPointCloud = true;
1820
}
1921
}
20-
}
22+
}

0 commit comments

Comments
 (0)