from experiment import *


def LPR_Load(ch, option="", qc=None):
    lst=[] 
    for it in Glob('DATA/CE4_GRAS_LPR-%s*.2B'%ch):
        lst.append(str(it))
    Process('data-ch%s'%ch, lst,
        '''
        cat ${SOURCES[1:]}
        | sgloadbin %s in.colsz=32883 in.endian=LSB
          out.fields=second,millisec,vel,xpos,ypos,zpos,xref,yref,zref,pitch,roll,yaw,mode,seq_ch1,seq_ch2,antenna,data
          second.format=u32 second.endian=MSB second.start=4
          millisec.format=s16 millisec.endian=MSB
          vel.format=fp32 vel.endian=MSB
          xpos.format=fp32 xpos.endian=MSB 
          ypos.format=fp32 ypos.endian=MSB
          zpos.format=fp32 zpos.endian=MSB
          xref.format=fp32 xref.start=38 
          yref.format=fp32 
          zref.format=fp32 
          pitch.format=fp32 pitch.start=50
          roll.format=fp32 
          yaw.format=fp32 
          mode.format=u8 mode.start=73
          seq_ch1.format=u16 seq_ch1.start=109
          seq_ch2.format=u16 
          antenna.format=u8 
          data.format=fp32 data.len=2048 data.ds=0.3125 
        | sgattribute group:k=second index:k=millisec
        | sgfieldmath time:d="second+0.001*millisec"
          seq:i="(antenna==17)*seq_ch1+(antenna>20)*seq_ch2"
        | sgsort key=xref,seq
        '''%option)
    if qc != None:
        Figure('./data-ch%s.png'%ch,
            '''
            sgwindow gmin=%d gmax=%d
            | sgplotps left.label="Time (ns)"
            '''%(qc, qc))

LPR_Load('1', "in.colsz=32883 data.len=8192 data.ds=2.5", qc=10)
LPR_Load('2A', "in.colsz=8307 data.len=2048 data.ds=0.3125", qc=10)
LPR_Load('2B', "in.colsz=8307 data.len=2048 data.ds=0.3125", qc=10)
