- use new Pololu driver
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user