aboutsummaryrefslogtreecommitdiff
path: root/hsm-cam/FFI/Cam.cpp
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2025-08-25 03:05:35 +0000
committerPaul Oliver <contact@pauloliver.dev>2025-08-27 04:17:11 +0000
commit3806bd1f5ce56afdbb4cc0c1ed54d53e25603be2 (patch)
treee8eb9efb2b6c1abfaa0569b7c60b2f371fb215ef /hsm-cam/FFI/Cam.cpp
parentc6bd9536038af5949924d1ad20a121bb10553300 (diff)
Improves `hsm-cam`
- Moves C++ constants to Haskell side - Uses better names for request callback related variables - Captures and redirects libcamera's internal logging
Diffstat (limited to 'hsm-cam/FFI/Cam.cpp')
-rw-r--r--hsm-cam/FFI/Cam.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/hsm-cam/FFI/Cam.cpp b/hsm-cam/FFI/Cam.cpp
index 9e371c1..bfdecf6 100644
--- a/hsm-cam/FFI/Cam.cpp
+++ b/hsm-cam/FFI/Cam.cpp
@@ -8,7 +8,7 @@ using namespace libcamera;
using namespace std;
HsLogger g_logger;
-HsCallback g_callback;
+HsRequestCallback g_request_callback;
unique_ptr<CameraManager> g_manager;
shared_ptr<Camera> g_camera;
unique_ptr<CameraConfiguration> g_config;
@@ -23,11 +23,11 @@ logMsg(Severity severity, const format_string<Args...> fmt, const Args &...args)
}
void
-request_complete(Request *request)
+internal_request_callback(Request *request)
{
int sequence = request->buffers().begin()->second->metadata().sequence;
logMsg(Trace, "Completed request #{}", sequence);
- g_callback();
+ g_request_callback();
}
extern "C" void
@@ -38,10 +38,10 @@ register_logger(HsLogger hs_logger)
}
extern "C" void
-register_callback(HsCallback hs_callback)
+register_request_callback(HsRequestCallback hs_request_callback)
{
- g_callback = hs_callback;
- logMsg(Info, "Registered FFI callback");
+ g_request_callback = hs_request_callback;
+ logMsg(Info, "Registered FFI request callback");
}
extern "C" void
@@ -91,8 +91,8 @@ allocate_frame_buffer()
g_allocator = make_unique<FrameBufferAllocator>(g_camera);
g_allocator->allocate(g_config->at(0).stream());
- logMsg(Info, "Registering request complete callback");
- g_camera->requestCompleted.connect(request_complete);
+ logMsg(Info, "Registering internal request callback");
+ g_camera->requestCompleted.connect(internal_request_callback);
}
extern "C" void