-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstart_tx.py
49 lines (37 loc) · 1.61 KB
/
start_tx.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import time
import argparse
from WiPHY.tx import ASK_Tx
from pynput.keyboard import Listener
from WiPHY.utils import readYaml, Frame
parser = argparse.ArgumentParser(description="Script to initiate ASK TX to start transmitting frame using 315-433 MHz ASK modules connected to Arduino.")
parser.add_argument("-c", "--radio-config", type=str, required=True, help="Radio Configuration File.")
# Parse command line arguments.
args = parser.parse_args()
# Load radio configuration file.
radio_config_dict = readYaml(file_path=args.radio_config)
# Get tx settings.
comm_port = str(radio_config_dict['tx_settings']['comm_port'])
baud_rate = int(radio_config_dict['tx_settings']['arduino_comm_baud_rate'])
timeout = float(radio_config_dict['tx_settings']['arduino_comm_timeout'])
retries_count = int(radio_config_dict['tx_settings']['transmit_retries'])
crc_polynomial = int(radio_config_dict['common_settings']['crc_polynomial'])
barker_seq = int(radio_config_dict['common_settings']['barker_seq'])
# Create tx object
radio = ASK_Tx(comm_port=comm_port,
baud_rate=baud_rate,
timeout=timeout,
num_retransmit_retries=retries_count,
barker_seq=barker_seq,
crc_polynomial=crc_polynomial)
def on_press(counter):
# Start transmitting the frame.
payload = 1
seq_id = 0
print("Sending toggle packet...")
status, count = radio.send(payload=payload,
seq_id=seq_id)
assert status
print("Sending toggle packet done.")
if __name__ == "__main__":
with Listener(on_press=on_press) as listener:
listener.join()