This repository has been archived on 2025-06-01. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
compLIB/compLib/Encoder.py
Konstantin Lampalzer c02cfcd71c Move client foler
2022-12-17 23:59:06 +01:00

37 lines
1.3 KiB
Python

import compLib.CompLib_pb2 as CompLib_pb2
from compLib.CompLibClient import CompLibClient
class Encoder(object):
"""Klasse zum Zugriff auf die Encoder der einzelnen Motoren
"""
@staticmethod
def read_all_positions():
"""Lesen aller absoluten Positionen der einzelnen Encoder
:return: Tupel mit allen aktuellen Encoderpositionen
"""
request = CompLib_pb2.EncoderReadPositionsRequest()
request.header.message_type = request.DESCRIPTOR.full_name
response = CompLib_pb2.EncoderReadPositionsResponse()
response.ParseFromString(CompLibClient.send(
request.SerializeToString(), request.ByteSize()))
return tuple(i for i in response.positions)
@staticmethod
def read_all_velocities():
"""Lesen der Geschwindigkeit aller angeschlossenen Motoren.
:return: Tupel aller aktuellen Motorgeschwindigkeiten in Radianten pro Sekunde
"""
request = CompLib_pb2.EncoderReadVelocitiesRequest()
request.header.message_type = request.DESCRIPTOR.full_name
response = CompLib_pb2.EncoderReadVelocitiesResponse()
response.ParseFromString(CompLibClient.send(
request.SerializeToString(), request.ByteSize()))
return tuple(i for i in response.velocities)