From 4b030065b0ea80f7a7d557750a3f52c572c29637 Mon Sep 17 00:00:00 2001 From: dahanzimin <353767514@qq.com> Date: Mon, 2 Dec 2024 11:17:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=9B=B7=E8=BE=BE=E5=92=8C?= =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E8=AF=86=E5=88=AB=E5=BA=93=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../default_src/micropython/origin/build/lib/cbr817.py | 9 +++++++-- .../origin/build/lib/{ci230x.py => ci130x.py} | 9 +++++---- 2 files changed, 12 insertions(+), 6 deletions(-) rename boards/default_src/micropython/origin/build/lib/{ci230x.py => ci130x.py} (94%) diff --git a/boards/default_src/micropython/origin/build/lib/cbr817.py b/boards/default_src/micropython/origin/build/lib/cbr817.py index f711bcfd..553e06d2 100644 --- a/boards/default_src/micropython/origin/build/lib/cbr817.py +++ b/boards/default_src/micropython/origin/build/lib/cbr817.py @@ -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: diff --git a/boards/default_src/micropython/origin/build/lib/ci230x.py b/boards/default_src/micropython/origin/build/lib/ci130x.py similarity index 94% rename from boards/default_src/micropython/origin/build/lib/ci230x.py rename to boards/default_src/micropython/origin/build/lib/ci130x.py index 7b991830..7a920f26 100644 --- a/boards/default_src/micropython/origin/build/lib/ci230x.py +++ b/boards/default_src/micropython/origin/build/lib/ci130x.py @@ -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