mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-13 13:27:14 +02:00
refactored
This commit is contained in:
@ -2352,14 +2352,12 @@ void *start_timer(void *arg) {
|
|||||||
}
|
}
|
||||||
LOG(logDEBUG1,
|
LOG(logDEBUG1,
|
||||||
("npixels:%d pixelsperpacket:%d\n", npixels, pixelsPerPacket));
|
("npixels:%d pixelsperpacket:%d\n", npixels, pixelsPerPacket));
|
||||||
uint8_t *source = (uint8_t *)imageData;
|
uint8_t *src = (uint8_t *)imageData;
|
||||||
for (int i = 0; i < npixels; ++i) {
|
for (int i = 0; i < npixels; ++i) {
|
||||||
if (i > 0 && i % pixelsPerPacket == 0) {
|
if (i > 0 && i % pixelsPerPacket == 0) {
|
||||||
++pixelVal;
|
++pixelVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t temp = 0;
|
|
||||||
|
|
||||||
switch (dr) {
|
switch (dr) {
|
||||||
case 4:
|
case 4:
|
||||||
*((uint8_t *)(imageData + i)) =
|
*((uint8_t *)(imageData + i)) =
|
||||||
@ -2375,29 +2373,28 @@ void *start_timer(void *arg) {
|
|||||||
eiger_virtual_test_mode ? 0xFE : (uint8_t)pixelVal;
|
eiger_virtual_test_mode ? 0xFE : (uint8_t)pixelVal;
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
// first 12 bit pixel
|
if (eiger_virtual_test_mode) {
|
||||||
// first 8 byte
|
// first 12 bit pixel
|
||||||
*source = eiger_virtual_test_mode ? 0xFE : (uint8_t)(i & 0xFF);
|
// first 8 byte
|
||||||
++source;
|
*src++ = 0xFE;
|
||||||
|
// second 12bit pixel
|
||||||
// second 8 byte (first nibble)
|
++i;
|
||||||
temp =
|
// second 8 byte
|
||||||
eiger_virtual_test_mode ? 0xF : (uint8_t)((i >> 8) & 0xF);
|
*src++ = 0xEF;
|
||||||
|
// third byte
|
||||||
// second 12bit pixel
|
*src++ = 0xFF;
|
||||||
++i;
|
} else {
|
||||||
|
// first 12 bit pixel
|
||||||
// second 8 byte (second nibble)
|
// first 8 byte
|
||||||
*source = eiger_virtual_test_mode
|
*src++ = (uint8_t)(i & 0xFF);
|
||||||
? 0xE
|
// second 8 byte (first nibble)
|
||||||
: temp | ((uint8_t)(i & 0xF) << 4);
|
*src = (uint8_t)((i++ >> 8u) & 0xF);
|
||||||
++source;
|
// second 12bit pixel
|
||||||
|
// second 8 byte (second nibble)
|
||||||
// third byte
|
*src++ |= ((uint8_t)(i & 0xF) << 4u);
|
||||||
*source =
|
// third byte
|
||||||
eiger_virtual_test_mode ? 0xFF : (uint8_t)((i >> 4) & 0xFF);
|
*src++ = (uint8_t)((i >> 4u) & 0xFF);
|
||||||
++source;
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
*((uint16_t *)(imageData + i * sizeof(uint16_t))) =
|
*((uint16_t *)(imageData + i * sizeof(uint16_t))) =
|
||||||
|
@ -251,11 +251,11 @@ void HDF5DataFile::WriteToFile(char *buffer, const int buffersize,
|
|||||||
|
|
||||||
void HDF5DataFile::Convert12to16Bit(uint16_t *dst, uint8_t *src) {
|
void HDF5DataFile::Convert12to16Bit(uint16_t *dst, uint8_t *src) {
|
||||||
for (int i = 0; i < EIGER_NUM_PIXELS; ++i) {
|
for (int i = 0; i < EIGER_NUM_PIXELS; ++i) {
|
||||||
*dst = (*src++ & 0xFF);
|
*dst = (uint16_t)(*src++ & 0xFF);
|
||||||
*dst++ |= ((*src & 0xF) << 8);
|
*dst++ |= (uint16_t)((*src & 0xF) << 8u);
|
||||||
++i;
|
++i;
|
||||||
*dst = ((*src++ & 0xF0) >> 4);
|
*dst = (uint16_t)((*src++ & 0xF0) >> 4u);
|
||||||
*dst++ |= ((*src++ & 0xFF) << 4);
|
*dst++ |= (uint16_t)((*src++ & 0xFF) << 4u);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user