- use new Pololu driver

This commit is contained in:
jens
2021-08-11 17:49:37 +02:00
parent a291c654c8
commit 6196f944c6
2 changed files with 10 additions and 26 deletions
@@ -78,6 +78,9 @@ class Pololu1376:
def go(self):
return self.cmd("GO")
def stop(self):
return self.cmd("X")
def motor_forward(self, speed_percent):
return self.cmd("F" + str(int(speed_percent)) + "%")
@@ -87,9 +90,6 @@ class Pololu1376:
def motor_brake(self, brake_amount_percent):
return self.cmd("B" + str(int(brake_amount_percent)) + "%")
def motor_stop(self):
return self.cmd("X")
def motor_set_limit(self, value):
self.cmd("L" + str(value))
+7 -23
View File
@@ -1,5 +1,6 @@
from contextlib import contextmanager
from components import AStirrer
from pololu1376 import Pololu1376
import time
import serial
@@ -12,19 +13,9 @@ class StirrerPololu1376(AStirrer):
AStirrer.__init__(self, dt)
self.isMasterOn = 0
self.ser_speed = params['speed']
self.ser_port = params['port']
self.ser = serial.Serial(self.ser_port, self.ser_speed)
self.ser.set_output_flow_control(False)
try:
self.ser.open()
except serial.SerialException:
self.ser.close()
self.ser.open()
self.ser_send('V')
self.ser_recv()
ser = serial.Serial(params['port'], params['speed'])
ser.set_output_flow_control(False)
self.drv = Pololu1376(ser)
self.activate(False)
@contextmanager
@@ -35,13 +26,6 @@ class StirrerPololu1376(AStirrer):
finally:
self.activate(False)
def ser_send(self, cmd):
self.ser.write((cmd + '\r\n').encode())
def ser_recv(self):
data = self.ser.readline().decode("utf-8").replace("\n", '').replace("\r", '')
return data
def get_speed(self):
if self.isOn and self.is_activated():
return self.speed
@@ -50,12 +34,12 @@ class StirrerPololu1376(AStirrer):
def activate(self, enable):
print("activate {}".format(enable))
if enable:
self.ser_send("go")
self.drv.go()
else:
self.ser_send("X")
self.drv.stop()
def on_set_speed(self, speed):
self.ser_send("F" + str(int(speed)) + "%")
self.drv.motor_forward(speed)
print("Set speed to {} %".format(speed))