{"id":16237637,"url":"https://github.com/kisvegabor/hw","last_synced_at":"2025-03-19T16:30:19.938Z","repository":{"id":89730046,"uuid":"60671236","full_name":"kisvegabor/hw","owner":"kisvegabor","description":"Microcontroller and PC periphery and device drivers, e.g. TFT, Touch pad, SD card etc.","archived":false,"fork":false,"pushed_at":"2020-07-20T10:57:34.000Z","size":170,"stargazers_count":11,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T08:45:42.858Z","etag":null,"topics":["c","drivers","embedded","lcd","microcontroller","tft","touchpad"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kisvegabor.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}},"created_at":"2016-06-08T05:35:44.000Z","updated_at":"2020-09-11T16:29:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"cb939d50-da0e-41dc-9ddd-1cf736bf5708","html_url":"https://github.com/kisvegabor/hw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kisvegabor%2Fhw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kisvegabor%2Fhw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kisvegabor%2Fhw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kisvegabor%2Fhw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kisvegabor","download_url":"https://codeload.github.com/kisvegabor/hw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244463542,"owners_count":20456906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["c","drivers","embedded","lcd","microcontroller","tft","touchpad"],"created_at":"2024-10-10T13:36:25.261Z","updated_at":"2025-03-19T16:30:19.634Z","avatar_url":"https://github.com/kisvegabor.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Periphery and device drivers\n  \nThis Hardware Library is written mainly for the Littlev Graphics Library. If you would like to create GUI for an embedded system you should visit its [repository](https://github.com/littlevgl/lvgl) or [website](http://www.gl.littlev.hu).\n\nThe repository contains some drivers for microcontroller (and PC) peripheries like:\n* GPIO\n* UART\n* SPI\n* I2C\n* TFT\n* etc\n\nAnd for devices like:\n* Display controllers: e.g. SSD1963\n* Touch pad controllers: e.g. XPT2046\n* LED\n* Buzzer\n* etc\n\nThere are drivers for different microcontroller families and even for PC. You can easily change between families by modifying a define in *hw_conf.h*\nbecause all drivers use the same API.\n\nCurrently mainly PIC microcontrollers and PC are supported:\n* PIC24F/33E\n* PIC32MX\n* PIC32MZ\n* PC\n\n## Usage\n1. Clone the repository into the root folder of your project: `git clone https://github.com/littlevgl/hw.git`\n2. In your IDE add the project **root folder as include path**\n3. Copy *hw/hw_conf_templ.h* as **hw_conf.h** to the project root folder\n4. Delete the first `#if 0` and the last `#endif` to enable the file\n5. Choose the hardware family by: `#define PSP_...   1`\n6. Enable/disable or configure the components\n7. To initialize the library `#include hw/hw.h` and call `per_init()` and `dev_init()`\n\n## Remark\nIt is not the goal of this library to create drivers for all peripheries and functions. \nWhen I use a new microcontroller and a new periphery I will add it. \n\nIf you are using the library in your project pleas write your drivers according to the existing ones and share them! :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkisvegabor%2Fhw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkisvegabor%2Fhw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkisvegabor%2Fhw/lists"}