docs: def read_csu_2(barmodel, hdr):
      """Read CSU information and slits from header"""
      conf = CSUConf(barmodel)
  
      conf.conf_f = hdr.get('CSUCONFF', 'UNKNOWN')
      # Read CSUPOS and set position in model
      # The bars
      for idx in conf.bars:
          key = "CSUP{}".format(idx)
          # UNIT of CSUPOS?
          # who knows
  
          # set CSUPOS for BAR
          # Using the model, this sets the X,Y coordinate
          conf.bars[idx].csupos = hdr[key]
          # print('read_csu {}, position is {}'.format(idx, conf.bars[idx].current_pos))
  
      # Slits. We dont have keywords to fuse slitlets into larger logical slits
      # so there is one slitslet for each pair of bars
      for idx in range(1, EMIR_NBARS + 1):
          l_ids = [idx]
          r_ids = [idx + EMIR_NBARS]
  
          lbars = {lid: conf.bars[lid] for lid in l_ids}
          rbars = {rid: conf.bars[rid] for rid in r_ids}
  
          this = LogicalSlit(idx, lbars=lbars, rbars=rbars)
          # References from header
          try:
              slit_t = hdr["SLIFL%d" % idx]
              this.target_type = TargetType(slit_t)
          except KeyError as err:
              # print('warning', err)
              this.target_type = TargetType.UNKNOWN
  
          xref = hdr.get("XRSLI%d" % this.idx, -100) - 1
          yref = hdr.get("YRSLI%d" % this.idx, -100) - 1
          this.target_coordinates = (xref, yref)
  
          xref = hdr.get("XVSLI%d" % this.idx, -100) - 1
          yref = hdr.get("YVSLI%d" % this.idx, -100) - 1
          this.target_coordinates_v = (xref, yref)
          conf.slits[idx] = this
  
      return conf