This is the Project repository for the Advanced Operating Systems course of the Master's Degree Computer Science and Engineering at Politecnico di Milano.
The main goal of the project is to configure a MCU board, ST Microelectronics STM32 F072RBT6DISCOVERY, in order to generate two PWM outputs that control the functioning of a pump-based liquid cooler for PC.
To achieve this behavior, we were to leverage Miosix, an open source embedded Operating System that we used to interact with the board itself.
Miosix kernel is used as submodule as specified in official wiki page. In order to build the project, first clone the repository. Then use the command
git submodule init
git submodule update
In order to access what the board prints on screen, after connecting the board to the computer, you should use the command:
screen /dev/ttyUSB0 115200
You can then exit screen by pressing the keys combination Ctrl+A then K then Y.
Usage instructions are provided with the interface. Here is an example of interaction
+------------------------------------------------------------+
| Welcome to Computer liquid-cooling interface card v1.0! |
+------------------------------------------------------------+
Usage: channel duty_cycle
- channel must be 1 or 2
- duty_cycle must be within 0 and 100
Remember: PA8 => channel 1, PB14 => channel 2
1 75 // user-provided
Applying 75% to channel 1