Purpose: Creates the shared memory and the semaphores and it forks the processes and launches the other active components.
Primitives Used: Shared memory, semaphores, file operations, fork.
Ensure you have the necessary libraries installed (ncurses).
Compile the components using make (Execute "make" on the root directory).
ps: if you cloned it from github you might need to execute "mkdir build" before building the project.
Running:
```
./build/master.
```
Operational Instructions:
UI Window:
Displays the drone's position and coordinates.
No user interaction; visualizes the drone's movement.
Keyboard Window:
Press keys to control the drone's movement.
Logs keypresses.
Watchdog Window:
Monitors and logs the status of all processes.\
Control Keys:
W (Move Up):
Increments the upward force on the drone, simulating an upward movement.
A (Move Left):
Decrements the horizontal force on the drone, simulating a leftward movement.
S (Move Down):
Decrements the downward force on the drone, simulating a downward movement.
D (Move Right):
Increments the horizontal force on the drone, simulating a rightward movement.
Q (Move Up-Left):
Simultaneously decrements horizontal force and increments upward force.
E (Move Up-Right):
Simultaneously increments horizontal force and increments upward force.
Z (Move Down-Left):
Simultaneously decrements horizontal force and decrements downward force.
C (Move Down-Right):
Simultaneously increments horizontal force and decrements downward force.
X (Stop):
Sets both horizontal and vertical forces to zero, stopping the drone.