Source code for morse.middleware.pocolibs.sensors.pom

import logging; logger = logging.getLogger("morse." + __name__)
from morse.middleware.pocolibs_datastream import *
from pom.struct import *

[docs]class PomSensorPosPoster(PocolibsDataStreamInput):
[docs] def initialize(self): PocolibsDataStreamInput.initialize(self, POM_SENSOR_POS)
[docs]class PomSensorPoster(PocolibsDataStreamOutput): _type_name = "POM_ME_POS" _type_url = "http://trac.laas.fr/git/pom-genom/tree/pomStruct.h#n180"
[docs] def initialize(self): PocolibsDataStreamOutput.initialize(self, POM_ME_POS) # Initialise the object self.obj = POM_ME_POS() self.obj.kind = POM_ME_ABSOLUTE self.obj.confidence = float(self.component_instance.bge_object['confidence']) # search for the reference poster ref_frame = self.component_instance.bge_object['reference_frame'] self.ref_poster = PomSensorPosPoster(self.component_instance, { 'poster': ref_frame })
[docs] def default(self, ci): ref = self.ref_poster.read() if ref: self.obj.main.euler.x = self.data.get('x', 0.0) self.obj.main.euler.y = self.data.get('y', 0.0) self.obj.main.euler.z = self.data.get('z', 0.0) self.obj.main.euler.yaw = self.data.get('yaw', 0.0) self.obj.main.euler.pitch = self.data.get('pitch', 0.0) self.obj.main.euler.roll = self.data.get('roll', 0.0) self.obj.date1 = ref.date self.write(self.obj)
[docs]class PomPoster(PocolibsDataStreamOutput): _type_name = "POM_POS" _type_url = "http://trac.laas.fr/git/pom-genom/tree/pomStruct.h#n211"
[docs] def initialize(self): PocolibsDataStreamOutput.initialize(self, POM_POS) # Initialise the object self.obj = POM_POS() self.obj.date = 0 self.obj.pomTickDate = 0
[docs] def default(self, ci): self.obj.mainToOrigin.euler.x = self.data.get('x', 0.0) self.obj.mainToOrigin.euler.y = self.data.get('y', 0.0) self.obj.mainToOrigin.euler.z = self.data.get('z', 0.0) self.obj.mainToOrigin.euler.yaw = self.data.get('yaw', 0.0) self.obj.mainToOrigin.euler.pitch = self.data.get('pitch', 0.0) self.obj.mainToOrigin.euler.roll = self.data.get('roll', 0.0) self.obj.date += 1 self.obj.pomTickDate = self.obj.date self.write(self.obj)