Fixing this does not resolve the timestamping issue in the OpticalFlow message, i.e, time synchronization does not happen at all. Is it supported by the PX4Flow firmware? The messages have timestamps in the order of magnitude of 1k (I guess these are seconds since startup).
the driver creates a ros::Timer to synchronize the time with the PX4Flow in https://github.com/cvg/px-ros-pkg/blob/rosbuild/px_hardware_interface/px4flow_node/src/SerialComm.cc#L89 however the Timer object is destroyed at the end of the open() method. Therefore, the timer callback is never executed and the time is not synchronized. The timer should be a member variable of the SerialComm object.
Fixing this does not resolve the timestamping issue in the OpticalFlow message, i.e, time synchronization does not happen at all. Is it supported by the PX4Flow firmware? The messages have timestamps in the order of magnitude of 1k (I guess these are seconds since startup).