RNode interface

This commit is contained in:
Mark Qvist 2018-04-26 13:20:43 +02:00
parent 540bde4cd4
commit c03bce5547
4 changed files with 11 additions and 3 deletions

View File

@ -20,7 +20,7 @@ import RNS.vendor.umsgpack as umsgpack
APP_NAME = "example_utilitites" APP_NAME = "example_utilitites"
# We'll also define a default timeout, in seconds # We'll also define a default timeout, in seconds
APP_TIMEOUT = 10.0 APP_TIMEOUT = 15.0
########################################################## ##########################################################
#### Server Part ######################################### #### Server Part #########################################

View File

@ -259,6 +259,7 @@ class RNodeInterface(Interface):
def process_queue(self): def process_queue(self):
if len(self.packet_queue) > 0: if len(self.packet_queue) > 0:
sleep(0.5)
data = self.packet_queue.pop(0) data = self.packet_queue.pop(0)
self.interface_ready = True self.interface_ready = True
self.processOutgoing(data) self.processOutgoing(data)
@ -282,6 +283,8 @@ class RNodeInterface(Interface):
if (in_frame and byte == KISS.FEND and command == KISS.CMD_DATA): if (in_frame and byte == KISS.FEND and command == KISS.CMD_DATA):
in_frame = False in_frame = False
self.processIncoming(data_buffer) self.processIncoming(data_buffer)
data_buffer = ""
command_buffer = ""
elif (byte == KISS.FEND): elif (byte == KISS.FEND):
in_frame = True in_frame = True
command = KISS.CMD_UNKNOWN command = KISS.CMD_UNKNOWN
@ -391,6 +394,7 @@ class RNodeInterface(Interface):
else: else:
time_since_last = int(time.time()*1000) - last_read_ms time_since_last = int(time.time()*1000) - last_read_ms
if len(data_buffer) > 0 and time_since_last > self.timeout: if len(data_buffer) > 0 and time_since_last > self.timeout:
RNS.log(str(self)+" serial read timeout", RNS.LOG_EXTREME)
data_buffer = "" data_buffer = ""
in_frame = False in_frame = False
command = KISS.CMD_UNKNOWN command = KISS.CMD_UNKNOWN

View File

@ -191,6 +191,8 @@ class Link:
RNS.log("Link "+str(self)+" established with "+str(self.destination)+", RTT is "+str(self.rtt), RNS.LOG_VERBOSE) RNS.log("Link "+str(self)+" established with "+str(self.destination)+", RTT is "+str(self.rtt), RNS.LOG_VERBOSE)
rtt_data = umsgpack.packb(self.rtt) rtt_data = umsgpack.packb(self.rtt)
rtt_packet = RNS.Packet(self, rtt_data, context=RNS.Packet.LRRTT) rtt_packet = RNS.Packet(self, rtt_data, context=RNS.Packet.LRRTT)
# TODO: remove
RNS.log("Sending RTT packet", RNS.LOG_EXTREME)
rtt_packet.send() rtt_packet.send()
self.status = Link.ACTIVE self.status = Link.ACTIVE
@ -290,7 +292,7 @@ class Link:
next_check = self.request_time + self.proof_timeout next_check = self.request_time + self.proof_timeout
sleep_time = next_check - time.time() sleep_time = next_check - time.time()
if time.time() >= self.request_time + self.proof_timeout: if time.time() >= self.request_time + self.proof_timeout:
#RNS.log("Timeout waiting for RTT packet from link initiator", RNS.LOG_DEBUG) RNS.log("Timeout waiting for RTT packet from link initiator", RNS.LOG_DEBUG)
self.status = Link.CLOSED self.status = Link.CLOSED
self.teardown_reason = Link.TIMEOUT self.teardown_reason = Link.TIMEOUT
self.link_closed() self.link_closed()

View File

@ -112,7 +112,9 @@ class Transport:
should_transmit = False should_transmit = False
if should_transmit: if should_transmit:
RNS.log("Transmitting "+str(len(packet.raw))+" bytes via: "+str(interface), RNS.LOG_DEBUG) # TODO: Remove
RNS.log("Transmitting "+str(len(packet.raw))+" bytes via: "+str(interface), RNS.LOG_EXTREME)
RNS.log("Hash is "+RNS.prettyhexrep(packet.packet_hash), RNS.LOG_EXTREME)
interface.processOutgoing(packet.raw) interface.processOutgoing(packet.raw)
sent = True sent = True