122 auto [regcat, mdcat] = map_file_parser.
parse(
"goodMapFile_withoutModules.map");
124 std::string metaDataNameToRetrieve;
125 std::string retrievedValue;
127 metaDataNameToRetrieve =
"HW_VERSION";
128 retrievedValue = mdcat.getMetadata(metaDataNameToRetrieve);
129 BOOST_CHECK(retrievedValue ==
"1.6");
131 metaDataNameToRetrieve =
"FW_VERSION";
132 retrievedValue = mdcat.getMetadata(metaDataNameToRetrieve);
133 BOOST_CHECK(retrievedValue ==
"2.5");
138 std::vector<ChimeraTK::NumericAddressedRegisterInfo> RegisterInfoents;
139 RegisterInfoents.emplace_back(
"WORD_FIRMWARE", 0x00000001, 0x00000000, 0x00000004, 0x0, 32, 0,
true);
140 RegisterInfoents.emplace_back(
"WORD_COMPILATION", 0x00000001, 0x00000004, 0x00000004, 0x00000000, 32, 0,
true);
141 RegisterInfoents.emplace_back(
"WORD_STATUS", 0x00000001, 0x00000008, 0x00000004, 0x00000000, 32, 0,
true);
142 RegisterInfoents.emplace_back(
"WORD_USER1", 0x00000001, 0x0000000C, 0x00000004, 0x00000000, 32, 0,
true);
143 RegisterInfoents.emplace_back(
"WORD_USER2", 0x00000001, 0x00000010, 0x00000004, 0x00000000, 32, 0,
false);
146 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
false},
147 {32, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
false},
148 {64, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
false}},
149 NumericAddressedRegisterInfo::Access::READ_WRITE, {}));
151 RegisterInfoents.emplace_back(
153 NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {}));
173 auto [regcat, mdcat] = map_file_parser.
parse(
"goodMapFile.map");
175 BOOST_CHECK_EQUAL(regcat.getNumberOfRegisters(), 22);
177 std::string metaDataNameToRetrieve;
178 std::string retrievedValue;
180 metaDataNameToRetrieve =
"HW_VERSION";
181 retrievedValue = mdcat.getMetadata(metaDataNameToRetrieve);
182 BOOST_CHECK(retrievedValue ==
"1.6");
184 metaDataNameToRetrieve =
"FW_VERSION";
185 retrievedValue = mdcat.getMetadata(metaDataNameToRetrieve);
186 BOOST_CHECK(retrievedValue ==
"2.5");
188 std::vector<ChimeraTK::NumericAddressedRegisterInfo> RegisterInfoents(22);
190 RegisterInfoents[0] =
192 RegisterInfoents[1] =
194 RegisterInfoents[2] =
196 RegisterInfoents[3] =
200 RegisterInfoents[6] =
202 RegisterInfoents[7] =
204 RegisterInfoents[8] =
206 RegisterInfoents[9] =
208 RegisterInfoents[10] =
211 "MODULE1.WORD_USER3", 0x01, 0x28, 0x04, 0x01, 18, 5,
false, NumericAddressedRegisterInfo::Access::READ_ONLY);
212 RegisterInfoents[12] =
214 RegisterInfoents[13] =
216 RegisterInfoents[14] =
219 true, NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::IEEE754);
221 true, NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::IEEE754);
222 RegisterInfoents[17] =
224 RegisterInfoents[18] =
227 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::VOID, {3});
229 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::VOID, {2});
231 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {6});
267 auto [regcat, mdcat] = fileparser.
parse(
"interruptMapFile.map");
269 std::vector<ChimeraTK::NumericAddressedRegisterInfo> RegisterInfoents(13);
272 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::VOID, {0});
275 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::VOID, {1, 1});
278 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::VOID, {2, 2, 2});
281 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {20});
283 RegisterInfoents[4] =
285 NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {21, 1});
287 RegisterInfoents[5] =
289 NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {22, 3, 4});
291 RegisterInfoents[6] =
293 NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {3});
295 RegisterInfoents[7] =
297 NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {3});
300 0,
false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {4});
303 true, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {4});
305 RegisterInfoents[10] =
307 NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {4});
310 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
false},
311 {32, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
false},
312 {64, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
false}},
313 NumericAddressedRegisterInfo::Access::INTERRUPT, {5});
315 RegisterInfoents[12] =
317 true, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {5});
326 auto [regcat, mdcat] = map_file_parser.
parse(
"goodMapFileWithComments.map");
328 BOOST_CHECK_EQUAL(regcat.getNumberOfRegisters(), 22);
330 std::string metaDataNameToRetrieve;
331 std::string retrievedValue;
333 metaDataNameToRetrieve =
"HW_VERSION";
334 retrievedValue = mdcat.getMetadata(metaDataNameToRetrieve);
335 BOOST_CHECK(retrievedValue ==
"1.6");
337 metaDataNameToRetrieve =
"FW_VERSION";
338 retrievedValue = mdcat.getMetadata(metaDataNameToRetrieve);
339 BOOST_CHECK(retrievedValue ==
"2.5");
341 std::vector<ChimeraTK::NumericAddressedRegisterInfo> RegisterInfoents(22);
343 RegisterInfoents[0] =
345 RegisterInfoents[1] =
347 RegisterInfoents[2] =
349 RegisterInfoents[3] =
353 RegisterInfoents[6] =
355 RegisterInfoents[7] =
357 RegisterInfoents[8] =
359 RegisterInfoents[9] =
361 RegisterInfoents[10] =
364 "MODULE1.WORD_USER3", 0x01, 0x28, 0x04, 0x01, 18, 5,
false, NumericAddressedRegisterInfo::Access::READ_ONLY);
365 RegisterInfoents[12] =
367 RegisterInfoents[13] =
369 RegisterInfoents[14] =
372 true, NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::IEEE754);
374 true, NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::IEEE754);
375 RegisterInfoents[17] =
377 RegisterInfoents[18] =
380 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::VOID, {1, 3});
382 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::VOID, {1, 2});
384 false, NumericAddressedRegisterInfo::Access::INTERRUPT, NumericAddressedRegisterInfo::Type::FIXED_POINT, {5, 6});
393 auto [regcat, mdcat] = map_file_parser.
parse(
"newSequences.mapp");
395 BOOST_CHECK_EQUAL(regcat.getNumberOfRegisters(), 18);
397 std::vector<ChimeraTK::NumericAddressedRegisterInfo> RegisterInfoents(18);
399 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 32, 0,
true},
400 {32, NumericAddressedRegisterInfo::Type::FIXED_POINT, 32, 0,
true},
401 {64, NumericAddressedRegisterInfo::Type::FIXED_POINT, 32, 0,
true}},
402 NumericAddressedRegisterInfo::Access::READ_WRITE, {});
405 true, NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {});
408 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
409 {8, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
410 {16, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true}},
411 NumericAddressedRegisterInfo::Access::READ_WRITE, {});
414 0,
true, NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {});
417 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
true},
418 {16, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
true},
419 {32, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
true}},
420 NumericAddressedRegisterInfo::Access::READ_WRITE, {});
423 0,
true, NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {});
426 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 1,
true},
427 {32, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 2,
true},
428 {64, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 3,
true}},
429 NumericAddressedRegisterInfo::Access::READ_WRITE, {});
431 RegisterInfoents[7] =
433 NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {});
436 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 1,
true},
437 {8, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 2,
true},
438 {16, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 3,
true}},
439 NumericAddressedRegisterInfo::Access::READ_WRITE, {});
441 RegisterInfoents[9] =
443 NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {});
446 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 1,
true},
447 {16, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 2,
true},
448 {32, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 3,
true}},
449 NumericAddressedRegisterInfo::Access::READ_WRITE, {});
451 RegisterInfoents[11] =
453 NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {});
456 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
457 {16, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
458 {32, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
459 {48, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
460 {64, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
461 {80, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
462 {96, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
463 {112, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
464 {128, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
465 {144, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
466 {160, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
467 {176, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
468 {192, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
469 {208, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
470 {224, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true},
471 {240, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, -2,
true}},
472 NumericAddressedRegisterInfo::Access::READ_WRITE, {});
475 0,
true, NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {});
478 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
479 {8, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
true},
480 {24, NumericAddressedRegisterInfo::Type::FIXED_POINT, 32, 0,
true},
481 {56, NumericAddressedRegisterInfo::Type::FIXED_POINT, 64, 0,
true}},
482 NumericAddressedRegisterInfo::Access::READ_WRITE, {});
484 RegisterInfoents[15] =
486 NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {});
489 {{0, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
true},
490 {16, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
true},
491 {32, NumericAddressedRegisterInfo::Type::FIXED_POINT, 18, 0,
true},
492 {64, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
true},
493 {80, NumericAddressedRegisterInfo::Type::FIXED_POINT, 16, 0,
true},
494 {96, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
495 {112, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
496 {128, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
497 {136, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
498 {144, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
499 {152, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
500 {160, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
501 {192, NumericAddressedRegisterInfo::Type::FIXED_POINT, 8, 0,
true},
502 {224, NumericAddressedRegisterInfo::Type::FIXED_POINT, 32, 0,
true},
503 {256, NumericAddressedRegisterInfo::Type::FIXED_POINT, 32, 0,
false},
504 {288, NumericAddressedRegisterInfo::Type::FIXED_POINT, 32, 0,
false},
505 {320, NumericAddressedRegisterInfo::Type::FIXED_POINT, 32, 0,
false}},
506 NumericAddressedRegisterInfo::Access::READ_WRITE, {});
508 RegisterInfoents[17] =
510 NumericAddressedRegisterInfo::Access::READ_WRITE, NumericAddressedRegisterInfo::Type::FIXED_POINT, {});