Question about EOL.
My OWON XDS2102A oscilloscope during TS start is detected correctly. Also it works for SCPI command if I ask a single value (response correctly terminated by \n).
But for a manual command "MEASUrement:ALL?\n" does respond in a specific way.
It returns single TCP packet with 1450 bytes payload, which consists of binary data header and then JSON data in ASCII
Here is beginning and end of the packet. HEX bytes and then ASCII shifted for readability.
a6 05 00 00 7b 22 43 48 31 22 3a 7b 22 4d 41 58
{ " C H 1 " : { " M A X
<trim here>
" ? , O F F " } }
22 09 3f 2c 4f 46 46 22 7d 7d
Full JSON, without 4 bytes of binary header, is here:
{"CH1":{"MAX":"35.00mV,OFF","MIN":"-50.00mV,OFF","PKPK":"85.00mV,OFF","VTOP":" ?,OFF","VBASe":" ?,OFF","VAMP":" ?,OFF","AVERage":"-6.740mV,ON","SQUAresum":"18.04mV,OFF","CYCRms":" ?,OFF","CURSorrms":"18.03mV,OFF","OVERShoot":" ?,OFF","PREShoot":" ?,OFF","PERiod":" ?,OFF","FREQuency":" ?,OFF","RTime":" ?,OFF","FTime":" ?,OFF","PWIDth":" ?,OFF","NWIDth":" ?,OFF","PDUTy":" ?,OFF","NDUTy":" ?,OFF","SCREenduty":" ?,OFF","FRR":" ?,OFF","FRF":" ?,OFF","FFR":" ?,OFF","FFF":" ?,OFF","LRR":" ?,OFF","LRF":" ?,OFF","LFR":" ?,OFF","LFF":" ?,OFF","RDELay":" ?,OFF","FDELay":" ?,OFF","RPHAse":" ?,OFF","PPULsenum":" ?,OFF","NPULsenum":" ?,OFF","RISEedgenum":" ?,OFF","FALLedgenum":" ?,OFF","AREA":" ?,OFF","CYCLearea":" ?,OFF"},"CH2":{"MAX":"25.00mA,OFF","MIN":"-60.00mA,OFF","PKPK":"85.00mA,OFF","VTOP":" ?,OFF","VBASe":" ?,OFF","VAMP":" ?,OFF","AVERage":"-15.94mA,ON","SQUAresum":"23.18mA,OFF","CYCRms":" ?,OFF","CURSorrms":"22.91mA,OFF","OVERShoot":" ?,OFF","PREShoot":" ?,OFF","PERiod":" ?,OFF","FREQuency":" ?,OFF","RTime":" ?,OFF","FTime":" ?,OFF","PWIDth":" ?,OFF","NWIDth":" ?,OFF","PDUTy":" ?,OFF","NDUTy":" ?,OFF","SCREenduty":" ?,OFF","FRR":" ?,OFF","FRF":" ?,OFF","FFR":" ?,OFF","FFF":" ?,OFF","LRR":" ?,OFF","LRF":" ?,OFF","LFR":" ?,OFF","LFF":" ?,OFF","RDELay":" ?,OFF","FDELay":" ?,OFF","RPHAse":" ?,OFF","PPULsenum":" ?,OFF","NPULsenum":" ?,OFF","RISEedgenum":" ?,OFF","FALLedgenum":" ?,OFF","AREA":" ?,OFF","CYCLearea":" ?,OFF"}}
The issue is that TC could not read it because there no EOL character. Very last byte there is "}" character.
So TC threads it as a "Rx Timeout" error.
I've tried to play with #rxEol and #eol parameters, providing values "\_", "eoi", "}}", "\}\}". I found these examples in files for other devices an in documentation here
https://lygte-info.dk/project/TestControllerConfigDevice2%20UK.htmlQuestion - how to resolve this issue to detect end of input in my case?
p.s. the TCP session capture in Wireshark is attached in archive.
MEASUrement:ALL-fromTC.zip (1.2 kB - downloaded 43 times.)