First argument as config.env is mandatory

This commit is contained in:
proitlab committed 2026-07-06 10:39:46 +07:00
1 parent d66af69c42
commit ccb1c89b12
11 files changed
+118 -3

No files matched your search

+8
View File
@@ -406,6 +406,14 @@ void BatchStore::start_cutoff_watcher() {
t.detach();
}
void BatchStore::ping_activity() {
std::lock_guard<std::mutex> lock(state_mutex_);
if (!current_state_.is_null()) {
current_state_["last_detection_time"] = now_iso();
reset_batch_timer();
}
}
void BatchStore::shutdown() {
shutdown_flag_ = true;
batch_timer_running_ = false;
+1
View File
@@ -34,6 +34,7 @@ public:
std::pair<int, bool> record_ayam_crossing(int track_id);
bool record_talenan_crossing(int track_id);
void end_batch(const std::string& closed_by = "manual");
void ping_activity();
void shutdown();
private:
+25 -2
View File
@@ -5,6 +5,7 @@
#include "rknn_yolo.hpp"
#include "drawing.hpp"
#include "nms.hpp"
#include "version.hpp"
#include <opencv2/opencv.hpp>
#include <Eigen/Dense>
@@ -98,10 +99,30 @@ int main(int argc, char* argv[]) {
signal(SIGINT, signal_handler);
signal(SIGTERM, signal_handler);
const char* env_path = argc > 1 ? argv[1] : nullptr;
g_config.load_from_env(env_path);
if (argc < 2) {
std::cout << "ByteTrack Counter (C++)" << std::endl;
std::cout << "Version: " << version::GIT_COMMIT
<< " | branch: " << version::GIT_BRANCH
<< " | built: " << version::BUILD_DATE << " " << version::BUILD_TIME
<< " | rknn: " << (version::BUILD_RKNN ? "ON" : "OFF");
if (!version::GIT_TAG.empty())
std::cout << " | tag: " << version::GIT_TAG;
std::cout << std::endl;
std::cout << "Usage: bytetrack-counter <config.env>" << std::endl;
std::cout << " config.env path to environment configuration file (required)" << std::endl;
return 1;
}
g_config.load_from_env(argv[1]);
std::cout << "Starting ByteTrack Counter (C++)" << std::endl;
std::cout << "Version: " << version::GIT_COMMIT
<< " | branch: " << version::GIT_BRANCH
<< " | built: " << version::BUILD_DATE << " " << version::BUILD_TIME
<< " | rknn: " << (version::BUILD_RKNN ? "ON" : "OFF");
if (!version::GIT_TAG.empty())
std::cout << " | tag: " << version::GIT_TAG;
std::cout << std::endl;
std::cout << "Camera: " << g_config.camera_name << std::endl;
std::cout << "Source: " << g_config.source << std::endl;
std::cout << "Model: " << g_config.model_path << " | imgsz=" << g_config.imgsz
@@ -244,6 +265,8 @@ int main(int argc, char* argv[]) {
int na = static_cast<int>(ayam_boxes.size());
int nt = static_cast<int>(talenan_boxes.size());
if (na > 0) store.ping_activity();
Eigen::MatrixXf ayam_mat(na, 4), talenan_mat(nt, 4);
Eigen::VectorXf ayam_scores_vec(na), talenan_scores_vec(nt);
+15
View File
@@ -0,0 +1,15 @@
#pragma once
#include <string>
namespace version {
const std::string GIT_COMMIT = "@GIT_COMMIT@";
const std::string GIT_BRANCH = "@GIT_BRANCH@";
const std::string GIT_TAG = "@GIT_TAG@";
const std::string BUILD_DATE = "@BUILD_DATE@";
const std::string BUILD_TIME = "@BUILD_TIME@";
const int BUILD_YEAR = @BUILD_YEAR@;
const bool BUILD_RKNN = @HAS_RKNN_VAL@;
}