CDT I-BM API 1.0.0
Loading...
Searching...
No Matches
CdtIbmAPI.h
1#pragma once
2
3#include <iostream>
4#include <string>
5
6#include "CdtHv.h"
7#include "cdtIbmRegsMap.h"
8
12struct FWInfo {
13 uint32_t refClock;
14 uint32_t serdesSampling;
15};
16
23class CdtIonBMAPI : public CdtHv {
24 public:
25 CdtIonBMAPI(RMMAPI* rmmApi, int ring, int node, std::string name, TiaBoardVersion tia_board_version);
26 void configFE();
27 uint32_t getFirmwareHash();
28
29 rmmStatus setSamplingPeriod(double sampling);
30 double getSamplingPeriod();
31 rmmStatus setSumCounterStop(uint32_t value);
32 rmmStatus setADCSummation(uint8_t value);
33 uint8_t getADCSummation();
34
35 rmmStatus enableEmulateADCData(bool enable);
36 rmmStatus setEmulatedADCValue(uint32_t value);
37 RMMResult isEmulatedADCDataEnabled();
38 RMMResult getEmulatedADCValue();
39
40 // TODO: Remove that once the FW readback is done
41 RMMResult setADCDataInjection(bool enable, uint32_t value);
42
43 private:
44 rmmStatus setSerdesSampling(uint16_t sampling);
45
46 RMMLog ibmLog;
47
48 FWInfo activeFwInfo{1249940700, 0x96};
49 void fetchConfigParams();
50};
void configFE()
Configures the FEN with default values.
Definition CdtIbmAPI.cpp:37
RMMResult getEmulatedADCValue()
Retrieves the current emulated ADC value.
Definition CdtIbmAPI.cpp:202
rmmStatus setEmulatedADCValue(uint32_t value)
Sets the emulated ADC value.
Definition CdtIbmAPI.cpp:191
uint8_t getADCSummation()
Retrieves the summation over 'n' ADC samples.
Definition CdtIbmAPI.cpp:150
double getSamplingPeriod()
Retrieves the current sampling period.
Definition CdtIbmAPI.cpp:97
RMMResult isEmulatedADCDataEnabled()
Checks whether ADC data emulation is currently enabled.
Definition CdtIbmAPI.cpp:180
rmmStatus enableEmulateADCData(bool enable)
Enables or disables emulation of ADC data.
Definition CdtIbmAPI.cpp:168
CdtIonBMAPI(RMMAPI *rmmApi, int ring, int node, std::string name, TiaBoardVersion tia_board_version)
Constructor for the CdtIonBMAPI class.
Definition CdtIbmAPI.cpp:27
rmmStatus setSumCounterStop(uint32_t value)
Sets the TIA SERDES sum counter stop value.
Definition CdtIbmAPI.cpp:118
rmmStatus setADCSummation(uint8_t value)
Sets the summation over 'n' consecutive ADC samples.
Definition CdtIbmAPI.cpp:135
uint32_t getFirmwareHash()
Retrieves the ESS firmware hash.
Definition CdtIbmAPI.cpp:157
rmmStatus setSamplingPeriod(double sampling)
Sets the sampling period in microseconds.
Definition CdtIbmAPI.cpp:78
Holds firmware configuration parameters.
Definition CdtIbmAPI.h:12
uint32_t refClock
Reference clock frequency in Hz.
Definition CdtIbmAPI.h:13
uint32_t serdesSampling
Default SERDES sampling value.
Definition CdtIbmAPI.h:14