Skip to content

Commit 843920f

Browse files
committed
[config] Handle hex strings properly
1 parent 5ba0b2a commit 843920f

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/CommandLineUtilities/ProgramConfig.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class ProgramConfig : public Program
4848
po::value<std::string>(&mOptions.clock)->default_value("LOCAL"),
4949
"Clock [LOCAL, TTC]");
5050
options.add_options()("cru-id",
51-
po::value<uint16_t>(&mOptions.cruId)->default_value(0x0),
51+
po::value<std::string>(&mOptions.cruId)->default_value("0x0"),
5252
"12-bit CRU ID");
5353
options.add_options()("datapathmode",
5454
po::value<std::string>(&mOptions.datapathMode)->default_value("PACKET"),
@@ -78,7 +78,7 @@ class ProgramConfig : public Program
7878
po::bool_switch(&mOptions.dynamicOffsetEnabled),
7979
"Flag to enable the dynamic offset");
8080
options.add_options()("onu-address",
81-
po::value<uint32_t>(&mOptions.onuAddress)->default_value(0x0),
81+
po::value<std::string>(&mOptions.onuAddress)->default_value("0x0"),
8282
"ONU address for PON upstream");
8383
options.add_options()("config-all",
8484
po::bool_switch(&mOptions.configAll),
@@ -142,15 +142,15 @@ class ProgramConfig : public Program
142142
params.setLinkMask(Parameters::linkMaskFromString(mOptions.links));
143143
params.setAllowRejection(mOptions.allowRejection);
144144
params.setClock(Clock::fromString(mOptions.clock));
145-
params.setCruId(mOptions.cruId);
145+
params.setCruId(strtoul(mOptions.cruId.c_str(), NULL, 16));
146146
params.setDatapathMode(DatapathMode::fromString(mOptions.datapathMode));
147147
params.setDownstreamData(DownstreamData::fromString(mOptions.downstreamData));
148148
params.setGbtMode(GbtMode::fromString(mOptions.gbtMode));
149149
params.setGbtMux(GbtMux::fromString(mOptions.gbtMux));
150150
params.setLinkLoopbackEnabled(mOptions.linkLoopbackEnabled);
151151
params.setPonUpstreamEnabled(mOptions.ponUpstreamEnabled);
152152
params.setDynamicOffsetEnabled(mOptions.dynamicOffsetEnabled);
153-
params.setOnuAddress(mOptions.onuAddress);
153+
params.setOnuAddress(strtoul(mOptions.onuAddress.c_str(), NULL, 16));
154154
params.setTriggerWindowSize(mOptions.triggerWindowSize);
155155

156156
// Generate a configuration file base on the parameters provided
@@ -219,8 +219,8 @@ class ProgramConfig : public Program
219219
bool linkLoopbackEnabled = false;
220220
bool ponUpstreamEnabled = false;
221221
bool dynamicOffsetEnabled = false;
222-
uint32_t onuAddress = 0x0;
223-
uint16_t cruId = 0x0;
222+
std::string onuAddress = "0x0";
223+
std::string cruId = "0x0";
224224
uint32_t triggerWindowSize = 1000;
225225
} mOptions;
226226

0 commit comments

Comments
 (0)