def check_ble(): if not badge.ble: return flags = badge.ble.read(badge.ble.REG_FLAGS) if flags & badge.ble.FLAG_EMOTE: ## Remote emote extravaganza! value = badge.ble.read16(badge.ble.REG_EMOTE) color = badge.ble.color() if (value): try: emote.render(chr(value & 0xff) + chr(value >> 8), color) except Exception: emote.random(color) else: emote.random(color) pyb.delay(2500) if flags & badge.ble.FLAG_AWOO: ## Someone started a howl msg = animations.scroll(" AWOOOOOOOOOOOOOOOO") delay = 0 while delay < 5000: msg.draw() pyb.delay(msg.interval) delay += msg.interval
def blerx(args): for x in args: ## Locate an optional value given by an '=' nv = x.split('=', 1) name = nv[0] value = nv[1] if len(nv) > 1 else None ## Handle the received stuff. if name == 'emote': ## Select a random emote. if (not value) or (value == 'random'): emote.random() pyb.delay(2500) ## Parse a specific emote to draw. else: emstr = ubinascii.unhexlify(value).decode("ascii") emote.render(emstr) pyb.delay(2500) if name == 'awoo': ## Someone started a howl msg = animations.scroll(" AWOOOOOOOOOOOOOO") delay = 0 while delay < 5000: msg.draw() pyb.delay(msg.interval) delay += msg.interval
def check_ble(): if not badge.ble: return flags = badge.ble.read(badge.ble.REG_FLAGS) if flags & badge.ble.FLAG_EMOTE: emote.random() pyb.delay(2500)
def handle_events(self): ## Change animation on button press, or emote if both pressed. left = badge.left.event() right = badge.right.event() if right and left: emote.random() self.ival += 50 elif right: self.set_animation(self.selected + 1) elif left: self.set_animation(self.selected - 1) # Service events. if badge.ble.any(): ble() if badge.boop.event(): if hasattr(self.anim, "boop") and callable(getattr(self.anim, "boop")): self.anim.boop() else: emote.boop() self.ival = 1000
flags = badge.ble.read(badge.ble.REG_FLAGS) if flags & badge.ble.FLAG_EMOTE: emote.random() pyb.delay(2500) anim = available[selected]() while True: anim.draw() ival = anim.interval while ival > 0: ## Change animation on button press, or emote if both pressed. if badge.right.event(): if badge.left.value(): emote.random() else: selected = (selected + 1) % len(available) anim = available[selected]() print("Playing animation " + available[selected].__name__) elif badge.left.event(): if badge.right.value(): emote.random() elif selected == 0: selected = len(available) - 1 anim = available[selected]() print("Playing animation " + available[selected].__name__) else: selected = selected - 1 anim = available[selected]() print("Playing animation " + available[selected].__name__)