code: def word_list_to_long(val_list, big_endian=True):
      
      # allocate list for long int
      long_list = [None] * int(len(val_list) / 2)
      # fill registers list with register items
      for i, item in enumerate(long_list):
          if big_endian:
              long_list[i] = (val_list[i * 2] << 16) + val_list[(i * 2) + 1]
          else:
              long_list[i] = (val_list[(i * 2) + 1] << 16) + val_list[i * 2]
      # return long list
      return long_list
docs: Word list (16 bits int) to long list (32 bits int)
  
          By default word_list_to_long() use big endian order. For use little endian, set
          big_endian param to False.
  
          :param val_list: list of 16 bits int value
          :type val_list: list
          :param big_endian: True for big endian/False for little (optional)
          :type big_endian: bool
          :returns: list of 32 bits int value
          :rtype: list