-
Notifications
You must be signed in to change notification settings - Fork 1
1. Library structure description
LCD_HD44780
├───.github
├───doc
├───examples
│ ├───ATMEGA328P_ARDUINO_UNO_R3
│ ├───config
│ ├───doc
│ ├───ESP8266_NONOS_SDK
│ ├───lcd_driver_intrface_example_implementations
│ └───STM32G071RB_NUCLEO_BARE_METAL
│ └───STM32G474RE_NUCLEO_CUBE_IDE_LL
├───reports
│ ├───Code_Coverage
│ └───Cyclomatic_Complexity
├───src
└───test
├───hw_test
│ ├───ATMEGA328P_ARDUINO_UNO_R3
│ └───STM32F030R8_CUBE_IDE
├───lcd_hd44780
├───template
└───unity
- .github -> folder with githubactions .yml scripts for running Github Actions
- doc -> folder for any documentation needed or created in the project
- examples -> folder with example hardware implementations contain ready to compile examples for different uC and templates of lcd_driver_interface implementations.
- ATMEGA328P_ARDUINO_UNO_R3 -> example project
- config -> tollchain files needed to run the examples
- doc -> files used for examples documentation
- ESP8266_NONOS_SDK -> example project
- lcd_driver_intrface_example_implementations -> as named
- STM32G071RB_NUCLEO_BARE_METAL -> example project
- STM32G474RE_NUCLEO_CUBE_IDE_LL -> example project
- reports -> folder with generated reports from last released version.
- CCR -> GCOVR output report
- CCMR -> Lizard Code Complexity Metrix output report.
- src -> library source files
- test -> folder where all tests are written. The folder contains following subfolders:
- hw_test -> folder with configurations/setups for specific ucontrollers to make integration tests
- lcd_hd44780 -> folder where all unit tests for lcd_hd44780 module are kept
- template -> empty setup for uint test (copy, paste, rename, edit for new module unit testing)
- unity -> unity framework
LCD_HD44780
├───src
│ ├───lcd_hd44780_avr_specific.c
│ ├───lcd_hd44780_avr_specific.h
│ ├───lcd_hd44780_config.h
│ ├───lcd_hd44780_def_char.h
│ ├───lcd_hd44780_driver_commands.h
│ ├───lcd_hd44780_GPIO_interface.h
│ ├───lcd_hd44780.c
│ ├───lcd_hd44780.h
...
C file with functions specific to AVR microcontrollers. When compiling library for AVR microcontroller, those files need to bee added to the project. (look at the CMakeLists.txt files in examples)
Header file with functions specific to AVR microcontrollers. When compiling library for AVR microcontroller, those files need to bee added to the project. (look at the CMakeLists.txt files in examples)
Header file for configuration of the library. In this file, it's required to configure:
- LCD type
- Usage of RW Signal/PIN
- Usage of LCD buffer for displaying the content on the LCD
- Backlight enable pin active state
- Which functions from LCD_HD44780 lib you would like to compile and use in your project (by default all functions are added to compilation).
Header file for defining user special characters and user special characters banks. Each bank can contain up to 8 characters that are user-defined combinations of characters from defined user-special characters. This allows to creation of different combinations of special characters that can be loaded depending on current application needs.
Header file with predefined commands for HD44780 driver (taken from HD44780 documentation).
Header file with library interface declaration that needs to be implemented on the drivers' side. Please look at the code examples in the "examples/lcd_driver_intrface_example_implementations" for more details.
Library main C file
Library main header file with available library functions.