Skip to content
Snippets Groups Projects
Commit 276312cf authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Update RobotStateWriter

parent e127aba6
No related branches found
No related tags found
2 merge requests!185Clean up interfaces and unneeded code in memory core classes,!178Draft: Make RobotStateMemory ready
This commit is part of merge request !178. Comments created here will be created in the context of that merge request.
...@@ -164,7 +164,7 @@ namespace armarx::armem::server::robot_state ...@@ -164,7 +164,7 @@ namespace armarx::armem::server::robot_state
{ {
robotUnit.writer.run( robotUnit.writer.run(
robotUnit.pollFrequency, robotUnit.dataQueue, robotUnit.dataMutex, robotUnit.pollFrequency, robotUnit.dataQueue, robotUnit.dataMutex,
iceMemory, localizationSegment, workingMemoryMutex iceMemory, localizationSegment
); );
}, "Robot State Writer"); }, "Robot State Writer");
......
...@@ -65,11 +65,9 @@ namespace armarx::armem::server::robot_state ...@@ -65,11 +65,9 @@ namespace armarx::armem::server::robot_state
} }
void RobotStateWriter::run( void RobotStateWriter::run(float pollFrequency,
float pollFrequency, std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex,
std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex, MemoryToIceAdapter& memory, localization::Segment& localizationSegment)
MemoryToIceAdapter& memory, localization::Segment& localizationSegment,
std::mutex& workingMemoryMutex)
{ {
CycleUtil cycle(static_cast<int>(1000.f / pollFrequency)); CycleUtil cycle(static_cast<int>(1000.f / pollFrequency));
while (task and not task->isStopped()) while (task and not task->isStopped())
...@@ -97,9 +95,9 @@ namespace armarx::armem::server::robot_state ...@@ -97,9 +95,9 @@ namespace armarx::armem::server::robot_state
armem::CommitResult result; armem::CommitResult result;
{ {
std::scoped_lock lock(workingMemoryMutex);
endLock = std::chrono::high_resolution_clock::now(); endLock = std::chrono::high_resolution_clock::now();
// Commits locks the core segment.
result = memory.commit(update.proprioception); result = memory.commit(update.proprioception);
endProprioception = std::chrono::high_resolution_clock::now(); endProprioception = std::chrono::high_resolution_clock::now();
......
...@@ -61,8 +61,7 @@ namespace armarx::armem::server::robot_state ...@@ -61,8 +61,7 @@ namespace armarx::armem::server::robot_state
void run(float pollFrequency, void run(float pollFrequency,
std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex, std::queue<RobotUnitData>& dataQueue, std::mutex& dataMutex,
MemoryToIceAdapter& memory, MemoryToIceAdapter& memory,
localization::Segment& localizationSegment, localization::Segment& localizationSegment
std::mutex& workingMemoryMutex
); );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment