A MinixOS-based C application combining custom device drivers with a basic clock program, developed for the Computer Laboratory course at FEUP. The project integrates drivers for the timer, keyboard, mouse, RTC, and graphics into a working system that can:
- Display the current time
- Run a countdown timer
- Operate as a chronometer
This project was built to run on a special variant of MinixOS used at FEUP.
-
Custom device drivers:
- Timer
- Keyboard
- Mouse
- RTC (Real-Time Clock)
- Graphics (VBE)
-
Clock modes:
- Real-time clock
- Timer
- Chronometer
-
User interface rendered with XPM sprites
⚠️ This project is designed for the MinixOS variant provided at FEUP. Running it outside that environment may not be possible without adjustments.
-
Clone the repository and navigate to the
proj/srcfolder:git clone <repo-url> cd proj/src
-
Build the project using
make:make
-
Run the application inside the MinixOS environment using:
lcom_run proj
-
To stop the application, press the
Qkey.
This project includes full technical documentation generated with Doxygen.
-
HTML Documentation: Open
proj/doc/html/index.htmlin your browser to explore the API and code structure. -
PDF Documentation: Open
proj/doc/latex/refman.pdffor a compiled PDF reference manual.
If you want to regenerate the documentation:
cd proj/doc/Doxygen
doxygen DoxyfileThe HTML output will be generated in proj/doc/html/ and LaTeX sources in proj/doc/latex/. You can then compile the LaTeX to PDF with:
cd proj/doc/latex
makeThe result will be refman.pdf.
- Afonso Neves ([email protected])
- Tiago Oliveira ([email protected])
- Tiago Martins ([email protected])
- Tomás Ferreira ([email protected])
This project is distributed under the terms of the MIT License.