uaiti

Members
  • Content Count

    6
  • Joined

  • Last visited

  1. Hi, using the instrumentation protocol I was able to issue a "read command" to the Oscilloscope and receive the following message. 113 {"osc":{"1":[{"command":"read","statusCode":0,"binaryOffset":0,"binaryLength":4876,"acqCount":220,"actualSampleFreq":24381324,"pointOfInterest":2062,"triggerIndex":0,"triggerDelay":84572929674,"actualTriggerDelay":84572929674,"actualVOffset":43,"actualGain":0.25,"wait":0}]}} 130C 66AA8;;68>8>DD>;;;>A;A>;G;>8;;6>6A;6;3DD;;8GAA8;;>>AD;D;8>A;86G;DA3;8>8;>ADA>;GG;AA;8;8>A3A>G68A>>>8>6686>D;;>A;DG;D88;A>8;;;8>A>>8>>A8A86D>83D386;;>>>>8A;;AA8;A;;>6;G>D>;>>3J>>A6AD88;AAG3;>DA>;;8>;88>A>>AD6;6;AAG;;;6>D;6>68A>>>>8>88;;DA>A;;;AA8>A66>6>D;;>>;8686A>>8;A>;;AA;8;;A;D>A>8;A>A8A3>3GD>>>A>>D8A8A838AAD>AA;A86>;D>88A;A;3;3D>3D>88A8>;8;J;6>>>A6GA8;;688D>;>A>>883;DA88D>6;J86>;;>>A;>;>>;D3>6>;DADA>>A;A;;;8D8AA>;>;;A;>>>A;A6>;A6>88DADA>>6>8>A8D>;;>;3DD>A6>>A;;8>AJ36;8>D8A>>>;;>A83A6;;;;;3;88DA>68>;>3DAA>;;6AD>6>>>>DD;A8A;A6AG>;>3;D;A8G;8D>;>>;>D63>8>;>8D6;ADA;>>;AA>>ADA3>8DA>>66;D>;A>68;D>>;D8>;A;6D;8AA;>6A>>>A8>6D8>;>38;A8;8;>>;;>;A6;>>6D3;AD>>A;88D;;AA;A;>;8>;;8;8A>AD;D>8>>;>D;66D0>>386D>;DA>>;>3;AA8>;G88>>>688DAA>>;>>>>>;686>668A8>D>>A>8AA8;;;>>>A68G>>AA;>;;>D88;8>;>A68>8AD6G;D>;;;AD;88>8D;>AAA>8DA;88;6D8A>AA>A>6>;>>D88ADA>>D;A>8>A;AA;8;6>6;A8J;;>8;;;;GA8>D>8A>A>>;;>;>DA;;A;8;6A>6;8GAA>A>688A;8;383D>6A6>8>GD886;AAA;>A;A>;;AD6>3>>>83G3>D>;;;>;>8G>6A>>6;;>>->D;8>68>;6DGA8A86>A-8;;>3A8;8;A66;;;;D>68A;8>88AA>A;>8;;6;>8;8G>A8;>>;>>8;D;;AA;3>A6;D>>>;;>D;8D;A8;A;>8;DAG;68G86>>D>A6;A8>D8;>;;>A;;6D;6>6>8A>A;8D>;A;>>>6;6>>>A>>G8>;>;>8D8>86DDD>8D;;A63D6;A;>;86;8;D8;>DA;D;>>>JD88;>G>;A;>;>>A8DD6AAA>;8>>A 0 For your reference, this was the command i used to read from the oscilloscope: {"osc":{"1":[{"command":"read","acqCount":101}]}} I am having trouble decoding the data CHUNK of length 4876 bytes (130C). As far as I understand, the CHUNK is encoded using "I16" (from the docs : "The binary data type and resolution are defined in the device enumeration and units are in mV"). First of all, if I well understand the payload of the message above has 1218 characters, for a total of 9744 bytes, which does not seem to match with the 4876 mentioned before. Secondly, if I then take these ASCII values, convert them to integer and try to compute a single number using a pair of consecutive bytes, the final number I get are not nearly close to the expected signal (which by the way is a square wave at 1kHz). I guess my question is very simple, how is the CHUNK of data encoded? Can anybody give me an example of how to decode this data perhaps using the first few bytes in the payload above ("66AA8;;....."). Thank you!
  2. Hi Kristoff, thank you for the reply. I was about to give up, as I was continuously getting a HTTP error. I think that the problem boiled down to parsing and how I was transmitting the POST request. So I changed tool and used the terminal and curl, to send out a request. If I send something like curl -v -H "Content-Type: application/json" -X POST -d '{"debugPrint":"on"}\r\n' http://10.0.1.24 where in bold you can see my command, and also the IP of my device, everything works! Thanks a lot Andrea
  3. I'll try to answer to myself, in case it might help someone else. 1) Connect the OpenScope to a PC, open a terminal such as Putty for PC, or Serial for the MAC. Setup a connection and ensure to put your baud rate to 1250000. After starting up the device, you should see a screen with a menu as in the figure. Click 1 to use the JSON mode, and then enter the string {"debugPrint":"on"} to get in debug mode. 2) After setting up and connecting to the WIFI (the blue LED on the OpenScope should be a solid blue), make sure that your computer see the OpenScope. You can use the "ping" command from the terminal to ensure that the devices see each other. Then go ahead and download a software like Postman. Create a new request, make sure you select POST as a method. In my case, the url is the IP of the OpenScope - something like http://10.0.1.24 For the body put a key (anything should be fine) and a value (such as {"debugPrint":"on"}). Then send the request. On the serial console you should see what happened to your request. In my case, I receive a strange message (see Figure). =====>> IN CONCLUSION I am stuck here. The message gets delivered, but nothing comes back. I tried to use different ports (http://10.0.1.24:80 or http://10.0.1.24:42135) but I don't get any JSON value back. Interestingly enough, if I put as an address that of another computer, running the Digilent Agent, I get an answer to my query like in the picture below. Does anyone have any suggestion?
  4. Hi, I am trying to use the JSON protocol to access programmatically the OpenScope (https://reference.digilentinc.com/reference/software/openscope/communication-protocol). However, I am unable to get a correct ACK from the device, regardless of what I transmit. A bit of background. I am running the Digilent agent on a Mac, which is then connected through USB to the Openscope. From another device I am wirelessly connecting to the IP address of this computer, using the default port 42135 (I wrote some custom Java software for the socket connection). I am sending a query of the kind {"mode":"JSON"} but instead of receiving the correct answer, I receive HTTP/1.1 413 entity too large Connection: close 413 Entity too large Client got end-of-stream. FYI, I also tried to connect wirelessly directly to the OpenScope, without passing through the Mac. So after setting up the WIFI, I see my OpenScope correctly connected to the network, but I am still unable to access it (PORT 42135 refuses a connection). Finally, I tried to connect to the device simply using serial, but I could not find any specific baudrate in the documentation: I tried few (115200, 9600) but nothing was successful. So, here the question. Is there any way I can wirelessly connect to the OpenScope from another computer and query its state through the JSON protocol? Is there any example I could follow? Thank you