def METHOD_NAME(self, joy):
    if self.last_joy is None:
        self.last_joy = joy
        return
    # No change in state
    # The controller times out after 15 minutes
    if (
        joy.axes == self.last_joy.axes
        and joy.buttons == self.last_joy.buttons
        and rospy.Time.now() - self.last_joy.header.stamp > rospy.Duration(15 * 60)
        and self.active
    ):
        rospy.logwarn("Controller Timed out. Hold start to resume.")
        self.reset()
    else:
        joy.header.stamp = (
            rospy.Time.now()
        )  # In the sim, stamps weren't working right
        self.last_joy = joy