mirror of
https://github.com/YikeStone/ros_arduino_bridge.git
synced 2025-08-06 04:14:09 +05:30
Fixed bug in Range sensor message type
This commit is contained in:
parent
2de2028192
commit
fcb662907e
@ -40,11 +40,10 @@ class MessageType:
|
|||||||
BOOL = 5
|
BOOL = 5
|
||||||
|
|
||||||
class Sensor(object):
|
class Sensor(object):
|
||||||
def __init__(self, device, name, pin=None, type=None, rate=0, direction="input", frame_id="base_link", **kwargs):
|
def __init__(self, device, name, pin=None, rate=0, direction="input", frame_id="base_link", **kwargs):
|
||||||
self.device = device
|
self.device = device
|
||||||
self.name = name
|
self.name = name
|
||||||
self.pin = pin
|
self.pin = pin
|
||||||
self.type = type
|
|
||||||
self.rate = rate
|
self.rate = rate
|
||||||
self.direction = direction
|
self.direction = direction
|
||||||
self.frame_id = frame_id
|
self.frame_id = frame_id
|
||||||
@ -155,7 +154,6 @@ class AnalogFloatSensor(Sensor):
|
|||||||
self.write_value(req.value)
|
self.write_value(req.value)
|
||||||
return AnalogFloatSensorWriteResponse()
|
return AnalogFloatSensorWriteResponse()
|
||||||
|
|
||||||
|
|
||||||
class DigitalSensor(Sensor):
|
class DigitalSensor(Sensor):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(DigitalSensor, self).__init__(*args, **kwargs)
|
super(DigitalSensor, self).__init__(*args, **kwargs)
|
||||||
@ -195,13 +193,10 @@ class DigitalSensor(Sensor):
|
|||||||
self.write_value(req.value)
|
self.write_value(req.value)
|
||||||
return DigitalSensorWriteResponse()
|
return DigitalSensorWriteResponse()
|
||||||
|
|
||||||
|
class RangeSensor(Sensor):
|
||||||
class RangeSensor(AnalogFloatSensor):
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(RangeSensor, self).__init__(*args, **kwargs)
|
super(RangeSensor, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
self.direction = "input"
|
|
||||||
|
|
||||||
self.message_type = MessageType.RANGE
|
self.message_type = MessageType.RANGE
|
||||||
|
|
||||||
self.msg = Range()
|
self.msg = Range()
|
||||||
@ -213,14 +208,12 @@ class RangeSensor(AnalogFloatSensor):
|
|||||||
def read_value(self):
|
def read_value(self):
|
||||||
self.msg.header.stamp = rospy.Time.now()
|
self.msg.header.stamp = rospy.Time.now()
|
||||||
|
|
||||||
|
|
||||||
class SonarSensor(RangeSensor):
|
class SonarSensor(RangeSensor):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(SonarSensor, self).__init__(*args, **kwargs)
|
super(SonarSensor, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
self.msg.radiation_type = Range.ULTRASOUND
|
self.msg.radiation_type = Range.ULTRASOUND
|
||||||
|
|
||||||
|
|
||||||
class IRSensor(RangeSensor):
|
class IRSensor(RangeSensor):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(IRSensor, self).__init__(*args, **kwargs)
|
super(IRSensor, self).__init__(*args, **kwargs)
|
||||||
@ -244,7 +237,6 @@ class Ping(SonarSensor):
|
|||||||
|
|
||||||
return distance
|
return distance
|
||||||
|
|
||||||
|
|
||||||
class GP2D12(IRSensor):
|
class GP2D12(IRSensor):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(GP2D12, self).__init__(*args, **kwargs)
|
super(GP2D12, self).__init__(*args, **kwargs)
|
||||||
@ -256,7 +248,6 @@ class GP2D12(IRSensor):
|
|||||||
def read_value(self):
|
def read_value(self):
|
||||||
value = self.device.analog_read(self.pin)
|
value = self.device.analog_read(self.pin)
|
||||||
|
|
||||||
|
|
||||||
# The GP2D12 cannot provide a meaning result closer than 3 cm.
|
# The GP2D12 cannot provide a meaning result closer than 3 cm.
|
||||||
if value <= 3.0:
|
if value <= 3.0:
|
||||||
return float('NaN')
|
return float('NaN')
|
||||||
@ -318,3 +309,4 @@ class MaxEZ1Sensor(SonarSensor):
|
|||||||
return self.device.get_MaxEZ1(self.trigger_pin, self.output_pin)
|
return self.device.get_MaxEZ1(self.trigger_pin, self.output_pin)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user