diff --git a/src/g2_2025_grade_calculator_pkg/src/exam_result_generator/nodes/ExamResultGenerator.cpp b/src/g2_2025_grade_calculator_pkg/src/exam_result_generator/nodes/ExamResultGenerator.cpp index fa2d9b4..a4079cd 100644 --- a/src/g2_2025_grade_calculator_pkg/src/exam_result_generator/nodes/ExamResultGenerator.cpp +++ b/src/g2_2025_grade_calculator_pkg/src/exam_result_generator/nodes/ExamResultGenerator.cpp @@ -7,6 +7,10 @@ ExamResultGenerator::ExamResultGenerator() gen_(rd_()), grade_dist_(10, 100) { + this->declare_parameter("delay_between_grades_ms", 2000); + int delay_ms = this->get_parameter("delay_between_grades_ms").as_int(); + delay_between_grades_ = std::chrono::milliseconds(delay_ms); + db_manager_ = std::make_unique(this->get_logger()); // Load initial student/course combinations from database @@ -27,7 +31,7 @@ ExamResultGenerator::ExamResultGenerator() // Create timer to generate random exam results every 2 seconds timer_ = this->create_wall_timer( - std::chrono::seconds(2), + delay_between_grades_, std::bind(&ExamResultGenerator::generate_random_result, this) ); diff --git a/src/g2_2025_grade_calculator_pkg/src/exam_result_generator/nodes/ExamResultGenerator.hpp b/src/g2_2025_grade_calculator_pkg/src/exam_result_generator/nodes/ExamResultGenerator.hpp index cbb8a21..6f49977 100644 --- a/src/g2_2025_grade_calculator_pkg/src/exam_result_generator/nodes/ExamResultGenerator.hpp +++ b/src/g2_2025_grade_calculator_pkg/src/exam_result_generator/nodes/ExamResultGenerator.hpp @@ -8,6 +8,7 @@ * Reviewed by: * Changelog: * [23-09-2025] Wessel T: Initial Implementation + * [05-10-2025] Wessel T: Added delay between grades parameter */ #pragma once @@ -15,6 +16,7 @@ #include #include #include +#include #include "rclcpp/rclcpp.hpp" #include "g2_2025_interfaces/msg/exam.hpp" @@ -42,10 +44,12 @@ private: std::vector operations_queue_; + std::chrono::milliseconds delay_between_grades_ { 2000 }; + void queue_pending_combinations(); void generate_random_result(); void student_management_callback(const g2_2025_interfaces::msg::Student::SharedPtr msg); void add_student_course_combination(const StudentCourse& sc); }; -} // namespace lessons::zero::tmp +} // namespace assignments::one::exam_result_generator