@@ -26,23 +26,19 @@ class Connection(wireless_msgs.msg.Connection):
2626 def __init__ (self , fields ):
2727 args = {}
2828
29- args ['bitrate' ] = trim (fields ['Bit Rate' ], float )
30-
31- try : args ['txpower' ] = trim (fields ['Tx-Power' ])
32- except : pass
33-
34- args ['link_quality_raw' ] = fields ['Link Quality' ]
35- num , den = re .split ('/' , args ['link_quality_raw' ])
36- args ['link_quality' ] = float (num ) / float (den )
37-
38- args ['signal_level' ] = trim (fields ['Signal level' ])
39-
40- try : args ['noise_level' ] = trim (fields ['Noise level' ])
29+ args ['bitrate' ] = trim (fields .get ('Bit Rate' , "0.0" ), float )
30+ args ['txpower' ] = trim (fields .get ('Tx-Power' , "0" ))
31+ args ['signal_level' ] = trim (fields .get ('Signal level' , "0" ))
32+ args ['noise_level' ] = trim (fields .get ('Noise level' , "0" ))
33+ args ['essid' ] = fields .get ('ESSID' , "" ).strip ('"' )
34+ args ['bssid' ] = fields .get ('Access Point' , "" ).strip ()
35+
36+ try :
37+ args ['link_quality_raw' ] = fields ['Link Quality' ]
38+ num , den = re .split ('/' , args ['link_quality_raw' ])
39+ args ['link_quality' ] = float (num ) / float (den )
4140 except : pass
4241
43- args ['essid' ] = fields ['ESSID' ].strip ('"' )
44- args ['bssid' ] = fields ['Access Point' ].strip ()
45-
4642 super (Connection , self ).__init__ (** args )
4743
4844class Network (wireless_msgs .msg .Network ):
@@ -72,8 +68,12 @@ while not rospy.is_shutdown():
7268 fields_list = [re .split ('[:=]' , field_str , maxsplit = 1 ) for field_str in fields_str ]
7369 fields_dict = { 'dev' : fields_str [0 ], 'type' : fields_str [1 ] }
7470 fields_dict .update (dict ([field for field in fields_list if len (field ) == 2 ]))
75- #print fields_dict
76- connection_msg = Connection (fields_dict )
71+
72+ # Check if WiFi is connected to a network
73+ connection_msg = {}
74+ if "Not-Associated" not in fields_dict ['Access Point' ]:
75+ connection_msg = Connection (fields_dict )
76+
7777 connection_pub .publish (connection_msg )
7878
7979 if not previous_success :
0 commit comments