def data_handler(self, ctx, data): values = parse_value(data, n_elem=2) time_stamp = data.contents.epoch status = self.mobitrack.processStep( np.array([ time_stamp / 1000, values[0].x, values[0].y, values[0].z, values[1].x, values[1].y, values[1].z ])) # print(np.array([time_stamp / 1000, values[1].x, values[1].y, values[1].z])) if self.led_on_bool == True: self.steps_since_led_on = self.steps_since_led_on + 1 if self.steps_since_led_on >= self.steps_to_keep_led_on: # turn LED OFF libmetawear.mbl_mw_led_stop_and_clear(self.device.board) self.steps_since_led_on = 0 self.led_on_bool = False self.steps_to_keep_led_on = 30 if self.led and status["isRep"] != -1: # turn LED ON self.led_on_bool = True self.steps_since_led_on = 0 self.led_on(LedColor.BLUE, 0, False)
def closed_window(self): for device in self.gui.mw_devices: try: libmetawear.mbl_mw_led_stop_and_clear(device.board) device.disconnect() except: print "disconnection might have failed" self.root.destroy()
def led_on(self, color, duration, clear=True): if (self.led): pattern = LedPattern(repeat_count=Const.LED_REPEAT_INDEFINITELY) libmetawear.mbl_mw_led_load_preset_pattern(byref(pattern), LedPreset.SOLID) libmetawear.mbl_mw_led_write_pattern(self.device.board, byref(pattern), color) libmetawear.mbl_mw_led_play(self.device.board) time.sleep(duration) if clear: libmetawear.mbl_mw_led_stop_and_clear(self.device.board)
def start(self): # Start every piece of data collection for every address for s in self.states: libmetawear.mbl_mw_acc_start(s.device.board) libmetawear.mbl_mw_gyro_bmi160_start(s.device.board) libmetawear.mbl_mw_mag_bmm150_enable_b_field_sampling( s.device.board) libmetawear.mbl_mw_mag_bmm150_start(s.device.board) libmetawear.mbl_mw_led_stop_and_clear(s.device.board) return
def led_red(mac): global states for s in states: if s.device.address == mac: pattern = LedPattern(repeat_count=Const.LED_REPEAT_INDEFINITELY) libmetawear.mbl_mw_led_load_preset_pattern(byref(pattern), LedPreset.PULSE) libmetawear.mbl_mw_led_write_pattern(s.device.board, byref(pattern), LedColor.RED) libmetawear.mbl_mw_led_play(s.device.board) sleep(2.0) libmetawear.mbl_mw_led_stop_and_clear(s.device.board)
def main(): address = "D9:05:CD:93:E5:FC" #select_device() print("start connecting ", address) device = MetaWear(address) device.connect() print("Connected") pattern = LedPattern(repeat_count=Const.LED_REPEAT_INDEFINITELY) libmetawear.mbl_mw_led_load_preset_pattern(byref(pattern), LedPreset.SOLID) libmetawear.mbl_mw_led_write_pattern(device.board, byref(pattern), LedColor.GREEN) libmetawear.mbl_mw_led_play(device.board) sleep(5.0) libmetawear.mbl_mw_led_stop_and_clear(device.board) sleep(1.0) device.disconnect() sleep(1.0)
# usage: python led.py [mac] from __future__ import print_function from mbientlab.metawear import MetaWear, libmetawear from mbientlab.metawear.cbindings import * from time import sleep from threading import Event #import sys #sys.argv[1] #device = MetaWear("FB:81:71:31:92:7A") device = MetaWear("C2:9B:59:07:56:C9") device.connect() print("Connected") pattern = LedPattern(repeat_count=Const.LED_REPEAT_INDEFINITELY) libmetawear.mbl_mw_led_load_preset_pattern(byref(pattern), LedPreset.SOLID) libmetawear.mbl_mw_led_write_pattern(device.board, byref(pattern), LedColor.GREEN) libmetawear.mbl_mw_led_play(device.board) sleep(5.0) libmetawear.mbl_mw_led_stop_and_clear(device.board) sleep(1.0) device.disconnect() sleep(1.0)