From e5a1919c040c69cb8c55001509735c12f39465ae Mon Sep 17 00:00:00 2001
From: niwciu <57457942+niwciu@users.noreply.github.com>
Date: Mon, 15 Jan 2024 18:02:56 +0100
Subject: [PATCH] ReadMe: update
---
ReadMe.md | 43 +++++++++++++++++--------------------------
1 file changed, 17 insertions(+), 26 deletions(-)
diff --git a/ReadMe.md b/ReadMe.md
index 052b47e..6a15b2c 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -6,12 +6,11 @@
- [1. Requirements](#1-requirements)
- [2. Schematic for possible hardware configurations](#2-schematic-for-possible-hardware-configurations)
- [LCD\_HD44780 library src folders file structure and description](#lcd_hd44780-library-src-folders-file-structure-and-description)
- - [1. lcd\_driver\_intrface\_example\_implementations](#1-lcd_driver_intrface_example_implementations)
- - [2. lcd\_hd44780\_config.h](#2-lcd_hd44780_configh)
- - [3. lcd\_hd44780\_def\_char.h](#3-lcd_hd44780_def_charh)
- - [4. lcd\_hd44780\_interface.h](#4-lcd_hd44780_interfaceh)
- - [5. lcd\_hd44780.c](#5-lcd_hd44780c)
- - [6. lcd\_hd44780.h](#6-lcd_hd44780h)
+ - [1. lcd\_hd44780\_config.h](#1-lcd_hd44780_configh)
+ - [2. lcd\_hd44780\_def\_char.h](#2-lcd_hd44780_def_charh)
+ - [3. lcd\_hd44780\_interface.h](#3-lcd_hd44780_interfaceh)
+ - [4. lcd\_hd44780.c](#4-lcd_hd44780c)
+ - [5. lcd\_hd44780.h](#5-lcd_hd44780h)
- [Examples](#examples)
- [1. STM32G071RB -bare metal implementation](#1-stm32g071rb--bare-metal-implementation)
- [Requirements for compiling and running the example:](#requirements-for-compiling-and-running-the-example)
@@ -72,10 +71,6 @@
```bash
LCD_HD44780
├───src
-│ ├───lcd_driver_intrface_example_implementations
-│ │ ├───
-│ │ ├───
-│ │ ├───
│ ├───lcd_hd44780_config.h
│ ├───lcd_hd44780_def_char.h
│ ├───lcd_hd44780_interface.h
@@ -83,24 +78,19 @@ LCD_HD44780
│ ├───lcd_hd44780.h
...
```
-#### 1. lcd_driver_intrface_example_implementations
- The folder that contains a template of lcd_driver_interface implementation and examples of lcd_driver_interface_implementation for different hardware
- - file 1
- - file 2
- - file 3
-#### 2. lcd_hd44780_config.h
+#### 1. lcd_hd44780_config.h
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
- Which functions from LCD_HD44780 lib you would like to compile and use in your project.
-#### 3. lcd_hd44780_def_char.h
+#### 2. lcd_hd44780_def_char.h
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 code needs.
-#### 4. lcd_hd44780_interface.h
+#### 3. lcd_hd44780_interface.h
Header file with library interface declaration that needs to be implemented on the drivers' side. Please look at the code examples in the "examples" folder and search for the "LCD_IO_driver.c" file for more details.
-#### 5. lcd_hd44780.c
+#### 4. lcd_hd44780.c
Library main C file
-#### 6. lcd_hd44780.h
+#### 5. lcd_hd44780.h
Library main header file with available library functions.
## Examples
### 1. STM32G071RB -bare metal implementation
@@ -302,7 +292,7 @@ const struct LCD_IO_driver_interface_struct *LCD_IO_driver_interface_get(void)
}
```
-It's a basic interface that connects the library with your HW driver layer in the application without making any dependencies between them.
In **.src/lcd_driver_intrface_example_implementations** folder you can find a template with empty definitions of all required interface elements as well as a few files with examples of implementations for different microcontrollers. Additional details of the implementation in the project can be also found in **./examples** folder.
+It's a basic interface that connects the library with your HW driver layer in the application without making any dependencies between them.
In **.examples/lcd_driver_intrface_example_implementations** folder you can find a template with empty definitions of all required interface elements as well as a few files with examples of implementations for different microcontrollers. Additional details of the implementation in the project can be also found in ready to compile examples.
## How to use in your Project - advanced case
@@ -359,7 +349,7 @@ It's a basic interface that connects the library with your HW driver layer in th
}
```
- It's a basic interface that connects the library with your HW driver layer in the application without making any dependencies between them.
In **.src/lcd_driver_intrface_example_implementations** folder you can find a template with empty definitions of all required interface elements as well as a few files with examples of implementation for different microcontrollers. Additional details of the implementation in the project can be also found in **./examples** folder.
+ It's a basic interface that connects the library with your HW driver layer in the application without making any dependencies between them.
In **.examples/lcd_driver_intrface_example_implementations** folder you can find a template with empty definitions of all required interface elements as well as a few files with examples of implementation for different microcontrollers. Additional details of the implementation in the project can be also found in ready to compile examples.
## How to define custom characters and custom character banks.
### Example of Correspondence between EPROM Address Data and Character Pattern (5 × 8 Dots)
@@ -451,9 +441,10 @@ LCD_HD44780
├───examples
│ ├───ATMEGA328P_ARDUINO_UNO_R3
│ ├───config
-│ ├───STM32F030R8
-│ ├───STM32F091RB
-│ └───STM32G070RB
+│ ├───doc
+│ ├───lcd_driver_intrface_example_implementations
+│ └───STM32G071RB_NUCLEO_BARE_METAL
+│ └───STM32G474RE_NUCLEO_CUBE_IDE_LL
├───reports
│ ├───Code_Coverage
│ └───Cyclomatic_Complexity
@@ -470,7 +461,7 @@ Folder description:
- .github -> Folder with githubactions .yml scripts
- .vscode -> folder with vscode example settings for luch.json and tasks.json
- 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
+- examples -> folder with example hardware implementations contain ready to compile examples for different uC. In this folder you can find also examples and templates of lcd_driver_interface implementations.
- 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