@@ -698,7 +698,7 @@ class FruAreaInternalUse(FruAreaBase):
698698 ''' FRU Internal use area featuring a version field but no checksum, will
699699 be padded to whatever internal area is specified'''
700700
701- internal_area_size = 72
701+ internal_area_size = None
702702
703703 def __init__ (self , initdict = None ):
704704 self ._format_version = _format_version_default
@@ -715,23 +715,23 @@ def _prologue(self) -> bytearray:
715715 return self ._format_version .to_bytes (1 , 'little' )
716716
717717 def _epilogue (self , payload : bytearray ) -> bytearray :
718- ''' return data to append, padded of zero bytes'''
719- numPadBytes , _ = _sizeAlign (len (payload ), self .internal_area_size )
718+ ''' return data to append, padded of 0xff bytes'''
719+ numPadBytes , _ = _sizeAlign (len (payload ), self .internal_area_size or 8 )
720720 return b'\xff ' * numPadBytes
721721
722- def size_payload (self ) -> int :
723- return self .internal_area_size
724-
725722 def size_total (self ) -> int :
726- return self .internal_area_size
723+ # payload plus "format version" prologue
724+ total_size_base = self .size_payload () + 1
725+ _ , total_size_base = _sizeAlign (total_size_base , self .internal_area_size or 8 )
726+ return total_size_base
727727
728728 def serialize (self ) -> bytearray :
729729 payload = self ._prologue ()
730- body = self ._serialize ()
731- payload += body [:self .internal_area_size - 1 ]
730+ payload += self ._serialize ()
732731 return payload + self ._epilogue (payload )
733-
732+
734733 def deserialize (self , input : bytearray ):
734+ logging .debug (f"bytearray: { input } len: { len (input )} " )
735735 self ._format_version = input [0 ]
736736 return self ._deserialize (input [1 :])
737737
0 commit comments