Esempio n. 1
0
    def __init__(self, bus):
        m1 = MotorDriver(Motors.MOTOR1, bus, 0.1)
        m11 = MotorDriver(Motors.MOTOR2, bus, 0.1)
        m2 = MotorDriver(Motors.MOTOR3, bus, 0.1)
        m22 = MotorDriver(Motors.MOTOR4, bus, 0.1)

        self.left = m1, m11
        self.right = m2, m22
Esempio n. 2
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)
Esempio n. 3
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)
Esempio n. 4
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)
Esempio n. 5
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)
Esempio n. 6
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)
Esempio n. 7
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)
Esempio n. 8
0
 def test_creation(self):
     MotorDriver(0, Mock(), 0)
Esempio n. 9
0
 def test_brake(self):
     bus = Mock()
     drv = MotorDriver(0, bus, 0)
     drv.brake()
     bus.write_byte_data.assert_called_with(0, 0, 0b00000011)
Esempio n. 10
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)
Esempio n. 11
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)