{"id":20110915,"url":"https://github.com/nohomey/linux-device-driven-4-players-2048-clone","last_synced_at":"2026-06-10T15:31:04.797Z","repository":{"id":86019520,"uuid":"54848292","full_name":"NoHomey/linux-device-driven-4-players-2048-clone","owner":"NoHomey","description":"Repository for a school homework for the Embedded systems programming practice course in ELSYS (TUES)","archived":false,"fork":false,"pushed_at":"2020-11-17T15:13:01.000Z","size":84,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T18:35:59.051Z","etag":null,"topics":["device-driver","elsys","game","homework","kernel-modules"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NoHomey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-27T21:10:57.000Z","updated_at":"2020-11-17T15:13:24.000Z","dependencies_parsed_at":"2023-03-07T14:30:16.314Z","dependency_job_id":null,"html_url":"https://github.com/NoHomey/linux-device-driven-4-players-2048-clone","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NoHomey/linux-device-driven-4-players-2048-clone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoHomey%2Flinux-device-driven-4-players-2048-clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoHomey%2Flinux-device-driven-4-players-2048-clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoHomey%2Flinux-device-driven-4-players-2048-clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoHomey%2Flinux-device-driven-4-players-2048-clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NoHomey","download_url":"https://codeload.github.com/NoHomey/linux-device-driven-4-players-2048-clone/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoHomey%2Flinux-device-driven-4-players-2048-clone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34159249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["device-driver","elsys","game","homework","kernel-modules"],"created_at":"2024-11-13T18:14:00.719Z","updated_at":"2026-06-10T15:31:04.790Z","avatar_url":"https://github.com/NoHomey.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# linux-device-driven-4-players-2048-clone\nRepository for a school homework for the **Embedded systems programming practice** course in ***ELSYS (TUES) - Technological shcool \"Electronic systems\"***.\n\nThe task for the homework was to:\n\n 1. Create a game of your choice based on modern embedded system;\n 2. Make it distributed (split the input from the output);\n 3. 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;\n 4. Both the input and the output should be kernel based (device driver for each should be written);\n 5. The input should be interrupts driven driver;\n 6. The output should be classic device driver (`ioctl` may be used but it shouldn't be the core of the driver);\n 7. 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);\n 8. The game should be playable at the moment of project presentation;\n 9. Homework should be done by two students and source controll should be used;\n 10. There should be project separation and the repository should contain AUTHORS.md describing what each student did.\n\nThe homework result is:\n\n 1. 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;\n 2. ✓\n 3. Serial (UART) hardware interface has been chosen as beeing the easiest to use from (I2C, SPI and UART);\n 4. ✓\n 5. ✓\n 6. ✓\n 7. ✓\n 8. ✓\n 9. ✓\n 10. ✓\n\nProject structure:\n\n - game - contains the game logic code\n - lib - contains device drivers configuration and controlling code\n - kernel_modules - contains the kernel modules source code\n - debug - contains code for debuging comunication between the two RPIs\n\nHomeworks was done by me \\\u003cIvo Stratev @NoHomey\\\u003e and \\\u003cBorislav Stratev @naganu\\\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnohomey%2Flinux-device-driven-4-players-2048-clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnohomey%2Flinux-device-driven-4-players-2048-clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnohomey%2Flinux-device-driven-4-players-2048-clone/lists"}