Files
Jungfraujoch/fpga/host_library/jfjoch_pcie_clock_cfg_test.cpp
leonarski_f d315506633 * Enhancements for XFEL
* Enhancements for EIGER
* Writer is more flexible and capable of handling DECTRIS data
2024-03-05 20:41:47 +01:00

41 lines
1.5 KiB
C++

// Copyright (2019-2024) Paul Scherrer Institute
#include "../common/Logger.h"
#include "../common/JFJochException.h"
#include "JungfraujochDevice.h"
int main(int argc, char **argv) {
Logger logger("jfjoch_pcie_clock_cfg_test");
if (argc != 2) {
logger.Error("Usage: ./jfjoch_pcie_clock_cfg_test <device name>");
exit(EXIT_FAILURE);
}
try {
JungfraujochDevice device(argv[1], true);
logger.Info("Current page {}", device.ReadClockConfig(0x1));
logger.Info("Device Ready {:x}", device.ReadClockConfig(0xFE));
device.WriteClockConfig(0x1, 0x0);
logger.Info("Current page {}", device.ReadClockConfig(0x1));
logger.Info("Base part 0x{:x}{:x}", device.ReadClockConfig(0x3), device.ReadClockConfig(0x2));
logger.Info("Base part 0x{:x}{:x}", device.ReadClockConfig(0x3), device.ReadClockConfig(0x2));
device.WriteClockConfig(0x1, 0x2);
logger.Info("Current page {}", device.ReadClockConfig(0x1));
logger.Info("OPN {:c}{:c}{:c}{:c}{:c}",
device.ReadClockConfig(0x78),
device.ReadClockConfig(0x79),
device.ReadClockConfig(0x7A),
device.ReadClockConfig(0x7B),
device.ReadClockConfig(0x7C));
device.WriteClockConfig(0x1, 0x0);
logger.Info("Current page {}", device.ReadClockConfig(0x1));
logger.Info("Done");
} catch (const JFJochException &e) {
logger.ErrorException(e);
}
}