d/illixr: Update ILLIXR driver.

This commit is contained in:
Jae Lee 2021-05-16 22:59:32 +00:00 committed by Jakob Bornecrantz
parent 27f872fdfc
commit df9ebf261f
2 changed files with 3 additions and 16 deletions

View file

@ -24,18 +24,11 @@ class illixr_plugin : public plugin
{
public:
illixr_plugin(std::string name_, phonebook *pb_)
: plugin{name_, pb_}, sb{pb->lookup_impl<switchboard>()}, sb_pose{pb->lookup_impl<pose_prediction>()},
sb_eyebuffer{sb->publish<rendered_frame>("eyebuffer")}, sb_vsync_estimate{sb->subscribe_latest<time_type>(
"vsync_estimate")}
: plugin{name_, pb_}, sb{pb->lookup_impl<switchboard>()}, sb_pose{pb->lookup_impl<pose_prediction>()}
{}
const std::shared_ptr<switchboard> sb;
const std::shared_ptr<pose_prediction> sb_pose;
const std::unique_ptr<writer<rendered_frame>> sb_eyebuffer;
const std::unique_ptr<reader_latest<time_type>> sb_vsync_estimate;
fast_pose_type prev_pose; /* stores a copy of pose each time
illixr_read_pose() is called */
std::chrono::time_point<std::chrono::system_clock> sample_time; /* when prev_pose was stored */
};
static illixr_plugin *illixr_plugin_obj = nullptr;
@ -60,9 +53,6 @@ illixr_read_pose()
const fast_pose_type fast_pose = illixr_plugin_obj->sb_pose->get_fast_pose();
const pose_type pose = fast_pose.pose;
// record when the pose was read for use in write_frame
illixr_plugin_obj->sample_time = std::chrono::system_clock::now();
ret.orientation.x = pose.orientation.x();
ret.orientation.y = pose.orientation.y();
ret.orientation.z = pose.orientation.z();
@ -71,8 +61,5 @@ illixr_read_pose()
ret.position.y = pose.position.y();
ret.position.z = pose.position.z();
// store pose in static variable for use in write_frame
illixr_plugin_obj->prev_pose = fast_pose; // copy member variables
return ret;
}
}

View file

@ -62,7 +62,7 @@ struct xrt_auto_prober *
illixr_create_auto_prober()
{
struct illixr_prober *dp = U_TYPED_CALLOC(struct illixr_prober);
dp->base.name = "IlliXR";
dp->base.name = "ILLIXR";
dp->base.destroy = illixr_prober_destroy;
dp->base.lelo_dallas_autoprobe = illixr_prober_autoprobe;