AcquisitionDevice: Completion queue is handled by particular implementation of the device

This commit is contained in:
2023-04-25 15:58:07 +02:00
parent f01f2e79d1
commit bf2a23ef7e
15 changed files with 64 additions and 71 deletions

View File

@@ -15,10 +15,6 @@ void MockAcquisitionDevice::HW_WriteActionRegister(const ActionConfig *job) {
void MockAcquisitionDevice::HW_StartAction() {}
Completion MockAcquisitionDevice::ReadCompletion() {
return mailbox_fifo.GetBlocking();
}
void MockAcquisitionDevice::HW_SetCancelDataCollectionBit() {
if (logger)
logger->Info("MockAcquisitionDevice cancelling " + std::to_string(data_stream));
@@ -36,14 +32,10 @@ bool MockAcquisitionDevice::HW_IsIdle() const {
MockAcquisitionDevice::MockAcquisitionDevice(uint16_t data_stream, size_t in_frame_buffer_size_modules)
: AcquisitionDevice(data_stream) {
max_modules = 16;
MapBuffersStandard(in_frame_buffer_size_modules,
(3 + 3 * 16) * max_modules + frames_int_pkt_gen, -1);
MapBuffersStandard(in_frame_buffer_size_modules, 1, -1);
max_handle = in_frame_buffer_size_modules;
mailbox_fifo.Put(Completion{.type = Completion::Type::Start});
work_completion_queue.Put(Completion{.type = Completion::Type::Start});
}
void MockAcquisitionDevice::SendCompletion(uint32_t handle, uint16_t module_number, uint64_t frame_number) {
@@ -55,7 +47,7 @@ void MockAcquisitionDevice::SendCompletion(uint32_t handle, uint16_t module_numb
c.packet_mask[0] = UINT64_MAX;
c.packet_mask[1] = UINT64_MAX;
c.packet_count = 128;
mailbox_fifo.Put(c);
work_completion_queue.Put(c);
}
void MockAcquisitionDevice::AddModule(uint64_t frame_number, uint16_t module_number, const uint16_t *data) {
@@ -74,10 +66,11 @@ void MockAcquisitionDevice::AddModule(uint64_t frame_number, uint16_t module_num
}
void MockAcquisitionDevice::Terminate() {
mailbox_fifo.Put(Completion{
work_completion_queue.Put(Completion{
.type = Completion::Type::End,
.frame_number = current_handle * 128
});
work_completion_queue.Put(Completion{.type = Completion::Type::Start});
}
uint64_t MockAcquisitionDevice::HW_GetMACAddress() const {