#freq = rospy.get_param('lightsensors_freq',10) devfile = '/dev/rtlightsensor0' rospy.init_node('lightsensors') pub = rospy.Publisher('lightsensors', LightSensorValues, queue_size=1) freq = get_freq() rate = rospy.Rate(freq) while not rospy.is_shutdown(): try: with open(devfile, 'r') as f: data = f.readline().split() d = LightSensorValues() d.right_forward = int(data[0]) d.right_side = int(data[1]) d.left_side = int(data[2]) d.left_forward = int(data[3]) #d.sum_all = sum(data) d.sum_forward = int(data[0]) + int(data[3]) pub.publish(d) except IOError: rospy.logerr("cannot write to " + devfile) f = get_freq() if f != freq: freq = f rate = rospy.Rate(freq) rate.sleep()
if __name__=='__main__': devfile = '/dev/rtlightsensor0' rospy.init_node('lightsensors') pub = rospy.Publisher('lightsensors', LightSensorValues, queue_size=1) freq = get_freq() rate = rospy.Rate(freq) while not rospy.is_shutdown(): try: with open(devfile,'r') as f: data = f.readline().split() data = [ int(e) for e in data] d = LightSensorValues() d.right_forward = data[0] d.right_side = data[1] d.left_side = data[2] d.left_forward = data[3] d.sum_all = sum(data) d.sum_forward = data[0] + data[3] pub.publish(d) except IOError: rospy.logerr("cannot write to " + devfile) f = get_freq() if f != freq: freq = f rate = rospy.Rate(freq) rate.sleep()
from pimouse_ros.msg import LightSensorValues if __name__ == '__main__': devfile = '/dev/rtlightsensor0' rospy.init_node('lightsensors') # queue size = 1 because it don't need buffer old data for subscriber pub = rospy.Publisher('lightsensors', LightSensorValues, queue_size=1) # make 10 Hz rate object # while roop is execute 10 time/ 1 second (consider execute time of this process rate = rospy.Rate(10) while not rospy.is_shutdown(): try: with open(devfile, 'r') as f: # read and separate data, then save data[3] data = f.readline().split() # change charactor to integer data = [ int(e) for e in data] d = LightSensorValues() d.right_forward = data[0] d.right_side = data[1] d.left_side = data[2] d.left_forward = data[3] d.sum_all = sum(data) d.sum_forward = d.right_forward + d.left_forward pub.publish(d) except IOError: rospy.logerr("cannot open " + devfile) rate.sleep()