original_docstring:  MsgType=3F - Download information
          Multiple 3F can follow eachother, if we request more then &HFF bytes 
docstring: MsgType=3F - Download information
  Multiple 3F can follow eachother, if we request more then &HFF bytes
docstring_tokens: MsgType = 3F - Download information Multiple 3F can follow eachother if we request more then &HFF bytes
code: def handle_msgtype3F(self, data):
          """ MsgType=3F - Download information
          Multiple 3F can follow eachother, if we request more then &HFF bytes """
  
          log.info("[handle_msgtype3F]")
          # data format is normally: <index> <page> <length> <data ...>
          # If the <index> <page> = FF, then it is an additional PowerMaster MemoryMap
          iIndex = data[0]
          iPage = data[1]
          iLength = data[2]
  
          # Check length and data-length
          if iLength != len(data) - 3:  # 3 because -->   index & page & length
              log.info("[handle_msgtype3F] ERROR: Type=3F has an invalid length, Received: {0}, Expected: {1}".format(len(data)-3, iLength))
              log.info("[handle_msgtype3F]                            " + self.toString(self.ReceiveData))
              return
  
          # Write to memory map structure, but remove the first 4 bytes (3F/index/page/length) from the data
          self.pmWriteSettings(iPage, iIndex, data[3:])
code_tokens: def handle_msgtype3F ( self , data ) : log . info ( "[handle_msgtype3F]" ) iIndex = data [ 0 ] iPage = data [ 1 ] iLength = data [ 2 ] if iLength != len ( data ) - 3 : log . info ( "[handle_msgtype3F] ERROR: Type=3F has an invalid length, Received: {0}, Expected: {1}" . format ( len ( data ) - 3 , iLength ) ) log . info ( "[handle_msgtype3F]                            " + self . toString ( self . ReceiveData ) ) return self . pmWriteSettings ( iPage , iIndex , data [ 3 : ] )
short_docstring: MsgType=3F - Download information
  Multiple 3F can follow eachother, if we request more then &HFF bytes
short_docstring_tokens: MsgType = 3F - Download information Multiple 3F can follow eachother if we request more then &HFF bytes
comment: """ MsgType=3F - Download information
          Multiple 3F can follow eachother, if we request more then &HFF bytes """$SEP$# data format is normally: <index> <page> <length> <data ...>$SEP$# If the <index> <page> = FF, then it is an additional PowerMaster MemoryMap$SEP$# Check length and data-length$SEP$# 3 because -->   index & page & length$SEP$# Write to memory map structure, but remove the first 4 bytes (3F/index/page/length) from the data