Ejemplo n.º 1
0
 def min_speed(self):
     bus = Mock()
     drv = MotorDriver(0, bus, 0.5)
     drv.set(0.3)
     self.assertEqual(drv.speed, 0.5)
     drv.set(-0.3)
     self.assertEqual(drv.speed, 0.5)
Ejemplo n.º 2
0
 def test_set_backward(self):
     bus = Mock()
     drv = MotorDriver(0, bus, 0)
     drv.set(-1)
     bus.write_byte_data.assert_called_with(0, 0, 0b11111110)
     drv.set(-0.5)
     bus.write_byte_data.assert_called_with(0, 0, 0b10001010)
Ejemplo n.º 3
0
 def test_voltage_property(self):
     bus = Mock()
     drv = MotorDriver(0, bus, 0)
     drv.set(0.5)
     self.assertAlmostEqual(drv.voltage, 2.73, places=2)
     drv.set(1)
     self.assertAlmostEqual(drv.voltage, 5.06, places=2)
Ejemplo n.º 4
0
 def test_direction_property(self):
     bus = Mock()
     drv = MotorDriver(0, bus, 0)
     self.assertEqual(drv.direction, 0)
     drv.set(-0.5)
     self.assertEqual(drv.direction, -1)
     drv.set(0.5)
     self.assertEqual(drv.direction, 1)
Ejemplo n.º 5
0
 def test_speed_property(self):
     bus = Mock()
     drv = MotorDriver(0, bus, 0)
     self.assertEqual(drv.speed, 0)
     drv.set(0.5)
     self.assertEqual(drv.speed, 0.5)
     drv.set(-0.5)
     self.assertEqual(drv.speed, 0.5)
Ejemplo n.º 6
0
 def test_brake_state_property(self):
     bus = Mock()
     drv = MotorDriver(0, bus, 0)
     self.assertFalse(drv.brake_state)
     drv.set(0.5)
     self.assertFalse(drv.brake_state)
     drv.brake()
     self.assertTrue(drv.brake_state)
     drv.set(0)
     self.assertFalse(drv.brake_state)
Ejemplo n.º 7
0
 def test_set_zero(self):
     bus = Mock()
     drv = MotorDriver(0, bus, 0)
     drv.set(0)
     bus.write_byte_data.assert_called_with(0, 0, 0b00011000)
Ejemplo n.º 8
0
import time
from smbus2 import SMBus

from pi_wars import drive_from_vector
from yrk_oo.motors import Motors, MotorDriver

if __name__ == "__main__":
    with SMBus(13) as bus:
        m1 = MotorDriver(Motors.MOTOR1, bus, 0.1)
        m2 = MotorDriver(Motors.MOTOR4, bus, 0.1)
        m11 = MotorDriver(Motors.MOTOR2, bus, 0.1)
        m22 = MotorDriver(Motors.MOTOR3, bus, 0.1)

        print("Drive forward")
        m1_v, m2_v = drive_from_vector(0, 1)
        m1.set(m1_v)
        m11.set(m1_v)
        m22.set(m2_v)
        m2.set(m2_v)
        time.sleep(3)

        print("Turn")
        m1_v, m2_v = drive_from_vector(1, 0)
        m1.set(m1_v)
        m11.set(m1_v)
        m22.set(m2_v)
        m2.set(m2_v)
        time.sleep(1)

        print("Drive backward")
        m1_v, m2_v = drive_from_vector(0, -1)