99#
1010
1111from gnuradio import gr , blocks
12- from ... import submit , funcube_submit , pwsat2_submitter , bme_submitter
12+ from ... import submit , funcube_submit , pwsat2_submitter , bme_submitter , pdu_to_kiss
1313
1414class telemetry_submit (gr .hier_block2 ):
1515 """
@@ -22,10 +22,11 @@ class telemetry_submit(gr.hier_block2):
2222 Args:
2323 server: 'SatNOGS', 'FUNcube', 'PWSat' or 'BME' (string)
2424 norad: NORAD ID (int)
25+ port: TCP port to connect to (used by HIT) (str)
2526 config: configuration file from configparser
2627 options: options from argparse
2728 """
28- def __init__ (self , server , norad = None , config = None , options = None ):
29+ def __init__ (self , server , norad = None , port = None , config = None , options = None ):
2930 gr .hier_block2 .__init__ (self , "telemetry_submit" ,
3031 gr .io_signature (0 , 0 , 0 ),
3132 gr .io_signature (0 , 0 , 0 ))
@@ -46,6 +47,15 @@ def __init__(self, server, norad = None, config = None, options = None):
4647 satellites = {44830 : 'atl1' , 44832 : 'smogp' }
4748 satellite = satellites [norad ]
4849 self .submit = bme_submitter (config ['BME' ]['user' ], config ['BME' ]['password' ], satellite )
50+ elif server == 'HIT' :
51+ try :
52+ self .tcp = blocks .socket_pdu ('TCP_CLIENT' , '127.0.0.1' , port , 10000 , False )
53+ except RuntimeError as e :
54+ print ('Could not connect to telemetry proxy:' , e )
55+ print ('Disabling telemetry submission...' )
56+ return
57+ self .submit = pdu_to_kiss (control_byte = False )
58+ self .msg_connect ((self .submit , 'out' ), (self .tcp , 'pdus' ))
4959 else :
5060 raise ValueError ('Unsupported telemetry server' )
5161
0 commit comments