namespace eval cryotel {} { } proc stdConfig::cryotel {} { # controler uses std with send terminator "\r" 5sec comm.interval receive terminator "\n" and multi line replies will be separated by "," controller std "\r" 5 "\n" "," # the {2} in addition to the command defines the number of expected return values prop startcmd "SERIAL{2}" # driver for Sunpower stirling cooler CryoTel # serial interface is set to: # Char Size/Stop Bits: 8/1 Input Speed: 4800 # Flow Ctrl: None Output Speed: 4800 # Parity: None Modem Control: None obj cryo rd prop label Temperature prop readcmd "TC{2}" prop readfmt "TC ,%f" #cryotel::readT kids cryo { node setT wr prop label Setpoint prop writecmd "SET TTARGET=%.2f" prop readcmd "SET TTARGET{2}" prop readfmt "SET TTARGET ,%f" node power rd prop label Power prop readcmd "P{2}" prop readfmt "P ,%f" node cool wr prop label Cool prop enum on,off prop writecmd "SET SSTOP=%i" prop readcmd "SET SSTOP{2}" prop readfmt "SET SSTOP ,%i" } }