Example #1
0
    def __init__(self, addr=0x64):
        '''Init object mixer
        min_ff_temp: minimum forward flow temperature
        max_ff_temp: maximum forward flow temperature
        mix_close: closing time of mixer
        mix_open: opening time of mixer
        mix_pause: wait time to let new temperature settle
        ff_temp_target_val: forward flow target temperature
        ff_temp_is_val: forward flow is temperature
        hyst: temperature hystere
        addr: I2C address of motor driver, defaults to 0x64
        voltage: motor voltage
        '''
        threading.Thread.__init__(self)
        self.running = False
        self.min_ff_temp = 28
        self.max_ff_temp = 34
        self.mix_time_c = .1
        self.mix_time_m = .1
        self.mix_time_f = .05
        self.mix_pause_c = 5 
        self.mix_pause_f = 10
        self.ff_temp_target_val = 30
        self.ff_temp_is_val = 31
        self.hyst = .5

        self.addr = addr
        self.voltage = 3.3
        self.mot = DRV8830(self.addr)
        self.mix_t_stop = threading.Event()
def test_setup():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    del drv8830
Example #3
0
def test_setup(i2c_dev):
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    del drv8830
def test_clear_fault():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.clear_fault()
def test_voltage_out_of_range():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.set_voltage(0)
    assert drv8830.get_voltage() == 0
def test_set_voltage():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.set_voltage(5.06)
    assert drv8830.get_voltage() == 5.06
def test_set_outputs():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.set_outputs(out1=0, out2=0)
def test_brake():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.brake()
Example #9
0
def test_set_outputs(i2c_dev):
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    drv8830.set_outputs(out1=0, out2=0)
Example #10
0
def test_coast(i2c_dev):
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    drv8830.coast()
Example #11
0
def test_brake(i2c_dev):
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    drv8830.brake()
Example #12
0
def test_forward(i2c_dev):
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    drv8830.forward()
Example #13
0
def test_setup_alt_addr2(i2c_dev):
    from drv8830 import DRV8830, I2C_ADDR2
    drv8830 = DRV8830(i2c_dev=i2c_dev, i2c_addr=I2C_ADDR2)
    del drv8830
Example #14
0
def test_setup_alt_addr3(i2c_dev):
    from drv8830 import DRV8830, I2C_ADDR3
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    drv8830.select_i2c_address(I2C_ADDR3)
Example #15
0
def test_setup_alt_addr2():
    from drv8830 import DRV8830, I2C_ADDR2
    drv8830 = DRV8830(i2c_dev=MockSMBus(1), i2c_addr=I2C_ADDR2)
    del drv8830
Example #16
0
import time
from explorerhat import motor
from drv8830 import DRV8830, I2C_ADDR1, I2C_ADDR3

v = 4
speed = 70

left = DRV8830(I2C_ADDR1)
right = DRV8830(I2C_ADDR3)

left.set_voltage(0)
right.set_voltage(0)
#time.sleep(3)

#Set Voltages
left.set_voltage(v)
right.set_voltage(v)

# Move forward
left.forward()
right.forward()
motor.one.forwards(speed)
motor.two.forwards(speed)
time.sleep(0.5)

# Slide to the left
left.reverse()
right.forward()
motor.one.forwards(speed)
motor.two.backwards(speed)
time.sleep(2)
Example #17
0
def test_set_voltage(i2c_dev):
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    drv8830.set_voltage(5.06)
    assert drv8830.get_voltage() == 5.06
def test_coast():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.coast()
Example #19
0
def test_get_fault(i2c_dev):
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    assert drv8830.get_fault().current_limit == 0
def test_forward():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.forward()
Example #21
0
def test_clear_fault(i2c_dev):
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    drv8830.clear_fault()
def test_set_voltage_snap():
    # Should snap to the nearest available voltage and read back correctly
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.set_voltage(0.82)
    assert drv8830.get_voltage() == 0.80
Example #23
0
def test_reverse(i2c_dev):
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=i2c_dev)
    drv8830.reverse()
def test_get_fault():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    assert drv8830.get_fault().current_limit == 0
Example #25
0
def test_setup_alt_addr3():
    from drv8830 import DRV8830, I2C_ADDR3
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.select_i2c_address(I2C_ADDR3)
def test_reverse():
    from drv8830 import DRV8830
    drv8830 = DRV8830(i2c_dev=MockSMBus(1))
    drv8830.reverse()
 def __init__(self, **kwargs):
     serial_address_index = kwargs.get('serial_address_index', 1)
     self._address = [I2C_ADDR1, I2C_ADDR2, I2C_ADDR3,
                      I2C_ADDR4][serial_address_index - 1]
     self._motor = DRV8830(self._address)