mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-05-06 21:00:02 +02:00
fixed virtual server fake data for 12 bit mode
This commit is contained in:
parent
aea0efa1b6
commit
6433704086
@ -2347,18 +2347,19 @@ void *start_timer(void *arg) {
|
|||||||
int npixels = NCHAN * NCHIP;
|
int npixels = NCHAN * NCHIP;
|
||||||
const int pixelsPerPacket = (double)datasize / bytesPerPixel;
|
const int pixelsPerPacket = (double)datasize / bytesPerPixel;
|
||||||
int pixelVal = 0;
|
int pixelVal = 0;
|
||||||
if (dr == 4 || dr == 12) {
|
if (dr == 4) {
|
||||||
npixels /= 2;
|
npixels /= 2;
|
||||||
}
|
}
|
||||||
LOG(logDEBUG1,
|
LOG(logDEBUG1,
|
||||||
("npixels:%d pixelsperpacket:%d\n", npixels, pixelsPerPacket));
|
("npixels:%d pixelsperpacket:%d\n", npixels, pixelsPerPacket));
|
||||||
|
uint8_t *source = (uint8_t *)imageData;
|
||||||
for (int i = 0; i < npixels; ++i) {
|
for (int i = 0; i < npixels; ++i) {
|
||||||
// not used by 12 bit mode
|
|
||||||
if (i > 0 && i % pixelsPerPacket == 0) {
|
if (i > 0 && i % pixelsPerPacket == 0) {
|
||||||
++pixelVal;
|
++pixelVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t temp_12 = 0;
|
uint8_t temp = 0;
|
||||||
|
|
||||||
switch (dr) {
|
switch (dr) {
|
||||||
case 4:
|
case 4:
|
||||||
*((uint8_t *)(imageData + i)) =
|
*((uint8_t *)(imageData + i)) =
|
||||||
@ -2376,26 +2377,29 @@ void *start_timer(void *arg) {
|
|||||||
case 12:
|
case 12:
|
||||||
// first 12 bit pixel
|
// first 12 bit pixel
|
||||||
// first 8 byte
|
// first 8 byte
|
||||||
*((uint8_t *)(imageData + (i * 3) * sizeof(uint8_t))) =
|
*source =
|
||||||
eiger_virtual_test_mode ? 0xFE : (uint8_t)(i & 0xFF);
|
eiger_virtual_test_mode ? 0xFE : (uint8_t)(pixelVal & 0xFF);
|
||||||
|
++source;
|
||||||
|
|
||||||
// second 8 byte (first nibble)
|
// second 8 byte (first nibble)
|
||||||
*((uint8_t *)(imageData + (i * 3 + 1) * sizeof(uint8_t))) =
|
temp = eiger_virtual_test_mode
|
||||||
eiger_virtual_test_mode ? 0xF : (uint8_t)((i >> 8) & 0xF);
|
? 0xF
|
||||||
temp_12 =
|
: (uint8_t)((pixelVal >> 8) & 0xF);
|
||||||
*((uint8_t *)(imageData + (i * 3 + 1) * sizeof(uint8_t)));
|
|
||||||
|
|
||||||
// second 12bit pixel
|
// second 12bit pixel
|
||||||
++i;
|
++i;
|
||||||
|
|
||||||
// second 8 byte (second nibble)
|
// second 8 byte (second nibble)
|
||||||
*((uint8_t *)(imageData + (i * 3 + 1) * sizeof(uint8_t))) =
|
*source = eiger_virtual_test_mode
|
||||||
eiger_virtual_test_mode ? 0xE
|
? 0xE
|
||||||
: temp_12 | ((uint8_t)(i & 0xF));
|
: temp | ((uint8_t)(pixelVal & 0xF) << 4);
|
||||||
|
++source;
|
||||||
|
|
||||||
// third byte
|
// third byte
|
||||||
*((uint8_t *)(imageData + (i * 3 + 2) * sizeof(uint8_t))) =
|
*source = eiger_virtual_test_mode
|
||||||
eiger_virtual_test_mode ? 0xFF : (uint8_t)((i >> 4) & 0xFF);
|
? 0xFF
|
||||||
|
: (uint8_t)((pixelVal >> 4) & 0xFF);
|
||||||
|
++source;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
|
@ -2830,7 +2830,7 @@ int set_dynamic_range(int file_des) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// get
|
// get
|
||||||
if (ret == OK {
|
if (ret == OK) {
|
||||||
ret = getDynamicRange(&retval);
|
ret = getDynamicRange(&retval);
|
||||||
if (ret == FAIL) {
|
if (ret == FAIL) {
|
||||||
strcpy(mess, "Could not get dynamic range\n");
|
strcpy(mess, "Could not get dynamic range\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user