Files
dev/script/BugReadCharWaveformasString.py
2020-10-12 18:03:27 +02:00

36 lines
964 B
Python

#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")