tx/rx status

This commit is contained in:
DJ2LS 2021-03-10 09:12:01 +01:00 committed by GitHub
parent ffa9e209ef
commit 26e17b8a8e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 150 additions and 32 deletions

View file

@ -209,10 +209,11 @@
</child>
<child>
<object class="GtkButtonBox" id="ARQ DATA BOX">
<property name="width_request">378</property>
<property name="width_request">790</property>
<property name="height_request">80</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="homogeneous">True</property>
<property name="layout_style">start</property>
<child>
<object class="GtkLabel">
@ -232,14 +233,14 @@
</packing>
</child>
<child>
<object class="GtkSpinButton" id="arqbytes">
<object class="GtkButton" id="send_arq_data_100">
<property name="label" translatable="yes">Send 100 Bytes</property>
<property name="width_request">-1</property>
<property name="height_request">-1</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="text" translatable="yes">Bytes</property>
<property name="placeholder_text" translatable="yes">100</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
<property name="value">100</property>
<property name="receives_default">True</property>
<signal name="clicked" handler="send_arq_data_100" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
@ -248,12 +249,14 @@
</packing>
</child>
<child>
<object class="GtkButton" id="send_arq_data">
<property name="label" translatable="yes">Send</property>
<object class="GtkButton" id="send_arq_data_200">
<property name="label" translatable="yes">Send 200 Bytes</property>
<property name="width_request">-1</property>
<property name="height_request">-1</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="clicked" handler="send_arq_data" swapped="no"/>
<signal name="clicked" handler="send_arq_data_200" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
@ -262,10 +265,14 @@
</packing>
</child>
<child>
<object class="GtkProgressBar" id="progressbar">
<object class="GtkButton" id="send_arq_data_400">
<property name="label" translatable="yes">Send 400 Bytes</property>
<property name="width_request">-1</property>
<property name="height_request">-1</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_text">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="clicked" handler="send_arq_data_400" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
@ -274,6 +281,22 @@
<property name="non_homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkButton" id="send_arq_data_800">
<property name="label" translatable="yes">Send 800 Bytes</property>
<property name="width_request">-1</property>
<property name="height_request">-1</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="clicked" handler="send_arq_data_800" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="x">15</property>
@ -395,7 +418,7 @@
</object>
<packing>
<property name="x">15</property>
<property name="y">250</property>
<property name="y">300</property>
</packing>
</child>
<child>
@ -500,6 +523,63 @@
<property name="x">487</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="width_request">640</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkProgressBar" id="progressbar_tx">
<property name="width_request">615</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_text">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">TX</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkProgressBar" id="progressbar_rx">
<property name="width_request">615</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_text">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">RX</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="x">170</property>
<property name="y">250</property>
</packing>
</child>
</object>
</child>
</object>

View file

@ -61,7 +61,7 @@ def get_tnc_state_worker():
received = str(sock.recv(1024), "utf-8")
received_json = json.loads(received)
print(received_json)
#print(received_json)
builder.get_object('ptt_state').set_text(received_json["PTT_STATE"])
builder.get_object('channel_state').set_text(received_json["CHANNEL_STATE"])
@ -75,14 +75,15 @@ def get_tnc_state_worker():
sock.close()
except:
pass
GObject.timeout_add(200, get_tnc_state_worker)
#GObject.timeout_add(200, get_tnc_state_worker)
GLib.timeout_add(200, get_tnc_state_worker)
def get_data_state():
GLib.idle_add(get_data_state_worker)
def get_data_state_worker():
#while True:
ip, port = builder.get_object('host').get_text(), int(builder.get_object('port').get_text())
command = bytes('GET:DATA_STATE', 'utf-8')
try:
@ -92,24 +93,47 @@ def get_data_state_worker():
received = str(sock.recv(1024), "utf-8")
received_json = json.loads(received)
#print(received_json)
#print(received_json["ARQ_N_ARQ_FRAMES_PER_DATA_FRAME"])
#print(received_json["ARQ_TX_N_CURRENT_ARQ_FRAME"])
#builder.get_object('progressbar_tx').set_fraction(0.2)
#builder.get_object('progressbar_rx').set_fraction(0.2)
if received_json["ARQ_TX_N_CURRENT_ARQ_FRAME"] > 0:
percentage = received_json["ARQ_TX_N_CURRENT_ARQ_FRAME"] / received_json["ARQ_N_ARQ_FRAMES_PER_DATA_FRAME"]
print(percentage + 1)
builder.get_object('progressbar').set_fraction('0.2')
builder.get_object('progressbar').set_text('123')
builder.get_object('progressbar').set_show_text('456')
print(received_json["ARQ_TX_N_CURRENT_ARQ_FRAME"])
print(received_json["ARQ_TX_N_TOTAL_ARQ_FRAMES"])
print(received_json["ARQ_N_ARQ_FRAMES_PER_DATA_FRAME"])
print(received_json["ARQ_RX_N_CURRENT_ARQ_FRAME"])
print("-------")
if int(received_json["ARQ_TX_N_TOTAL_ARQ_FRAMES"]) > 0:
percentage_tx = int(received_json["ARQ_TX_N_CURRENT_ARQ_FRAME"]) / int(received_json["ARQ_TX_N_TOTAL_ARQ_FRAMES"])
print(percentage_tx)
else:
#print("0")
percentage_tx = 0.0
print(percentage_tx)
builder.get_object('progressbar_tx').set_fraction(percentage_tx)
if int(received_json["ARQ_N_ARQ_FRAMES_PER_DATA_FRAME"]) > 0:
percentage_rx = int(received_json["ARQ_RX_N_CURRENT_ARQ_FRAME"]) / int(received_json["ARQ_N_ARQ_FRAMES_PER_DATA_FRAME"])
#print(percentage_rx)
else:
#print("0")
percentage_rx = 0.0
#print(percentage_rx)
builder.get_object('progressbar_rx').set_fraction(percentage_rx)
#builder.get_object('progressbar').set_text('123')
#builder.get_object('progressbar').set_show_text('456')
sock.close()
except:
pass
GObject.timeout_add(200, get_data_state_worker)
# GObject.timeout_add(200, get_data_state_worker)
GLib.timeout_add(200, get_data_state_worker)
class Handler:
def onDestroy(self, *args):
Gtk.main_quit()
@ -129,12 +153,26 @@ class Handler:
def disconnect(self, button):
send_command('ARQ:DISCONNECT')
def send_arq_data(self, button):
datalength = int(builder.get_object('arqbytes').get_text())
data = create_string(datalength)
def send_arq_data_100(self, button):
data = create_string(100)
data = bytes("ARQ:DATA:" + data, 'utf-8')
send_command(data)
def send_arq_data_200(self, button):
data = create_string(200)
data = bytes("ARQ:DATA:" + data, 'utf-8')
send_command(data)
def send_arq_data_400(self, button):
data = create_string(400)
data = bytes("ARQ:DATA:" + data, 'utf-8')
send_command(data)
def send_arq_data_800(self, button):
data = create_string(800)
data = bytes("ARQ:DATA:" + data, 'utf-8')
send_command(data)
def send_cq(self, button):
send_command('CQCQCQ')