Update(boards): xpython板卡执行 build:prod
This commit is contained in:
@@ -454,6 +454,15 @@
|
||||
"__size__": 2892,
|
||||
"__name__": "mixpy.py"
|
||||
},
|
||||
"mk_pb4023": {
|
||||
"__require__": [
|
||||
"time",
|
||||
"micropython"
|
||||
],
|
||||
"__file__": true,
|
||||
"__size__": 2079,
|
||||
"__name__": "mk_pb4023.py"
|
||||
},
|
||||
"mmc5603": {
|
||||
"__require__": [
|
||||
"time",
|
||||
@@ -838,7 +847,7 @@
|
||||
"framebuf"
|
||||
],
|
||||
"__file__": true,
|
||||
"__size__": 20598,
|
||||
"__size__": 20605,
|
||||
"__name__": "uframebuf.py"
|
||||
},
|
||||
"umqtt": {
|
||||
|
||||
74
boards/default/micropython/build/lib/mk_pb4023.py
Normal file
74
boards/default/micropython/build/lib/mk_pb4023.py
Normal file
@@ -0,0 +1,74 @@
|
||||
"""
|
||||
MK-PB4023PS&ASL&VC-A01E
|
||||
|
||||
MicroPython library for the MK-PB4023PS&ASL&VC-A01E (PS,ASL,CS)
|
||||
=======================================================
|
||||
@dahanzimin From the Mixly Team
|
||||
"""
|
||||
import time
|
||||
from micropython import const
|
||||
|
||||
_MK_SYSM = const(0x80)
|
||||
_MK_ID = const(0x98)
|
||||
_MK_DATA = const(0xA0)
|
||||
|
||||
class MK_PB4023:
|
||||
def __init__(self, i2c_bus, addr=0x39):
|
||||
self._device = i2c_bus
|
||||
self._address = addr
|
||||
if self._rreg(_MK_ID) != 0xA0:
|
||||
raise AttributeError("Cannot find a MK-PB4023")
|
||||
self._configure()
|
||||
|
||||
def _wreg(self, reg, val):
|
||||
'''Write memory address'''
|
||||
self._device.writeto_mem(self._address,reg,val.to_bytes(1, 'little'))
|
||||
|
||||
def _rreg(self, reg, nbytes=1):
|
||||
'''Read memory address'''
|
||||
return self._device.readfrom_mem(self._address, reg, nbytes)[0] if nbytes<=1 else self._device.readfrom_mem(self._address, reg, nbytes)
|
||||
|
||||
def _configure(self):
|
||||
'''Configuration Register'''
|
||||
self._wreg(0X82, 0x80)
|
||||
self._wreg(0x83, 0x01)
|
||||
self._wreg(0x84, 0x07)
|
||||
self._wreg(0x85, 0x0B)
|
||||
self._wreg(0x86, 0x03)
|
||||
self._wreg(0x87, 0x1A)
|
||||
self._wreg(0x89, 0x38)
|
||||
self._wreg(_MK_SYSM,0x0F) #Enable Register
|
||||
|
||||
def getdata(self):
|
||||
'''Processing data acquisition'''
|
||||
_buf = self._rreg(_MK_DATA, 12)
|
||||
_r = _buf[0] | _buf[1] << 8
|
||||
_g = _buf[2] | _buf[3] << 8
|
||||
_b = _buf[4] | _buf[5] << 8
|
||||
_c = _buf[6] | _buf[7] << 8
|
||||
_ir = _buf[8] | _buf[9] << 8
|
||||
_ps = _buf[10] | _buf[11] << 8
|
||||
return _c, _ir, (_r, _g, _b), _ps
|
||||
|
||||
def color(self):
|
||||
w, _, (r, g, b), _ = self.getdata()
|
||||
if w == 0:
|
||||
return (0, 0, 0)
|
||||
else:
|
||||
red = int(pow((int((r / w) * 256) / 255), 2.5) * 255)
|
||||
green = int(pow((int((g / w) * 256) / 255), 2.5) * 255)
|
||||
blue = int(pow((int((b / w) * 256) / 255), 2.5) * 255)
|
||||
return (min(red, 255), min(green, 255), min(blue, 255))
|
||||
|
||||
def color_raw(self):
|
||||
return self.getdata()[2]
|
||||
|
||||
def ir(self):
|
||||
return self.getdata()[1]
|
||||
|
||||
def als(self):
|
||||
w, ir, (r, g, b), _ = self.getdata()
|
||||
return round((w + ir + r + g + b) / 17.8, 2)
|
||||
|
||||
def ps(self):
|
||||
return self.getdata()[3]
|
||||
@@ -401,7 +401,7 @@ class FrameBuffer_Uincode(FrameBuffer_Base):
|
||||
for line in lines:
|
||||
for char in line:
|
||||
buffer = self._font.chardata(char)
|
||||
if x > self.width - buffer[1][0]:
|
||||
if x > self.width - buffer[1][0] * size:
|
||||
x = 0
|
||||
y = buffer[1][1] * size + y + space_y
|
||||
if y > self.height:
|
||||
|
||||
Reference in New Issue
Block a user