diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp index 6d37d9203034e55d46c2cbae2903cec7d5c220b1..dd2a56edbbdb976f2b6d09552fc98c5e2eb11801 100644 --- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp +++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateMemory.cpp @@ -164,7 +164,7 @@ namespace armarx::armem::server::robot_state { robotUnit.writer.run( robotUnit.pollFrequency, robotUnit.dataQueue, robotUnit.dataMutex, - iceMemory, localizationSegment, workingMemoryMutex + iceMemory, localizationSegment ); }, "Robot State Writer"); diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.cpp b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.cpp index 8b49307bd3b52f4cefdbd8adc350d721e3f0f10d..e4b2df5fc14dae323d90631b44f4a82eb97e795e 100644 --- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.cpp +++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.cpp @@ -65,11 +65,9 @@ namespace armarx::armem::server::robot_state } - void RobotStateWriter::run( - float pollFrequency, - std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex, - MemoryToIceAdapter& memory, localization::Segment& localizationSegment, - std::mutex& workingMemoryMutex) + void RobotStateWriter::run(float pollFrequency, + std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex, + MemoryToIceAdapter& memory, localization::Segment& localizationSegment) { CycleUtil cycle(static_cast<int>(1000.f / pollFrequency)); while (task and not task->isStopped()) @@ -97,9 +95,9 @@ namespace armarx::armem::server::robot_state armem::CommitResult result; { - std::scoped_lock lock(workingMemoryMutex); endLock = std::chrono::high_resolution_clock::now(); + // Commits locks the core segment. result = memory.commit(update.proprioception); endProprioception = std::chrono::high_resolution_clock::now(); diff --git a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.h b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.h index 8111357d24728f4670719a1d9a991ac12083da1c..93ba74d2d9d622f4d72d1d5a4d08acd97f3eb64b 100644 --- a/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.h +++ b/source/RobotAPI/components/armem/server/RobotStateMemory/RobotStateWriter.h @@ -61,8 +61,7 @@ namespace armarx::armem::server::robot_state void run(float pollFrequency, std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex, MemoryToIceAdapter& memory, - localization::Segment& localizationSegment, - std::mutex& workingMemoryMutex + localization::Segment& localizationSegment );