Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kisvegabor/hw

Microcontroller and PC periphery and device drivers, e.g. TFT, Touch pad, SD card etc.
https://github.com/kisvegabor/hw

c drivers embedded lcd microcontroller tft touchpad

Last synced: 19 days ago
JSON representation

Microcontroller and PC periphery and device drivers, e.g. TFT, Touch pad, SD card etc.

Awesome Lists containing this project

README

        

# Periphery and device drivers

This 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).

The repository contains some drivers for microcontroller (and PC) peripheries like:
* GPIO
* UART
* SPI
* I2C
* TFT
* etc

And for devices like:
* Display controllers: e.g. SSD1963
* Touch pad controllers: e.g. XPT2046
* LED
* Buzzer
* etc

There are drivers for different microcontroller families and even for PC. You can easily change between families by modifying a define in *hw_conf.h*
because all drivers use the same API.

Currently mainly PIC microcontrollers and PC are supported:
* PIC24F/33E
* PIC32MX
* PIC32MZ
* PC

## Usage
1. Clone the repository into the root folder of your project: `git clone https://github.com/littlevgl/hw.git`
2. In your IDE add the project **root folder as include path**
3. Copy *hw/hw_conf_templ.h* as **hw_conf.h** to the project root folder
4. Delete the first `#if 0` and the last `#endif` to enable the file
5. Choose the hardware family by: `#define PSP_... 1`
6. Enable/disable or configure the components
7. To initialize the library `#include hw/hw.h` and call `per_init()` and `dev_init()`

## Remark
It is not the goal of this library to create drivers for all peripheries and functions.
When I use a new microcontroller and a new periphery I will add it.

If you are using the library in your project pleas write your drivers according to the existing ones and share them! :)