Dear experts
I'm using 3 series MDO and trying to get waveform data points from multiple channels at the same time, here is what I tried:
I send "ACQuire:STOPAfter SEQuence", then for every event I send "ACQuire:STATE ON", then I loop over channels and send "DATA:SOUrce CHi" where i is the channel number and finally use "CURve?" to get data points.
But I can only get the first channel's data points, how can I get all channel's waveform in the same sequence (same time)?
Here I paste part of my c++ code:
char recv_str[65534];
SendCommand(socketOsc, "ACQuire:STOPAfter SEQuence\n");
for(int iEvent=0; iEvent < nEvent; ++iEvent){
SendCommand(socketOsc, "ACQuire:STATE ON\n");
for(int iCh=0; iCh < nCh; ++iCh){
std::string cmd = "DATa:SOUrce CH" + std::to_string(iCh + 1) + "\n";
SendCommand(socketOsc, cmd.c_str());
memset(recv_str, 0, sizeof(recv_str));
SendCommand(socketOsc, "CURVe?\n");
if( recv(socketOsc, recv_str, sizeof(recv_str), 0) <= 0){
std::cerr<<"Failed to read data from Oscilloscope"<<std::endl;
exit(-1);
}
//do something
}
}