Exemple #1
0
#!/usr/bin/env python
import sys, rospy
from pimouse_ros.msg import LightSensorValues

if __name__ == '__main__':
    devfile = '/dev/rtlightsensor0'
    rospy.init_node('lightsensors')
    pub = rospy.Publisher('lightsensors', LightSensorValues, queue_size=1)

    rate = rospy.Rate(10)
    while not rospy.is_shutdown():
        try:
            print('try')
            with open(devfile, 'r') as f:
                print('open ok')
                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("canot write to " + devfile)

        rate.sleep()
    #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()