1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

villas-fpga-cat: fix double value being constructed wrong

This commit is contained in:
Niklas Eiling 2022-11-11 08:56:05 -05:00
parent 0c6c30dda3
commit 34c8458500

View file

@ -118,19 +118,20 @@ int main(int argc, char* argv[])
auto bytesRead = dma->readComplete();
//auto valuesRead = bytesRead / sizeof(int32_t);
//logger->info("Read {} bytes", bytesRead);
logger->info("Read {} bytes", bytesRead);
/*for (size_t i = 0; i < valuesRead; i++)
std::cerr << mem[i] << ";";
std::cerr << std::endl;*/
//for (size_t i = 0; i < valuesRead; i++)
// std::cerr << std::hex << mem[i] << ";";
//std::cerr << std::endl;
if (bytesRead == 8) {
while (bytesRead >= 8) {
int64_t ival = (int64_t)(mem[1] & 0xFFFF) << 48 |
(int64_t)(mem[1] & 0xFFFF0000) << 32 |
(int64_t)(mem[1] & 0xFFFF0000) << 16 |
(int64_t)(mem[0] & 0xFFFF) << 16 |
(int64_t)(mem[0] & 0xFFFF0000);
(int64_t)(mem[0] & 0xFFFF0000) >> 16;
double dval = *((double*)(&ival));
printf("%e\n", dval);
std::cerr << std::hex << ival << "," << dval << std::endl;
bytesRead -= 8;
//logger->info("Read value: {}", dval);
}
}