diff --git a/RPi/pyRF24Network/examples/dev_test.py b/RPi/pyRF24Network/examples/dev_test.py deleted file mode 100644 index b15ebdf5..00000000 --- a/RPi/pyRF24Network/examples/dev_test.py +++ /dev/null @@ -1,56 +0,0 @@ -import time, struct -import RF24 as pyRF24 -import RF24Network as pyRF24Network - -this_node = [ - int( - input("What is this node's logical address? ") or 0, - 8 - ) -] - -other_node = [ - int( - input("What is the target node's logical address? ") or 1, - 8 - ) -] - -radio = pyRF24.RF24(22, 0) -if not radio.begin(): - raise RuntimeError("radio hardware not responding") - -radio.channel = 90 - -network = pyRF24Network.RF24Network(radio) -network.begin(this_node[0]) - -header = pyRF24Network.RF24NetworkHeader(other_node[0], 0) - -def master(count=1, interval=1): - for _ in range(count): - msg = bytes(range(count)) # using dynamic payload sizes - count -= 1 - print("message", msg, end=" ") - header = pyRF24Network.RF24NetworkHeader(other_node[0], 0) - if network.write(header, msg): - print("sent successfully") - else: - print("failed to transmit") - -def slave(timeout=10): - end_timer = time.monotonic() + timeout - while time.monotonic() <= end_timer: - # let SERIAL_DEBUG output do the printing to stdout - network.update() - # let dev do post-reception work in REPL (using `header`) - -def print_details(): - radio.printPrettyDetails() - print("node address\t\t=", oct(this_node[0])) - -print(""" - testing script for RF24Network python wrapper\n - run `master(<msg_count>)` to transmit - run `slave(<timeout_seconds>)` to receive""" -) diff --git a/RPi/pyRF24Network/examples/helloworld_rx.py b/RPi/pyRF24Network/examples/helloworld_rx.py index e3ab66a3..4bd5776a 100755 --- a/RPi/pyRF24Network/examples/helloworld_rx.py +++ b/RPi/pyRF24Network/examples/helloworld_rx.py @@ -1,7 +1,6 @@ """Simplest possible example of using RF24Network in RX role. Listens for messages from the transmitter and prints them out. """ -import time import struct from RF24 import RF24 from RF24Network import RF24Network @@ -45,20 +44,17 @@ radio.printPrettyDetails() radio.startListening() # put radio in RX mode -start = time.monotonic() -while time.monotonic() - start <= 6: # listen for 6 seconds - network.update() - while network.available(): - header, payload = network.read(8) - print("payload length ", len(payload)) - millis, number = struct.unpack('<LL', bytes(payload)) - print( - "Received payload {} from {} to {} at (origin's timestamp) {}".format( - number, - oct(header.from_node), - oct(header.to_node), - millis, +try: + while True: + network.update() + while network.available(): + header, payload = network.read(8) + print("payload length ", len(payload)) + millis, number = struct.unpack("<LL", bytes(payload)) + print( + f"Received payload {number} from {oct(header.from_node)}", + f"to {oct(header.to_node)} at (origin's timestamp) {millis}", ) - ) - start = time.monotonic() - time.sleep(0.05) +except KeyboardInterrupt: + print("powering down radio and exiting.") + radio.powerDown() diff --git a/RPi/pyRF24Network/examples/helloworld_tx.py b/RPi/pyRF24Network/examples/helloworld_tx.py index 7b037681..591fe93f 100755 --- a/RPi/pyRF24Network/examples/helloworld_tx.py +++ b/RPi/pyRF24Network/examples/helloworld_tx.py @@ -49,13 +49,17 @@ packets_sent = 0 last_sent = 0 -while 1: - network.update() - now = time.monotonic_ns() / 1000 - # If it's time to send a message, send it! - if now - last_sent >= interval: - last_sent = now - payload = struct.pack('<LL', now, packets_sent) - packets_sent += 1 - ok = network.write(RF24NetworkHeader(other_node), payload) - print("Sending %d..." % packets_sent, "ok." if ok else "failed.") +try: + while True: + network.update() + now = int(time.monotonic_ns() / 1000000) + # If it's time to send a message, send it! + if now - last_sent >= interval: + last_sent = now + packets_sent += 1 + payload = struct.pack("<LL", now, packets_sent) + ok = network.write(RF24NetworkHeader(other_node), payload) + print(f"Sending {packets_sent}...", "ok." if ok else "failed.") +except KeyboardInterrupt: + print("powering down radio and exiting.") + radio.powerDown()