Fix server, add dummy python controller.
This commit is contained in:
@@ -2,10 +2,9 @@ print("Connecting to pi")
|
||||
|
||||
import grpc
|
||||
from concurrent import futures
|
||||
from .MotorServer import MotorServicer
|
||||
from . import motorService_pb2_grpc
|
||||
import random
|
||||
from threading import Timer
|
||||
import motorService_pb2_grpc
|
||||
from motorService_pb2 import ThrottleRequest
|
||||
import time
|
||||
|
||||
throttle = 0
|
||||
timer = None
|
||||
@@ -21,30 +20,15 @@ class ThrottleIterator:
|
||||
def __next__(self):
|
||||
if throttle > 1 or throttle < -1:
|
||||
raise StopIteration
|
||||
return throttle
|
||||
time.sleep(1)
|
||||
return ThrottleRequest(throttle=throttle)
|
||||
|
||||
|
||||
def serve():
|
||||
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
|
||||
motorService_pb2_grpc.add_CarControlServicer_to_server(
|
||||
MotorServicer(), server)
|
||||
server.add_insecure_port('[::]:50051')
|
||||
server.start()
|
||||
|
||||
def resetThrottle():
|
||||
global throttle
|
||||
throttle = random.random() * 2 - 1
|
||||
global timer
|
||||
if timer is not None:
|
||||
timer.cancel()
|
||||
timer = Timer(10, resetThrottle)
|
||||
|
||||
serve()
|
||||
|
||||
timer = Timer(10, resetThrottle)
|
||||
|
||||
channel = grpc.insecure_channel('localhost:50051')
|
||||
channel = grpc.insecure_channel('10.0.0.53:50051')
|
||||
stub = motorService_pb2_grpc.CarControlStub(channel)
|
||||
|
||||
stub.SetThrottle(ThrottleIterator())
|
||||
|
||||
while True:
|
||||
inp = int(input('Please enter a value for the throttle between -100 and 100'))
|
||||
throttle = inp / 100
|
||||
|
||||
Reference in New Issue
Block a user