Files
mixly3/boards/default/micropython/build/lib/ble_handle.py
2024-07-19 10:16:00 +08:00

37 lines
998 B
Python

"""
Bluetooth remote control handle
Micropython library for the Bluetooth remote control handle
=======================================================
#Preliminary composition 202200704
dahanzimin From the Mixly Team
"""
from ble_peripheral import BLESimplePeripheral
class Handle(BLESimplePeripheral):
def __init__(self):
super().__init__(name="TUDAO_MASTER")
self._buffer=bytearray(14)
def _receive_cb(self, data):
if self._on_receive:
if data !=self._buffer:
self._buffer=data
key=self._deal(self._buffer)
self._on_receive(key[0],key[1],key[2],key[3])
def recv(self,callback):
self._on_receive = callback
if callback:
super().recv(self._receive_cb)
def _u2s(self,n):
return n if n < (1 << 7) else n - (1 << 8)
def _deal(self,data):
if data[0]== 0xff and data[1]== 0xfe and data[12]== 0xfd and data[13]== 0xfc:
return self._u2s(data[5]),self._u2s(data[6]),self._u2s(data[7]),self._u2s(data[8])
else:
return None,None,None,None