|
@@ -59,6 +59,12 @@ class MyIMU(object):
|
|
|
self.raw_q2 = float((np.short((q2[1]<<8)|q2[0]))/32768.0)
|
|
|
self.raw_q3 = float((np.short((q3[1]<<8)|q3[0]))/32768.0)
|
|
|
|
|
|
+ def get_two_float(self, data, n):
|
|
|
+ data = str(data)
|
|
|
+ a, b, c = data.partition('.')
|
|
|
+ c = (c+"0"*n)[:n]
|
|
|
+ return ".".join([a,c])
|
|
|
+
|
|
|
def get_temp(self):
|
|
|
try:
|
|
|
temp = self.i2c.read_i2c_block_data(self.addr, 0x40, 2)
|
|
@@ -66,4 +72,5 @@ class MyIMU(object):
|
|
|
rospy.logerr("Read IMU temperature data error !")
|
|
|
else:
|
|
|
self.temp = float((temp[1]<<8)|temp[0])/100.0
|
|
|
-
|
|
|
+ self.temp = float(self.get_two_float(self.temp, 2)) #keep 2 decimal places
|
|
|
+
|