code: def _parse_tlm_segment(self, fptr):
          
          offset = fptr.tell() - 2
  
          read_buffer = fptr.read(2)
          length, = struct.unpack('>H', read_buffer)
  
          read_buffer = fptr.read(length - 2)
          ztlm, stlm = struct.unpack_from('>BB', read_buffer)
          ttlm_st = (stlm >> 4) & 0x3
          ptlm_sp = (stlm >> 6) & 0x1
  
          nbytes = length - 4
          if ttlm_st == 0:
              ntiles = nbytes / ((ptlm_sp + 1) * 2)
          else:
              ntiles = nbytes / (ttlm_st + (ptlm_sp + 1) * 2)
  
          if ttlm_st == 0:
              ttlm = None
              fmt = ''
          elif ttlm_st == 1:
              fmt = 'B'
          elif ttlm_st == 2:
              fmt = 'H'
  
          if ptlm_sp == 0:
              fmt += 'H'
          else:
              fmt += 'I'
  
          data = struct.unpack_from('>' + fmt * int(ntiles), read_buffer,
                                    offset=2)
          if ttlm_st == 0:
              ttlm = None
              ptlm = data
          else:
              ttlm = data[0::2]
              ptlm = data[1::2]
  
          return TLMsegment(ztlm, ttlm, ptlm, length, offset)
docs: Parse the TLM segment.
  
          Parameters
          ----------
          fptr : file
              Open file object.
  
          Returns
          -------
          TLMSegment
              The current TLM segment.