mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 18:17:59 +02:00
Merge branch 'developer' into g225gui
This commit is contained in:
@ -97,6 +97,11 @@
|
||||
<string>65535</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>4095</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>255</string>
|
||||
|
@ -69,5 +69,11 @@ class qTabSettings : public QWidget, private Ui::TabSettingsObject {
|
||||
enum { DYNAMIC, FORCE_SWITCH_G1, FORCE_SWITCH_G2, FIX_G1, FIX_G2, FIX_G0 };
|
||||
bool isVisibleFixG0{false};
|
||||
|
||||
enum { DYNAMICRANGE_32, DYNAMICRANGE_16, DYNAMICRANGE_8, DYNAMICRANGE_4 };
|
||||
enum {
|
||||
DYNAMICRANGE_32,
|
||||
DYNAMICRANGE_16,
|
||||
DYNAMICRANGE_12,
|
||||
DYNAMICRANGE_8,
|
||||
DYNAMICRANGE_4
|
||||
};
|
||||
};
|
||||
|
@ -1073,6 +1073,8 @@ void qDrawPlot::toDoublePixelData(double *dest, char *source, int size,
|
||||
// mythen3 / gotthard2 debugging
|
||||
int discardBits = numDiscardBits;
|
||||
|
||||
uint16_t temp = 0;
|
||||
uint8_t *src = (uint8_t *)source;
|
||||
switch (dr) {
|
||||
|
||||
case 4:
|
||||
@ -1092,6 +1094,19 @@ void qDrawPlot::toDoublePixelData(double *dest, char *source, int size,
|
||||
}
|
||||
break;
|
||||
|
||||
case 12:
|
||||
for (ichan = 0; ichan < size; ++ichan) {
|
||||
temp = (*src++ & 0xFF);
|
||||
temp |= ((*src & 0xF) << 8u);
|
||||
dest[ichan] = (double)temp;
|
||||
++ichan;
|
||||
|
||||
temp = ((*src++ & 0xF0) >> 4u);
|
||||
temp |= ((*src++ & 0xFF) << 4u);
|
||||
dest[ichan] = (double)temp;
|
||||
}
|
||||
break;
|
||||
|
||||
case 16:
|
||||
if (detType == slsDetectorDefs::JUNGFRAU ||
|
||||
detType == slsDetectorDefs::GOTTHARD2) {
|
||||
|
@ -60,13 +60,19 @@ void qTabSettings::SetupWidgetWindow() {
|
||||
QStandardItemModel *model =
|
||||
qobject_cast<QStandardItemModel *>(comboDynamicRange->model());
|
||||
if (model) {
|
||||
QModelIndex index;
|
||||
QStandardItem *item;
|
||||
index =
|
||||
model->index(DYNAMICRANGE_4, comboDynamicRange->modelColumn(),
|
||||
comboDynamicRange->rootModelIndex());
|
||||
item = model->itemFromIndex(index);
|
||||
item->setEnabled(false);
|
||||
int dr = DYNAMICRANGE_4;
|
||||
for (int i = 0; i != 2; ++i) {
|
||||
// disable dr 4
|
||||
QModelIndex index =
|
||||
model->index(dr, comboDynamicRange->modelColumn(),
|
||||
comboDynamicRange->rootModelIndex());
|
||||
item = model->itemFromIndex(index);
|
||||
item->setEnabled(false);
|
||||
|
||||
// disable dr 12
|
||||
dr = DYNAMICRANGE_12;
|
||||
}
|
||||
}
|
||||
} else if (detType == slsDetectorDefs::EIGER) {
|
||||
lblDynamicRange->setEnabled(true);
|
||||
@ -305,6 +311,9 @@ void qTabSettings::GetDynamicRange() {
|
||||
case 16:
|
||||
comboDynamicRange->setCurrentIndex(DYNAMICRANGE_16);
|
||||
break;
|
||||
case 12:
|
||||
comboDynamicRange->setCurrentIndex(DYNAMICRANGE_12);
|
||||
break;
|
||||
case 8:
|
||||
comboDynamicRange->setCurrentIndex(DYNAMICRANGE_8);
|
||||
break;
|
||||
@ -333,6 +342,9 @@ void qTabSettings::SetDynamicRange(int index) {
|
||||
case DYNAMICRANGE_16:
|
||||
det->setDynamicRange(16);
|
||||
break;
|
||||
case DYNAMICRANGE_12:
|
||||
det->setDynamicRange(12);
|
||||
break;
|
||||
case DYNAMICRANGE_8:
|
||||
det->setDynamicRange(8);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user