Repository for a school homework for the Embedded systems programming practice course in ELSYS (TUES) - Technological shcool "Electronic systems".
The task for the homework was to:
- Create a game of your choice based on modern embedded system;
- Make it distributed (split the input from the output);
- Choose the communication hardware interface: it needs to be wired comunication (Ethernet port is not allowed) and it should be self configured and only standart file operations for kernel modules are allowed for controlling the interface;
- Both the input and the output should be kernel based (device driver for each should be written);
- The input should be interrupts driven driver;
- The output should be classic device driver (
ioctl
may be used but it shouldn't be the core of the driver); - Kernel modules should be configurable and should have a default configuration (it should be posssible to change the hardware wiring and the drivers should function without the need to change their source code);
- The game should be playable at the moment of project presentation;
- Homework should be done by two students and source controll should be used;
- There should be project separation and the repository should contain AUTHORS.md describing what each student did.
The homework result is:
- As a game a unique clone of the popular 2048 game has been made and Raspberry Pi 2 was chosen as an embedded system platform;
- ✓
- Serial (UART) hardware interface has been chosen as beeing the easiest to use from (I2C, SPI and UART);
- ✓
- ✓
- ✓
- ✓
- ✓
- ✓
- ✓
Project structure:
- game - contains the game logic code
- lib - contains device drivers configuration and controlling code
- kernel_modules - contains the kernel modules source code
- debug - contains code for debuging comunication between the two RPIs
Homeworks was done by me <Ivo Stratev @NoHomey> and <Borislav Stratev @naganu>.