lincketheo / lincketheo/sentinet_cpp

Add a ventilator push threaded pipe for Chris's localization idea

Open
#7 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

This is a pretty large issue, but we need a multi threaded ventilator push pipe that takes in raw data and pushes out an int int float struct that denotes position height.

Step By Step:

Assigned by:
@JonathanElm Step 1
@tlincke125 Step 2
@aacorn Step 3

1. Receive a reading from infra red sensor (I'm assuming this is simply a floating point distance, but @JonathanElm may confirm this) and be able to convert that to a viable reading on integer coordinates, floating point depth:

Essentially we need a 2d grid (this step doesn't need to worry about the grid, simply the data point) where each grid square is the depth of the stage at that point.

2. Set up a ventilator push in c++ like the one below:

```c++
#include
#include
#include
#include

using namespace std;

static mutex theLock;

void produce(int* data) {
for (int i = 1 ; i <= 5 ; ++i) {
{
lock_guard lock(theLock);
*data = i;
}
this_thread::sleep_for(chrono::milliseconds(500));
}
}

int main() {
int data = 0;
int val = 0;

// Start thread
thread t(produce, &data);

// Loop through the data until
do {
{
lock_guard lock(theLock);
if (data != 5) {
data += 12;
}
val = data;
}
cout<< "My current value " << val << endl;
} while (val != 5);
t.join();
return 0;
}

```
3. Have a real time coordinate algorithm in the high level. Will require a rolling average or whatever other method is best for making an entirely accurate mapping, then package that data up and send it to the master process.

![Blank Diagram](https://user-images.githubusercontent.com/43426648/67148602-7bd64b80-f25e-11e9-95c6-b08f7d01f11e.jpeg)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the infrared sensor integration and the master process mentioned in the issue; no repository files or tests are identified. Read the existing data flow before deciding how the threaded producer, coordinate conversion, rolling average, and output structure should fit together. Done means the full real-time path is defined and integrated, but the issue does not specify a test or acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.