diff options
author | Nick Brassel <[email protected]> | 2024-05-30 12:00:41 +1000 |
---|---|---|
committer | GitHub <[email protected]> | 2024-05-30 12:00:41 +1000 |
commit | 6ef97172889ccd5db376b2a9f8825489e24fdac4 (patch) | |
tree | 334e3bf41c8554d4bee73a140822f95f60eb64e9 /docs/feature_hd44780.md | |
parent | 395766657ff98a4b1fd0dcba5917557f8acbb9e4 (diff) | |
download | qmk_firmware-6ef97172889ccd5db376b2a9f8825489e24fdac4.tar.gz qmk_firmware-6ef97172889ccd5db376b2a9f8825489e24fdac4.zip |
Vitepress conversion of docs. (#23795)
Diffstat (limited to 'docs/feature_hd44780.md')
-rw-r--r-- | docs/feature_hd44780.md | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/docs/feature_hd44780.md b/docs/feature_hd44780.md index dcbd656bbe..6b4209333b 100644 --- a/docs/feature_hd44780.md +++ b/docs/feature_hd44780.md @@ -1,6 +1,6 @@ -# HD44780 LCD Driver :id=hd44780-lcd-driver +# HD44780 LCD Driver {#hd44780-lcd-driver} -## Supported Hardware :id=supported-hardware +## Supported Hardware {#supported-hardware} LCD modules using [HD44780U](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf) IC or equivalent, communicating in 4-bit mode. @@ -11,7 +11,7 @@ LCD modules using [HD44780U](https://www.sparkfun.com/datasheets/LCD/HD44780.pdf To run these modules at 3.3V, an additional MAX660 voltage converter IC must be soldered on, along with two 10µF capacitors. See [this page](https://www.codrey.com/electronic-circuits/hack-your-16x2-lcd/) for more details. -## Usage :id=usage +## Usage {#usage} Add the following to your `rules.mk`: @@ -19,7 +19,7 @@ Add the following to your `rules.mk`: HD44780_ENABLE = yes ``` -## Basic Configuration :id=basic-configuration +## Basic Configuration {#basic-configuration} Add the following to your `config.h`: @@ -33,9 +33,9 @@ Add the following to your `config.h`: |`HD44780_DISPLAY_LINES`|`2` |The number of visible lines on the display | |`HD44780_WRAP_LINES` |*Not defined* |If defined, input characters will wrap to the next line | -## Examples :id=examples +## Examples {#examples} -### Hello World :id=example-hello-world +### Hello World {#example-hello-world} Add the following to your `keymap.c`: @@ -46,7 +46,7 @@ void keyboard_post_init_user(void) { } ``` -### Custom Character Definition :id=example-custom-character +### Custom Character Definition {#example-custom-character} Up to eight custom characters can be defined. This data is stored in the Character Generator RAM (CGRAM), and is not persistent across power cycles. @@ -77,15 +77,15 @@ void keyboard_post_init_user(void) { } ``` -## API :id=api +## API {#api} -### `void hd44780_init(bool cursor, bool blink)` :id=api-hd44780-init +### `void hd44780_init(bool cursor, bool blink)` {#api-hd44780-init} Initialize the display. This function should be called only once, before any of the other functions can be called. -#### Arguments :id=api-hd44780-init-arguments +#### Arguments {#api-hd44780-init-arguments} - `bool cursor` Whether to show the cursor. @@ -94,7 +94,7 @@ This function should be called only once, before any of the other functions can --- -### `void hd44780_clear(void)` :id=api-hd44780-clear +### `void hd44780_clear(void)` {#api-hd44780-clear} Clear the display. @@ -102,7 +102,7 @@ This function is called on init. --- -### `void hd44780_home(void)` :id=api-hd44780-home +### `void hd44780_home(void)` {#api-hd44780-home} Move the cursor to the home position. @@ -110,13 +110,13 @@ This function is called on init. --- -### `void hd44780_on(bool cursor, bool blink)` :id=api-hd44780-on +### `void hd44780_on(bool cursor, bool blink)` {#api-hd44780-on} Turn the display on, and/or set the cursor properties. This function is called on init. -#### Arguments :id=api-hd44780-on-arguments +#### Arguments {#api-hd44780-on-arguments} - `bool cursor` Whether to show the cursor. @@ -125,17 +125,17 @@ This function is called on init. --- -### `void hd44780_off(void)` :id=api-hd44780-off +### `void hd44780_off(void)` {#api-hd44780-off} Turn the display off. --- -### `void hd44780_set_cursor(uint8_t col, uint8_t line)` :id=api-hd44780-set-cursor +### `void hd44780_set_cursor(uint8_t col, uint8_t line)` {#api-hd44780-set-cursor} Move the cursor to the specified position on the display. -#### Arguments :id=api-hd44780-set-cursor-arguments +#### Arguments {#api-hd44780-set-cursor-arguments} - `uint8_t col` The column number to move to, from 0 to 15 on 16x2 displays. @@ -144,48 +144,48 @@ Move the cursor to the specified position on the display. --- -### `void hd44780_putc(char c)` :id=api-hd44780-putc +### `void hd44780_putc(char c)` {#api-hd44780-putc} Print a character to the display. The newline character `\n` will move the cursor to the start of the next line. The exact character shown may depend on the ROM code of your particular display - refer to the datasheet for the full character set. -#### Arguments :id=api-hd44780-putc-arguments +#### Arguments {#api-hd44780-putc-arguments} - `char c` The character to print. --- -### `void hd44780_puts(const char *s)` :id=api-hd44780-puts +### `void hd44780_puts(const char *s)` {#api-hd44780-puts} Print a string of characters to the display. -#### Arguments :id=api-hd44780-puts-arguments +#### Arguments {#api-hd44780-puts-arguments} - `const char *s` The string to print. --- -### `void hd44780_puts_P(const char *s)` :id=api-hd44780-puts-p +### `void hd44780_puts_P(const char *s)` {#api-hd44780-puts-p} Print a string of characters from PROGMEM to the display. On ARM devices, this function is simply an alias of `hd44780_puts()`. -#### Arguments :id=api-hd44780-puts-p-arguments +#### Arguments {#api-hd44780-puts-p-arguments} - `const char *s` The PROGMEM string to print (ie. `PSTR("Hello")`). --- -### `void hd44780_define_char(uint8_t index, uint8_t *data)` :id=api-hd44780-define-char +### `void hd44780_define_char(uint8_t index, uint8_t *data)` {#api-hd44780-define-char} Define a custom character. -#### Arguments :id=api-hd44780-define-char-arguments +#### Arguments {#api-hd44780-define-char-arguments} - `uint8_t index` The index of the custom character to define, from 0 to 7. @@ -194,13 +194,13 @@ Define a custom character. --- -### `void hd44780_define_char_P(uint8_t index, const uint8_t *data)` :id=api-hd44780-define-char-p +### `void hd44780_define_char_P(uint8_t index, const uint8_t *data)` {#api-hd44780-define-char-p} Define a custom character from PROGMEM. On ARM devices, this function is simply an alias of `hd44780_define_char()`. -#### Arguments :id=api-hd44780-define-char-p-arguments +#### Arguments {#api-hd44780-define-char-p-arguments} - `uint8_t index` The index of the custom character to define, from 0 to 7. @@ -209,21 +209,21 @@ On ARM devices, this function is simply an alias of `hd44780_define_char()`. --- -### `bool hd44780_busy(void)` :id=api-hd44780-busy +### `bool hd44780_busy(void)` {#api-hd44780-busy} Indicates whether the display is currently processing, and cannot accept instructions. -#### Return Value :id=api-hd44780-busy-arguments +#### Return Value {#api-hd44780-busy-arguments} `true` if the display is busy. --- -### `void hd44780_write(uint8_t data, bool isData)` :id=api-hd44780-write +### `void hd44780_write(uint8_t data, bool isData)` {#api-hd44780-write} Write a byte to the display. -#### Arguments :id=api-hd44780-write-arguments +#### Arguments {#api-hd44780-write-arguments} - `uint8_t data` The byte to send to the display. @@ -232,67 +232,67 @@ Write a byte to the display. --- -### `uint8_t hd44780_read(bool isData)` :id=api-hd44780-read +### `uint8_t hd44780_read(bool isData)` {#api-hd44780-read} Read a byte from the display. -#### Arguments :id=api-hd44780-read-arguments +#### Arguments {#api-hd44780-read-arguments} - `bool isData` Whether to read the current cursor position, or the character at the cursor. -#### Return Value :id=api-hd44780-read-return +#### Return Value {#api-hd44780-read-return} If `isData` is `true`, the returned byte will be the character at the current DDRAM address. Otherwise, it will be the current DDRAM address and the busy flag. --- -### `void hd44780_command(uint8_t command)` :id=api-hd44780-command +### `void hd44780_command(uint8_t command)` {#api-hd44780-command} Send a command to the display. Refer to the datasheet and `hd44780.h` for the valid commands and defines. This function waits for the display to clear the busy flag before sending the command. -#### Arguments :id=api-hd44780-command-arguments +#### Arguments {#api-hd44780-command-arguments} - `uint8_t command` The command to send. --- -### `void hd44780_data(uint8_t data)` :id=api-hd44780-data +### `void hd44780_data(uint8_t data)` {#api-hd44780-data} Send a byte of data to the display. This function waits for the display to clear the busy flag before sending the data. -#### Arguments :id=api-hd44780-data-arguments +#### Arguments {#api-hd44780-data-arguments} - `uint8_t data` The byte of data to send. --- -### `void hd44780_set_cgram_address(uint8_t address)` :id=api-hd44780-set-cgram-address +### `void hd44780_set_cgram_address(uint8_t address)` {#api-hd44780-set-cgram-address} Set the CGRAM address. This function is used when defining custom characters. -#### Arguments :id=api-hd44780-set-cgram-address-arguments +#### Arguments {#api-hd44780-set-cgram-address-arguments} - `uint8_t address` The CGRAM address to move to, from `0x00` to `0x3F`. --- -### `void hd44780_set_ddram_address(uint8_t address)` :id=api-hd44780-set-ddram-address +### `void hd44780_set_ddram_address(uint8_t address)` {#api-hd44780-set-ddram-address} Set the DDRAM address. This function is used when printing characters to the display, and setting the cursor. -#### Arguments :id=api-hd44780-set-ddram-address-arguments +#### Arguments {#api-hd44780-set-ddram-address-arguments} - `uint8_t address` The DDRAM address to move to, from `0x00` to `0x7F`. |