mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
dxgrid for ping and socket
This commit is contained in:
parent
6f1d303171
commit
4ce6565fb0
|
@ -662,7 +662,7 @@ def received_ping(data_in):
|
||||||
ping_frame[:1] = bytes([211])
|
ping_frame[:1] = bytes([211])
|
||||||
ping_frame[1:2] = static.DXCALLSIGN_CRC8
|
ping_frame[1:2] = static.DXCALLSIGN_CRC8
|
||||||
ping_frame[2:3] = static.MYCALLSIGN_CRC8
|
ping_frame[2:3] = static.MYCALLSIGN_CRC8
|
||||||
ping_frame[3:9] = static.MYCALLSIGN
|
ping_frame[3:9] = static.MYGRID
|
||||||
|
|
||||||
# wait while sending....
|
# wait while sending....
|
||||||
modem.transmit_signalling(ping_frame)
|
modem.transmit_signalling(ping_frame)
|
||||||
|
@ -674,10 +674,12 @@ def received_ping(data_in):
|
||||||
def received_ping_ack(data_in):
|
def received_ping_ack(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.DXGRID = bytes(data_in[3:9]).rstrip(b'\x00')
|
||||||
helpers.add_to_heard_stations(static.DXCALLSIGN, 'PING-ACK')
|
|
||||||
|
|
||||||
logging.info("PING [" + str(static.DXCALLSIGN, 'utf-8') + "] >|< [" + str(static.MYCALLSIGN, 'utf-8') + "] [SNR:" + str(static.SNR) + "]")
|
|
||||||
|
helpers.add_to_heard_stations(static.DXCALLSIGN,static.DXGRID, 'PING-ACK')
|
||||||
|
|
||||||
|
logging.info("PING [" + str(static.MYCALLSIGN, 'utf-8') + "] >|< [" + str(static.DXCALLSIGN, 'utf-8') + "]["+ str(static.DXGRID, 'utf-8') +"] [SNR:" + str(static.SNR) + "]")
|
||||||
static.TNC_STATE = 'IDLE'
|
static.TNC_STATE = 'IDLE'
|
||||||
|
|
||||||
# ############################################################################################################
|
# ############################################################################################################
|
||||||
|
@ -711,24 +713,23 @@ async def transmit_cq():
|
||||||
|
|
||||||
|
|
||||||
def received_cq(data_in):
|
def received_cq(data_in):
|
||||||
static.DXCALLSIGN = b''
|
|
||||||
static.DXCALLSIGN_CRC8 = b''
|
|
||||||
|
|
||||||
# here we add the received station to the heard stations buffer
|
# here we add the received station to the heard stations buffer
|
||||||
dxcallsign = bytes(data_in[2:8]).rstrip(b'\x00')
|
dxcallsign = bytes(data_in[2:8]).rstrip(b'\x00')
|
||||||
dxgrid = bytes(data_in[8:14]).rstrip(b'\x00')
|
dxgrid = bytes(data_in[8:14]).rstrip(b'\x00')
|
||||||
|
|
||||||
logging.info("CQ RCVD [" + str(dxcallsign, 'utf-8') + "]["+ str(dxgrid, 'utf-8') +"] [SNR" + str(static.SNR) + "]")
|
logging.info("CQ RCVD [" + str(dxcallsign, 'utf-8') + "]["+ str(dxgrid, 'utf-8') +"] [SNR" + str(static.SNR) + "]")
|
||||||
helpers.add_to_heard_stations(dxcallsign, 'CQ CQ CQ')
|
helpers.add_to_heard_stations(dxcallsign,dxgrid, 'CQ CQ CQ')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async def transmit_beacon():
|
async def transmit_beacon():
|
||||||
logging.info("BEACON")
|
logging.info("BEACON")
|
||||||
frame_type = bytes([230])
|
beacon_frame[:1] = bytes([230])
|
||||||
print(frame_type)
|
beacon_frame[1:2] = b'\x01'
|
||||||
beacon_frame = frame_type + static.MYCALLSIGN
|
beacon_frame[2:8] = static.MYCALLSIGN
|
||||||
|
beacon_frame[8:14] = static.MYGRID
|
||||||
|
|
||||||
while static.TNC_STATE == 'BEACON':
|
while static.TNC_STATE == 'BEACON':
|
||||||
await asyncio.sleep(60)
|
await asyncio.sleep(60)
|
||||||
modem.transmit_signalling(beacon_frame)
|
modem.transmit_signalling(beacon_frame)
|
||||||
|
@ -737,10 +738,9 @@ async def transmit_beacon():
|
||||||
|
|
||||||
|
|
||||||
def received_beacon():
|
def received_beacon():
|
||||||
static.DXCALLSIGN = b''
|
|
||||||
static.DXCALLSIGN_CRC8 = b''
|
|
||||||
logging.info("BEACON RCVD [" + str(bytes(data_in[3:9]), 'utf-8') + "] [SNR" + str(static.SNR) + "]")
|
|
||||||
|
|
||||||
# here we add the received station to the heard stations buffer
|
# here we add the received station to the heard stations buffer
|
||||||
dxcallsign = bytes(data_in[3:9]).rstrip(b'\x00')
|
dxcallsign = bytes(data_in[2:8]).rstrip(b'\x00')
|
||||||
|
dxgrid = bytes(data_in[8:14]).rstrip(b'\x00')
|
||||||
|
|
||||||
|
logging.info("BEACON RCVD [" + str(dxcallsign, 'utf-8') + "]["+ str(dxgrid, 'utf-8') +"] [SNR" + str(static.SNR) + "]")
|
||||||
helpers.add_to_heard_stations(dxcallsign, 'BEACON')
|
helpers.add_to_heard_stations(dxcallsign, 'BEACON')
|
||||||
|
|
|
@ -149,20 +149,20 @@ def calculate_transfer_rate():
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def add_to_heard_stations(dxcallsign, datatype):
|
def add_to_heard_stations(dxcallsign,dxgrid, datatype):
|
||||||
# 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, int(time.time()), datatype])
|
static.HEARD_STATIONS.append([dxcallsign,dxgrid, int(time.time()), datatype])
|
||||||
# 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, int(time.time()), datatype]
|
static.HEARD_STATIONS[i] = [dxcallsign,dxgrid, int(time.time()), datatype]
|
||||||
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, int(time.time()), datatype])
|
static.HEARD_STATIONS.append([dxcallsign,dxgrid, int(time.time()), datatype])
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
|
|
5
sock.py
5
sock.py
|
@ -144,7 +144,8 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
|
||||||
if received_json["command"] == 'GET:STATION_INFO':
|
if received_json["command"] == 'GET:STATION_INFO':
|
||||||
output = {
|
output = {
|
||||||
"MY_CALLSIGN": str(static.MYCALLSIGN, encoding),
|
"MY_CALLSIGN": str(static.MYCALLSIGN, encoding),
|
||||||
"DX_CALLSIGN": str(static.DXCALLSIGN, encoding)
|
"DX_CALLSIGN": str(static.DXCALLSIGN, encoding),
|
||||||
|
"DX_GRID": str(static.DXGRID, encoding)
|
||||||
}
|
}
|
||||||
|
|
||||||
jsondata = json.dumps(output)
|
jsondata = json.dumps(output)
|
||||||
|
@ -183,7 +184,7 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
|
||||||
if received_json["command"] == 'GET:HEARD_STATIONS':
|
if received_json["command"] == 'GET:HEARD_STATIONS':
|
||||||
output = []
|
output = []
|
||||||
for i in range(0, len(static.HEARD_STATIONS)):
|
for i in range(0, len(static.HEARD_STATIONS)):
|
||||||
output.append({"CALLSIGN": str(static.HEARD_STATIONS[i][0], 'utf-8'), "TIMESTAMP": static.HEARD_STATIONS[i][1], "DATATYPE": static.HEARD_STATIONS[i][2]})
|
output.append({"CALLSIGN": 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]})
|
||||||
|
|
||||||
jsondata = json.dumps(output)
|
jsondata = json.dumps(output)
|
||||||
self.request.sendall(bytes(jsondata, encoding))
|
self.request.sendall(bytes(jsondata, encoding))
|
||||||
|
|
Loading…
Reference in a new issue