@@ -496,7 +496,7 @@ def get_memory_mappings(self, memory):
496496
497497
498498def _wipe_memory (mem ):
499- mem .set_raw ("\x00 " * (mem .size () // 8 ))
499+ mem .set_raw (b "\x00 " * (mem .size () // 8 ))
500500
501501
502502@directory .register
@@ -629,7 +629,7 @@ def _checksums(self):
629629
630630 @staticmethod
631631 def _add_ff_pad (val , length ):
632- return val .ljust (length , "\xFF " )[:length ]
632+ return val .ljust (length , b "\xFF " )[:length ]
633633
634634 @classmethod
635635 def _strip_ff_pads (cls , messages ):
@@ -720,7 +720,7 @@ def set_memory(self, mem):
720720 _mem .power = 0
721721
722722 label = "" .join ([chr (CHARSET .index (x )) for x in mem .name .rstrip ()])
723- _mem .label = self ._add_ff_pad (label , 16 )
723+ _mem .label = self ._add_ff_pad (label . encode ( 'ascii' ) , 16 )
724724 # We only speak English here in chirpville
725725 _mem .charsetbits [0 ] = 0x00
726726 _mem .charsetbits [1 ] = 0x00
@@ -1338,7 +1338,7 @@ def _apply_callsign(cls, callsign, obj, default_ssid=None):
13381338 ssid = int (ssid ) % 16
13391339 except ValueError :
13401340 ssid = default_ssid
1341- setattr (obj , "callsign" , cls ._add_ff_pad (callsign , 6 ))
1341+ setattr (obj , "callsign" , cls ._add_ff_pad (callsign . encode ( 'ascii' ) , 6 ))
13421342 if ssid is not None :
13431343 setattr (obj , "ssid" , ssid )
13441344
@@ -1380,8 +1380,8 @@ def apply_digi_path(self, setting, obj):
13801380 def apply_ff_padded_string (cls , setting , obj ):
13811381 # FF pad.
13821382 val = setting .value .get_value ()
1383- max_len = getattr (obj , "padded_string" ).size () / 8
1384- val = str (val ).rstrip ()
1383+ max_len = getattr (obj , "padded_string" ).size () // 8
1384+ val = str (val ).rstrip (). encode ( 'ascii' )
13851385 setattr (obj , "padded_string" , cls ._add_ff_pad (val , max_len ))
13861386
13871387 @classmethod
@@ -1440,12 +1440,9 @@ def set_settings(self, settings):
14401440 def apply_ff_padded_yaesu (cls , setting , obj ):
14411441 # FF pad yaesus custom string format.
14421442 rawval = setting .value .get_value ()
1443- max_len = getattr (obj , "padded_yaesu" ).size () / 8
1444- rawval = str (rawval ).rstrip ()
1445- val = [CHARSET .index (x ) for x in rawval ]
1446- for x in range (len (val ), max_len ):
1447- val .append (0xFF )
1448- obj .padded_yaesu = val
1443+ max_len = getattr (obj , "padded_yaesu" ).size () // 8
1444+ rawval = str (rawval ).rstrip ().translate (CHARSET ).encode ('ascii' )
1445+ obj .padded_yaesu = list (rawval .ljust (max_len , b'\xFF ' )[0 :max_len ])
14491446
14501447 def apply_volume (cls , setting , vfo ):
14511448 val = setting .value .get_value ()
0 commit comments