From 95512eb1f6af0b0ae622e1695498f39fcf2260af Mon Sep 17 00:00:00 2001 From: marcomoerz Date: Tue, 3 Sep 2024 14:55:33 +0200 Subject: [PATCH] added toggling rate config --- include/DRAMUtils/config/toggling_rate.h | 34 ++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 include/DRAMUtils/config/toggling_rate.h diff --git a/include/DRAMUtils/config/toggling_rate.h b/include/DRAMUtils/config/toggling_rate.h new file mode 100644 index 0000000..b6af5fa --- /dev/null +++ b/include/DRAMUtils/config/toggling_rate.h @@ -0,0 +1,34 @@ +#ifndef DRAMUTILS_CONFIG_TOGGLING_RATE_H +#define DRAMUTILS_CONFIG_TOGGLING_RATE_H + +#include + +namespace DRAMUtils::Config { + +enum class TogglingRateIdlePattern +{ + L = 0, + H = 1, + Z = 2, + Invalid = -1 +}; +NLOHMANN_JSON_SERIALIZE_ENUM(TogglingRateIdlePattern, + {{TogglingRateIdlePattern::Invalid, nullptr}, + {TogglingRateIdlePattern::L, "L"}, + {TogglingRateIdlePattern::H, "H"}, + {TogglingRateIdlePattern::Z, "Z"}}) + +struct ToggleRateDefinition +{ + double togglingRateRead; + double togglingRateWrite; + double dutyCycleRead; + double dutyCycleWrite; + TogglingRateIdlePattern idlePatternRead; + TogglingRateIdlePattern idlePatternWrite; +}; +NLOHMANN_JSONIFY_ALL_THINGS(ToggleRateDefinition, togglingRateRead, togglingRateWrite, dutyCycleRead, dutyCycleWrite, idlePatternRead, idlePatternWrite) + +} // namespace DRAMUtils::Config + +#endif /* DRAMUTILS_CONFIG_TOGGLING_RATE_H */