diff --git a/BB8_driver.py b/BB8_driver.py index 9f27671..8ebb0d0 100644 --- a/BB8_driver.py +++ b/BB8_driver.py @@ -132,6 +132,7 @@ class BTInterface(btle.DefaultDelegate): def __init__(self, deviceAddress): + self.deviceAddress = deviceAddress btle.DefaultDelegate.__init__(self) # Address type must be "random" or it won't connect. @@ -188,7 +189,7 @@ def send(self, data): def handleNotification(self, cHandle, data): # print 'Notification:', cHandle, data.encode('hex') # print 'BB8 Response:', cHandle, - Sphero().recv(data) + Sphero(self.deviceAddress).recv(data) # print data return data @@ -236,12 +237,12 @@ def disconnect(self): class Sphero(threading.Thread): - def __init__(self, target_name='Sphero'): + def __init__(self, deviceAddress, target_name='Sphero'): threading.Thread.__init__(self) self.target_name = target_name self.bt = None # Use "sudo hcitool lescan" to find BB8's MAC address input it at deviceAddress = - self.deviceAddress = 'DF:79:DD:9C:B6:1D' + self.deviceAddress = deviceAddress self.shutdown = False self.is_connected = False self.mask_list = None diff --git a/BB8joyDrive.py b/BB8joyDrive.py index efb26dd..41a13ab 100644 --- a/BB8joyDrive.py +++ b/BB8joyDrive.py @@ -1,12 +1,12 @@ import pygame from pygame.locals import * -from sys import exit +from sys import exit, argv from bluepy import btle import math import struct import BB8_driver -bb8 = BB8_driver.Sphero() +bb8 = BB8_driver.Sphero(argv[1]) bb8.connect() diff --git a/BB8test.py b/BB8test.py index 5ec9f85..3815bf8 100644 --- a/BB8test.py +++ b/BB8test.py @@ -4,16 +4,19 @@ import time import BB8_driver import sys -bb8 = BB8_driver.Sphero() +bb8 = BB8_driver.Sphero(sys.argv[1]) bb8.connect() bb8.start() time.sleep(2) +print('red') bb8.set_rgb_led(255,0,0,0,False) time.sleep(1) +print('green') bb8.set_rgb_led(0,255,0,0,False) time.sleep(1) +print('blue') bb8.set_rgb_led(0,0,255,0,False) time.sleep(3) bb8.join()