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:
parent
bf84044ca4
commit
4017441bf3
1 changed files with 7 additions and 3 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue