#BYTE waveform: OK # field(FTVL, 'BYTE') caput("TESTIOC:TESTBA:MyBA", "foo") print caget("TESTIOC:TESTBA:MyBA") #STRING waveform: OK # field(FTVL, 'STRING') caput("TESTIOC:TESTBA:MyBA7", "bar") print caget("TESTIOC:TESTBA:MyBA7") #CHAR waveform: cnot read as string # field(FTVL, 'CHAR') caput("TESTIOC:TESTBA:MyBA3", [65, 76, 66, 0, 0, 0, 0, 0, 0, 0]) print caget("TESTIOC:TESTBA:MyBA3") print caget("TESTIOC:TESTBA:MyBA3", 's') print caget("TESTIOC:TESTBA:MyBA3",'s', 5) print caget("TESTIOC:TESTBA:MyBA3", '[s') print caget("TESTIOC:TESTBA:MyBA3",'[s', 5) #BYTE type == STRING #Some helper functions to read from string def caget_str(ch): return ''.join((chr(i) if i else "") for i in caget(ch)) def caput_str(ch, val): ret = [ord(c) for c in val] ret = ret + ([0] * (256-len(ret))) caput(ch, to_array(ret, 'b')) caput_str("TESTIOC:TESTBA:MyBA3", "foobar") print caget("TESTIOC:TESTBA:MyBA3") print caget_str("TESTIOC:TESTBA:MyBA3")