mirror of
https://github.com/lumapu/ahoy.git
synced 2025-04-29 18:26:21 +02:00
added warning to detect unreachable NRF chip; added basic interrupt handler;added missing exception on timeout
# Conflicts: # tools/rpi/hoymiles/__init__.py
This commit is contained in:
parent
ba218edbdb
commit
bf7b122cea
1 changed files with 10 additions and 3 deletions
|
@ -345,6 +345,9 @@ class HoymilesNRF:
|
||||||
if not radio.begin():
|
if not radio.begin():
|
||||||
raise RuntimeError('Can\'t open radio')
|
raise RuntimeError('Can\'t open radio')
|
||||||
|
|
||||||
|
if not radio.isChipConnected():
|
||||||
|
logging.warning("could not connect to NRF24 radio")
|
||||||
|
|
||||||
self.txpower = radio_config.get('txpower', 'max')
|
self.txpower = radio_config.get('txpower', 'max')
|
||||||
|
|
||||||
self.radio = radio
|
self.radio = radio
|
||||||
|
@ -411,7 +414,7 @@ class HoymilesNRF:
|
||||||
self.radio.startListening()
|
self.radio.startListening()
|
||||||
|
|
||||||
fragments = []
|
fragments = []
|
||||||
|
received_sth=False
|
||||||
# Receive: Loop
|
# Receive: Loop
|
||||||
t_end = time.monotonic_ns()+timeout
|
t_end = time.monotonic_ns()+timeout
|
||||||
while time.monotonic_ns() < t_end:
|
while time.monotonic_ns() < t_end:
|
||||||
|
@ -431,7 +434,7 @@ class HoymilesNRF:
|
||||||
ch_rx=self.rx_channel, ch_tx=self.tx_channel,
|
ch_rx=self.rx_channel, ch_tx=self.tx_channel,
|
||||||
time_rx=datetime.now()
|
time_rx=datetime.now()
|
||||||
)
|
)
|
||||||
|
received_sth=True
|
||||||
yield fragment
|
yield fragment
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -447,7 +450,11 @@ class HoymilesNRF:
|
||||||
self.radio.setChannel(self.rx_channel)
|
self.radio.setChannel(self.rx_channel)
|
||||||
self.radio.startListening()
|
self.radio.startListening()
|
||||||
|
|
||||||
time.sleep(0.004)
|
time.sleep(0.005)
|
||||||
|
|
||||||
|
if not received_sth:
|
||||||
|
raise TimeoutError
|
||||||
|
|
||||||
|
|
||||||
def next_rx_channel(self):
|
def next_rx_channel(self):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Reference in a new issue