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:
parent
0c6c30dda3
commit
34c8458500
1 changed files with 9 additions and 8 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue