All I'm trying to do is cascade one input signal, though all available channels, so that I end up with 8*1024 bins per event.
Here is the read out on my board/chip:
Mezz. Board index: 0
DRS type: DRS4
Board type: 8
Serial number: 2249
Firmware revision: 17662
Temperature: 35.2 C
Input range: -0.5V...0.5V
Calibrated range: -0.5V...0.5V
Calibrated frequency: 5.120 GHz
Status reg.: 0000001A
Control reg.: 00000010
DMODE circular
Trigger bus: 00000000
Frequency: 5.120 GHz
What I've tried thus far:
In Osci.cpp, in the method/function SelectSource(int board, int firstChannel, int chnSection), I added a line.. (in bold)
//----------------------------------------------------------------------------------------------------------------------------------------------
if (b->GetBoardType() == 5 || b->GetBoardType() == 7 || b->GetBoardType() == 8) {
if (chnSection == 2)
b->SetChannelConfig(0, 8, 4);
//added
else if(chnSection == 1)
b->SetChannelConfig(0, 8, 2);
//added
else
b->SetChannelConfig(0, 8, 8);
//----------------------------------------------------------------------------------------------------------------------------------------------
I've also tried doing settings such as SetChannelConfig(0, 8, 1); , SetChannelConfig(0, 8, 2); , SetChannelConfig(0, 1, 2); , etc..
Which always ends up making the run fail.. and sometimes I get index errors..
As far as I understanding the program now, this is what I know:
fChannelCascading determines getChannelCascading,
this determines the if (casc == 2) line in configDialogue.cpp, which sets:
b->SetChannelConfig(config, 8, 4);
fChannelCascading is being set by:
switch (nConfigChannels) {
case 1:
fChannelConfig = 0x01;
fChannelCascading = 8;
break;
case 2:
fChannelConfig = 0x11;
fChannelCascading = 4;
break;
case 4:
fChannelConfig = 0x55;
fChannelCascading = 2;
break;
case 8:
fChannelConfig = 0xFF;
fChannelCascading = 1;
break;
default:
printf("Invalid channel configuration\n");
return 0;
}
which is being set by nConfigChannels in DRS.cpp, in the method:
SetChannelConfig(int firstChannel, int lastChannel, int nConfigChannels)
SetChannelConfig is being called in the ConfigDialogue.cpp, but the default Osci program is such that you can't do a configuration for a cascade of one signal using all the channels. At least, not that I am aware of.
So what buttons do I need to enable, or what do I need to call, or write, so that I can cascade a signal to end up with 8*1024 bins per event?
This has had me going in circles for weeks, so thank you for your help!!!!
|