更新雷达和语音识别库问题

This commit is contained in:
dahanzimin
2024-12-02 11:17:03 +08:00
parent 134f2c99ae
commit 4b030065b0
2 changed files with 12 additions and 6 deletions

View File

@@ -29,10 +29,9 @@ class CBR817:
def __init__(self, i2c_bus, addr=CBR_ADDRESS, tx_power=3, threshold=5000, noise=256, delay=500, lock=500):
self._device = i2c_bus
self._address = addr
_str_i2c = str(self._device)
_str_i2c = str(self._device) #唤醒需要SCL管脚给高脉冲
self._scl = Pin(int(_str_i2c[_str_i2c.find('=') + 1 : _str_i2c.find(",")]), Pin.OUT, Pin.OPEN_DRAIN)
self._wake()
self._configure()
self.tx_power(tx_power)
self.threshold(threshold)
@@ -54,6 +53,7 @@ class CBR817:
time.sleep_us(10)
def threshold(self, value=None):
self._wake()
if value is None:
return self._rreg(CBR_SENSOR_THR) | self._rreg(CBR_SENSOR_THR + 1) << 8
else:
@@ -61,6 +61,7 @@ class CBR817:
self._wreg(CBR_SENSOR_THR + 1, (value >> 8) & 0xFF)
def noise(self, value=None):
self._wake()
if value is None:
return self._rreg(CBR_NOISE_THR) | self._rreg(CBR_NOISE_THR + 1) << 8
else:
@@ -68,6 +69,7 @@ class CBR817:
self._wreg(CBR_NOISE_THR + 1, (value >> 8) & 0xFF)
def delay_ms(self, value=None):
self._wake()
if value is None:
return round((self._rreg(CBR_DELAY_TIM) | self._rreg(CBR_DELAY_TIM + 1) << 8 | self._rreg(CBR_DELAY_TIM + 2) << 16) / 32)
else:
@@ -77,6 +79,7 @@ class CBR817:
self._wreg(CBR_DELAY_TIM + 2, (value >> 16) & 0xFF)
def lock_ms(self, value=None):
self._wake()
if value is None:
return round((self._rreg(CBR_LOCK_TIM) | self._rreg(CBR_LOCK_TIM + 1) << 8 | self._rreg(CBR_LOCK_TIM + 2) << 16) // 32)
else:
@@ -86,12 +89,14 @@ class CBR817:
self._wreg(CBR_LOCK_TIM + 2, (value >> 16) & 0xFF)
def tx_power(self, value=None):
self._wake()
if value is None:
return self._rreg(CBR_TX_RF) & 0x07
else:
self._wreg(CBR_TX_RF, (value & 0x07) | 0x30)
def _configure(self):
self._wake()
self._wreg(CBR_SEL_REG, 0xC0) #唤醒射频芯片
_star = time.ticks_ms()
while self._rreg(CBR_SEL_REG) != 0xC0:

View File

@@ -1,7 +1,7 @@
"""
CI230X
CI130X
MicroPython library for the CI230X (ASR-I2C)
MicroPython library for the CI130X (ASR-I2C)
=======================================================
@dahanzimin From the Mixly Team
"""
@@ -16,7 +16,7 @@ _CI_ID_NUM = const(0x06)
_CI_ID_CLE = const(0x07)
_CI_ID_END = const(0x5A)
class CI230X:
class CI130X:
def __init__(self, i2c_bus, addr=_CI_ADDRESS):
self._device = i2c_bus
self._address = addr
@@ -24,7 +24,7 @@ class CI230X:
try:
self._rreg(_CI_ID_GET, 3)
except:
raise AttributeError("Cannot find a CI230X")
raise AttributeError("Cannot find a CI130X")
def _wreg(self, reg):
'''Write memory address'''
@@ -44,6 +44,7 @@ class CI230X:
_buf = self._rreg(_CI_ID_GET, 3)
if not repeat:
self._wreg(bytes([_CI_ID_CLE, 0, 0, _CI_ID_END]))
time.sleep_ms(50)
self._cmd_id = _buf[0] if _buf[2] == _CI_ID_END else None
return self._cmd_id