[PR] Make the delay between random grades a parameter #5

Merged
wessel merged 1 commits from 1-grade-generator/exam_result_generator into 1-grade-generator/master 2025-10-05 18:34:07 +02:00
2 changed files with 10 additions and 2 deletions

View File

@@ -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<DatabaseManager>(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)
);

View File

@@ -8,6 +8,7 @@
* Reviewed by: <x>
* 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 <string>
#include <random>
#include <vector>
#include <chrono>
#include "rclcpp/rclcpp.hpp"
#include "g2_2025_interfaces/msg/exam.hpp"
@@ -42,10 +44,12 @@ private:
std::vector<StudentCourse> 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