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

fpga: use constants to access registers

Signed-off-by: Niklas Eiling <niklas.eiling@eonerc.rwth-aachen.de>
This commit is contained in:
Niklas Eiling 2024-05-28 09:30:13 +02:00 committed by Niklas Eiling
parent 1e58d7a452
commit 973834b3aa

View file

@ -140,14 +140,18 @@ void DinoAdc::configureHardware() {
void DinoAdc::setRegisterConfig(std::shared_ptr<Register> reg,
double sampleRate) {
constexpr double dinoClk = 25e6; // Dino is clocked with 25 Mhz
constexpr size_t dinoRegisterTimer = 0;
constexpr size_t dinoRegisterScale = 1;
constexpr size_t dinoRegisterOffset = 2;
uint32_t dinoTimerVal = static_cast<uint32_t>(dinoClk / sampleRate);
double rateError = dinoClk / dinoTimerVal - sampleRate;
reg->setRegister(
0,
dinoRegisterTimer,
dinoTimerVal); // Timer value for generating ADC trigger signal
reg->setRegister(1, -0.001615254F); // Scale factor for ADC value
reg->setRegister(2, 10.8061F); // Offset for ADC value
reg->setRegister(dinoRegisterScale,
-0.001615254F); // Scale factor for ADC value
reg->setRegister(dinoRegisterOffset, 10.8061F); // Offset for ADC value
uint32_t rate = reg->getRegister(0);
float scale = reg->getRegisterFloat(1);
float offset = reg->getRegisterFloat(2);