To enable remote control of SpecMan4EPR in Options:

  • Select Network → Communication port (e.g. 8023)
  • Add remote host IP to Network → List of allowed hosts (e.g. localhost)
  • Specify buffer directory Directories and files → Data buffer directory

    Use any TCPIP terminal software. For Windows users TCPCheck app will be provided on request. Terminate commands with LF(0xA). For each command the responce with the current value of the modified parameter will be sent. All commands may be prefaced with .id. In this case responce will have .id[any number] as well (e.g. .id55.d.state → .ID55.daemon.state=4).

    Below are practical examples of command sequences for remote control. Symbol ! is used here to markup comments. DO NOT POST comments to console since it does not support commenting. Requests are in bold

    Run template

    .s.echo = 0      ! disable echo
    .s.show = 0      ! disable unrequested responces
    .d.v             ! get daemon version
    .s.message='SpecMan4EPR is under control'   ! here we come
    .s.open='\Demo\Demo 2\test_WURST.tpl'   ! load tpl script
    .e.expaxes.P.reps=1000    ! let experiment to run very long
    .e.state         ! request experiment state 0 - error / 1 - OK
    .d.state         ! request daemon state 4 - idle / 6 - run
    .d.run           ! run
    
    .d.exptime        ! request how long experiment is running
    .d.expdone          ! request fraction of experiment done
    .d.state         ! request daemon state 4 - idle / 6 - run
    
    .d.stop          ! stop SpecMan4EPR
    
    .d.state         ! request daemon state 4 - idle / 6 - run
    

    Run template and get data

    .s.open='\Demo\Demo 2\test_WURST.tpl'   ! load tpl script
    .d.fguid='123'   ! name the experiment we want to acquire
    .d.run           ! run
    .d.state         ! wait until .daemon.state=4
    .s.traceget       ! get current trace
    
    .s.fg='123.exp'   ! get file
    .s.fg='123.d01'   ! get file
    

    Trace format

    .server.traceget=[i],[j],[k],[l]#[start, 4 char hex][length, 4 char hex][body binary data, length]

    File request responce

    .server.fileget=[file name]#[length, 8 char hex][body binary data, length]