server.py
Go to the documentation of this file.
00001 from BAL.Header.Response.ParamBuildResponse import EngineCL
00002 
00003 __author__ = 'tom1231'
00004 from rospy import Service
00005 from threading import Thread
00006 from ric_board.msg import DevStatus, MonitorDevs
00007 from ric_board.srv._get_devs import get_devs
00008 from ric_board.srv._setParam import setParam
00009 
00010 
00011 BUF_SIZE = 1024
00012 PORT = 1900
00013 
00014 class Server:
00015     def __init__(self, devs, params):
00016         statusDevs = []
00017         self._devs = devs
00018 
00019         for dev in devs['motorsCl']:
00020                 motor = DevStatus()
00021                 motor.devName = dev.getName()
00022                 motor.type = EngineCL
00023                 motor.values = [dev.getKp(), dev.getKi(), dev.getKd()]
00024                 statusDevs.append(motor)
00025 
00026         self._monitor = MonitorDevs()
00027         self._monitor.devs = statusDevs
00028         Service('/devsOnline', get_devs, self.getDevsOnline)
00029         Service('/devsSetParam', setParam, self.setParam)
00030 
00031     def getDevsOnline(self, req):
00032         devs = MonitorDevs()
00033 
00034         if req.req:
00035             devs = self._monitor
00036             index = 0
00037             for dev in devs.devs:
00038                 motor = self._devs['motorsCl'][index]
00039                 dev.values = [motor.getKp(), motor.getKi(), motor.getKd()]
00040                 index += 1
00041 
00042         return {'devs': devs}
00043 
00044     def setParam(self, request):
00045         for motor in self._devs['motorsCl']:
00046             if request.dev.devName == motor.getName():
00047                 motor.sendSetParam(request.dev.values)
00048                 break
00049         return {'ack': True}
00050 


ric_board
Author(s): RoboTiCan
autogenerated on Fri Oct 27 2017 03:02:31