mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
added SNR to heard stations
This commit is contained in:
parent
75b8c22749
commit
29345a7797
4 changed files with 32 additions and 18 deletions
|
@ -660,7 +660,7 @@ def received_ping(data_in):
|
||||||
|
|
||||||
static.DXCALLSIGN_CRC8 = bytes(data_in[2:3]).rstrip(b'\x00')
|
static.DXCALLSIGN_CRC8 = bytes(data_in[2:3]).rstrip(b'\x00')
|
||||||
static.DXCALLSIGN = bytes(data_in[3:9]).rstrip(b'\x00')
|
static.DXCALLSIGN = bytes(data_in[3:9]).rstrip(b'\x00')
|
||||||
helpers.add_to_heard_stations(static.DXCALLSIGN,static.DXGRID, 'PING')
|
helpers.add_to_heard_stations(static.DXCALLSIGN,static.DXGRID, 'PING', static.SNR)
|
||||||
logging.info("PING [" + str(static.MYCALLSIGN, 'utf-8') + "] <<< [" + str(static.DXCALLSIGN, 'utf-8') + "] [SNR:" + str(static.SNR) + "]")
|
logging.info("PING [" + str(static.MYCALLSIGN, 'utf-8') + "] <<< [" + str(static.DXCALLSIGN, 'utf-8') + "] [SNR:" + str(static.SNR) + "]")
|
||||||
|
|
||||||
ping_frame = bytearray(14)
|
ping_frame = bytearray(14)
|
||||||
|
|
|
@ -149,20 +149,20 @@ def calculate_transfer_rate():
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def add_to_heard_stations(dxcallsign,dxgrid, datatype):
|
def add_to_heard_stations(dxcallsign,dxgrid, datatype, snr):
|
||||||
# check if buffer empty
|
# check if buffer empty
|
||||||
if len(static.HEARD_STATIONS) == 0:
|
if len(static.HEARD_STATIONS) == 0:
|
||||||
static.HEARD_STATIONS.append([dxcallsign,dxgrid, int(time.time()), datatype])
|
static.HEARD_STATIONS.append([dxcallsign,dxgrid, int(time.time()), datatype, snr])
|
||||||
# if not, we search and update
|
# if not, we search and update
|
||||||
else:
|
else:
|
||||||
for i in range(0, len(static.HEARD_STATIONS)):
|
for i in range(0, len(static.HEARD_STATIONS)):
|
||||||
# update callsign with new timestamp
|
# update callsign with new timestamp
|
||||||
if static.HEARD_STATIONS[i].count(dxcallsign) > 0:
|
if static.HEARD_STATIONS[i].count(dxcallsign) > 0:
|
||||||
static.HEARD_STATIONS[i] = [dxcallsign,dxgrid, int(time.time()), datatype]
|
static.HEARD_STATIONS[i] = [dxcallsign,dxgrid, int(time.time()), datatype, snr]
|
||||||
break
|
break
|
||||||
# insert if nothing found
|
# insert if nothing found
|
||||||
if i == len(static.HEARD_STATIONS) - 1:
|
if i == len(static.HEARD_STATIONS) - 1:
|
||||||
static.HEARD_STATIONS.append([dxcallsign,dxgrid, int(time.time()), datatype])
|
static.HEARD_STATIONS.append([dxcallsign,dxgrid, int(time.time()), datatype, snr])
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -137,7 +137,6 @@ class RF():
|
||||||
if state:
|
if state:
|
||||||
static.PTT_STATE = True
|
static.PTT_STATE = True
|
||||||
self.my_rig.set_ptt(self.hamlib_ptt_type, 1)
|
self.my_rig.set_ptt(self.hamlib_ptt_type, 1)
|
||||||
|
|
||||||
ptt_togle_timeout = time.time() + 0.1
|
ptt_togle_timeout = time.time() + 0.1
|
||||||
while time.time() < ptt_togle_timeout:
|
while time.time() < ptt_togle_timeout:
|
||||||
pass
|
pass
|
||||||
|
@ -228,6 +227,11 @@ class RF():
|
||||||
static.CHANNEL_STATE = 'SENDING_SIGNALLING'
|
static.CHANNEL_STATE = 'SENDING_SIGNALLING'
|
||||||
|
|
||||||
self.ptt_and_wait(False)
|
self.ptt_and_wait(False)
|
||||||
|
## we have a problem with the receiving state
|
||||||
|
##static.CHANNEL_STATE = state_before_transmit
|
||||||
|
if state_before_transmit != 'RECEIVING_DATA':
|
||||||
|
static.CHANNEL_STATE = 'RECEIVING_SIGNALLING'
|
||||||
|
else:
|
||||||
static.CHANNEL_STATE = state_before_transmit
|
static.CHANNEL_STATE = state_before_transmit
|
||||||
|
|
||||||
self.c_lib.freedv_close(freedv)
|
self.c_lib.freedv_close(freedv)
|
||||||
|
|
26
tnc/sock.py
26
tnc/sock.py
|
@ -138,7 +138,7 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
|
||||||
asyncio.run(data_handler.arq_open_data_channel())
|
asyncio.run(data_handler.arq_open_data_channel())
|
||||||
|
|
||||||
|
|
||||||
if received_json["type"] == 'ARQ' and received_json["command"] == "DATA":# and static.ARQ_READY_FOR_DATA == True: # and static.ARQ_STATE == 'CONNECTED' :
|
if received_json["type"] == 'ARQ' and received_json["command"] == "sendFile":# and static.ARQ_READY_FOR_DATA == True: # and static.ARQ_STATE == 'CONNECTED' :
|
||||||
static.TNC_STATE = 'BUSY'
|
static.TNC_STATE = 'BUSY'
|
||||||
|
|
||||||
#on a new transmission we reset the timer
|
#on a new transmission we reset the timer
|
||||||
|
@ -146,15 +146,25 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
|
||||||
|
|
||||||
|
|
||||||
dxcallsign = received_json["dxcallsign"]
|
dxcallsign = received_json["dxcallsign"]
|
||||||
|
mode = int(received_json["mode"])
|
||||||
|
n_frames = int(received_json["n_frames"])
|
||||||
|
filename = received_json["filename"]
|
||||||
|
filetype = received_json["filetype"]
|
||||||
|
data = received_json["data"]
|
||||||
|
checksum = received_json["checksum"]
|
||||||
|
|
||||||
|
print(mode)
|
||||||
|
print(n_frames)
|
||||||
|
|
||||||
|
|
||||||
static.DXCALLSIGN = bytes(dxcallsign, 'utf-8')
|
static.DXCALLSIGN = bytes(dxcallsign, 'utf-8')
|
||||||
static.DXCALLSIGN_CRC8 = helpers.get_crc_8(static.DXCALLSIGN)
|
static.DXCALLSIGN_CRC8 = helpers.get_crc_8(static.DXCALLSIGN)
|
||||||
|
|
||||||
|
dataframe = '{"filename": "'+ filename + '", "filetype" : "' + filetype + '", "data" : "' + data + '", "checksum" : "' + checksum + '"}'
|
||||||
|
#data_out = bytes(received_json["data"], 'utf-8')
|
||||||
|
data_out = bytes(dataframe, 'utf-8')
|
||||||
|
|
||||||
data_out = bytes(received_json["data"], 'utf-8')
|
|
||||||
|
|
||||||
mode = int(received_json["mode"])
|
|
||||||
|
|
||||||
n_frames = int(received_json["n_frames"])
|
|
||||||
|
|
||||||
#ARQ_DATA_THREAD = threading.Thread(target=data_handler.arq_transmit, args=[data_out], name="ARQ_DATA")
|
#ARQ_DATA_THREAD = threading.Thread(target=data_handler.arq_transmit, args=[data_out], name="ARQ_DATA")
|
||||||
#ARQ_DATA_THREAD.start()
|
#ARQ_DATA_THREAD.start()
|
||||||
|
@ -251,12 +261,12 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
|
||||||
|
|
||||||
|
|
||||||
if received_json["type"] == 'GET' and received_json["command"] == 'HEARD_STATIONS':
|
if received_json["type"] == 'GET' and received_json["command"] == 'HEARD_STATIONS':
|
||||||
print("HEARD STATIONS COMMAND!")
|
# print("HEARD STATIONS COMMAND!")
|
||||||
|
|
||||||
data = {"COMMAND": "HEARD_STATIONS", "STATIONS" : []}
|
data = {"COMMAND": "HEARD_STATIONS", "STATIONS" : []}
|
||||||
for i in range(0, len(static.HEARD_STATIONS)):
|
for i in range(0, len(static.HEARD_STATIONS)):
|
||||||
data["STATIONS"].append({"DXCALLSIGN": str(static.HEARD_STATIONS[i][0], 'utf-8'),"DXGRID": str(static.HEARD_STATIONS[i][1], 'utf-8'), "TIMESTAMP": static.HEARD_STATIONS[i][2], "DATATYPE": static.HEARD_STATIONS[i][3]})
|
data["STATIONS"].append({"DXCALLSIGN": str(static.HEARD_STATIONS[i][0], 'utf-8'),"DXGRID": str(static.HEARD_STATIONS[i][1], 'utf-8'), "TIMESTAMP": static.HEARD_STATIONS[i][2], "DATATYPE": static.HEARD_STATIONS[i][3], "SNR": static.HEARD_STATIONS[i][4]})
|
||||||
|
# print(static.HEARD_STATIONS[i][1])
|
||||||
jsondata = json.dumps(data)
|
jsondata = json.dumps(data)
|
||||||
self.request.sendall(bytes(jsondata, encoding))
|
self.request.sendall(bytes(jsondata, encoding))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue