|
|
/* ###################################################################
|
|
|
** This component module is generated by Processor Expert. Do not modify it.
|
|
|
** Filename : McuHD44780.h
|
|
|
** Project : FRDM-K64F_Generator
|
|
|
** Processor : MK64FN1M0VLL12
|
|
|
** Component : LCDHTA
|
|
|
** Version : Component 01.031, Driver 01.00, CPU db: 3.00.000
|
|
|
** Compiler : GNU C Compiler
|
|
|
** Date/Time : 2020-08-14, 06:24, # CodeGen: 679
|
|
|
** Abstract :
|
|
|
** This component implements a driver for multiple 2x16 character displays.
|
|
|
** Settings :
|
|
|
** Component name : McuHD44780
|
|
|
** HW Interface :
|
|
|
** LCD Type : generic
|
|
|
** LCD Lines : 2
|
|
|
** Characters per Line : 16
|
|
|
** Line Addresses :
|
|
|
** Line 1 : 0x00
|
|
|
** Line 2 : 0x40
|
|
|
** Line 3 : 0x10
|
|
|
** Line 4 : 0x50
|
|
|
** LCD Enable Signal : Disabled
|
|
|
** Read from Display : Enabled
|
|
|
** R/W signal : SDK_BitIO
|
|
|
** Check Busy Flag : yes
|
|
|
** Wait (us) : 0
|
|
|
** E signal : SDK_BitIO
|
|
|
** E2 : Enabled
|
|
|
** E2 signal : SDK_BitIO
|
|
|
** RS signal : SDK_BitIO
|
|
|
** Data/Control Bus :
|
|
|
** Data/Control Bus Width : 8bit
|
|
|
** DB0..DB3 : Enabled
|
|
|
** DB0 : SDK_BitIO
|
|
|
** DB1 : SDK_BitIO
|
|
|
** DB2 : SDK_BitIO
|
|
|
** DB3 : SDK_BitIO
|
|
|
** DB4..DB7 : Enabled
|
|
|
** DB4 : SDK_BitIO
|
|
|
** DB5 : SDK_BitIO
|
|
|
** DB6 : SDK_BitIO
|
|
|
** DB7 : SDK_BitIO
|
|
|
** Bits/Byte Bus : Disabled
|
|
|
** System Interface :
|
|
|
** Wait : McuWait
|
|
|
** Contents :
|
|
|
** WriteLCDCommand - void McuHD44780_WriteLCDCommand(uint8_t cmd);
|
|
|
** Write - void McuHD44780_Write(char ch);
|
|
|
** WriteLn - void McuHD44780_WriteLn(void);
|
|
|
** WriteLineStr - void McuHD44780_WriteLineStr(uint8_t line, char *str);
|
|
|
** WriteString - void McuHD44780_WriteString(char *str);
|
|
|
** LoadSoftChar - void McuHD44780_LoadSoftChar(uint8_t charCode, uint8_t *softChar);
|
|
|
** ShiftLeft - void McuHD44780_ShiftLeft(void);
|
|
|
** ShiftRight - void McuHD44780_ShiftRight(void);
|
|
|
** GotoXY - void McuHD44780_GotoXY(uint8_t line, uint8_t column);
|
|
|
** SetEntryMode - void McuHD44780_SetEntryMode(bool increment, bool shiftLeft);
|
|
|
** DisplayOn - void McuHD44780_DisplayOn(void);
|
|
|
** DisplayOff - void McuHD44780_DisplayOff(void);
|
|
|
** CursorOn - void McuHD44780_CursorOn(void);
|
|
|
** CursorOff - void McuHD44780_CursorOff(void);
|
|
|
** CursorShiftRight - void McuHD44780_CursorShiftRight(void);
|
|
|
** CursorShiftLeft - void McuHD44780_CursorShiftLeft(void);
|
|
|
** BlinkingOn - void McuHD44780_BlinkingOn(void);
|
|
|
** BlinkingOff - void McuHD44780_BlinkingOff(void);
|
|
|
** Home - void McuHD44780_Home(void);
|
|
|
** Line - void McuHD44780_Line(uint8_t line);
|
|
|
** Clear - void McuHD44780_Clear(void);
|
|
|
** UseDisplay - uint8_t McuHD44780_UseDisplay(uint8_t display);
|
|
|
** DeInit - void McuHD44780_DeInit(void);
|
|
|
**
|
|
|
** * Copyright (c) 2008-2020, Erich Styger
|
|
|
** * Web: https://mcuoneclipse.com
|
|
|
** * SourceForge: https://sourceforge.net/projects/mcuoneclipse
|
|
|
** * Git: https://github.com/ErichStyger/McuOnEclipse_PEx
|
|
|
** * All rights reserved.
|
|
|
** *
|
|
|
** * Redistribution and use in source and binary forms, with or without modification,
|
|
|
** * are permitted provided that the following conditions are met:
|
|
|
** *
|
|
|
** * - Redistributions of source code must retain the above copyright notice, this list
|
|
|
** * of conditions and the following disclaimer.
|
|
|
** *
|
|
|
** * - Redistributions in binary form must reproduce the above copyright notice, this
|
|
|
** * list of conditions and the following disclaimer in the documentation and/or
|
|
|
** * other materials provided with the distribution.
|
|
|
** *
|
|
|
** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
|
** * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
|
** * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
|
** * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
|
** * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
|
** * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
|
** * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
** * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
|
** * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
** ###################################################################*/
|
|
|
/*!
|
|
|
** @file McuHD44780.h
|
|
|
** @version 01.00
|
|
|
** @brief
|
|
|
** This component implements a driver for multiple 2x16 character displays.
|
|
|
*/
|
|
|
/*!
|
|
|
** @addtogroup McuHD44780_module McuHD44780 module documentation
|
|
|
** @{
|
|
|
*/
|
|
|
|
|
|
#ifndef __McuHD44780_H
|
|
|
#define __McuHD44780_H
|
|
|
|
|
|
/* MODULE McuHD44780. */
|
|
|
#include "McuLib.h" /* SDK and API used */
|
|
|
#include "McuHD44780config.h" /* configuration */
|
|
|
|
|
|
|
|
|
|
|
|
/* ID's for the soft characters which can be used as first argument for McuHD44780_LoadSoftChar().
|
|
|
Note that ID's can start with zero, but if you want to use a zero byte in McuHD44780_WriteString()
|
|
|
then this would be the zero delimiter byte, so not very useful. */
|
|
|
#define McuHD44780_SOFTCHAR_UE 1 /*<! ID for '<EFBFBD>' */
|
|
|
#define McuHD44780_SOFTCHAR_AE 2 /*<! ID for '<EFBFBD>' */
|
|
|
#define McuHD44780_SOFTCHAR_OE 3 /*<! ID for '<EFBFBD>' */
|
|
|
|
|
|
/* support for custom soft characters in the display which can be used with McuHD44780_LoadSoftChar() */
|
|
|
extern const uint8_t McuHD44780_SoftCharUE[8]; /* <EFBFBD> */
|
|
|
extern const uint8_t McuHD44780_SoftCharAE[8]; /* <EFBFBD> */
|
|
|
extern const uint8_t McuHD44780_SoftCharOE[8]; /* <EFBFBD> */
|
|
|
|
|
|
#define McuHD44780_MAX_LCD_LINE_CHARS 16 /* number of chars of the LCD on a line */
|
|
|
|
|
|
|
|
|
void McuHD44780_WriteLCDData(uint8_t ch);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : McuHD44780_WriteLCDData (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** This method is internal. It is used by Processor Expert only.
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_Init(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : McuHD44780_Init (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** This method is internal. It is used by Processor Expert only.
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_Clear(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : Clear (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Clears the display and moves the cursor to the first line.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_Home(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : Home (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Moves the cursor to the beginning of the first line.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_GotoXY(uint8_t line, uint8_t column);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : GotoXY (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Places the cursor on a specified position on the display.
|
|
|
** Parameters :
|
|
|
** NAME - DESCRIPTION
|
|
|
** line - Line number starting with 1
|
|
|
** column - Column number starting with 1
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_ShiftLeft(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : ShiftLeft (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Shifts all characters to the left.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
#define McuHD44780_Write(ch) McuHD44780_WriteLCDData((uint8_t)ch)
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : Write (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Write a single character to the display
|
|
|
** Parameters :
|
|
|
** NAME - DESCRIPTION
|
|
|
** ch - Character to write
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_WriteLn(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : WriteLn (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Writes a new line to the display
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_WriteString(char *str);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : WriteString (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Writes a string to the display at the current cursor
|
|
|
** position.
|
|
|
** Parameters :
|
|
|
** NAME - DESCRIPTION
|
|
|
** * str - Pointer to string (zero byte terminated)
|
|
|
** to write to the display
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_WriteLineStr(uint8_t line, char *str);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : WriteLineStr (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Writes a full line to the display (clears the rest of the
|
|
|
** line).
|
|
|
** Parameters :
|
|
|
** NAME - DESCRIPTION
|
|
|
** line - Line number (starting with 1).
|
|
|
** * str - Pointer to the string which should be
|
|
|
** shown on the display.
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_LoadSoftChar(uint8_t charCode, uint8_t *softChar);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : LoadSoftChar (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Loads a user defined (softchar) into the display CGRAM.
|
|
|
** Parameters :
|
|
|
** NAME - DESCRIPTION
|
|
|
** charCode - The character code to be defined
|
|
|
** (0..7)
|
|
|
** * softChar - Pointer to an array of 8 bytes
|
|
|
** defining the soft character
|
|
|
** Example of the soft character '<EFBFBD>':
|
|
|
** const byte SoftCharUE[8] = { // <EFBFBD>
|
|
|
** 0x11, 0x00, 0x11, 0x11, 0x11, 0x13, 0x0d, 0
|
|
|
** // X...X
|
|
|
** // .....
|
|
|
** // X...X
|
|
|
** // X...X
|
|
|
** // X...X
|
|
|
** // X..XX
|
|
|
** // .XX.X
|
|
|
** };
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_Line(uint8_t line);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : Line (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Sets the current line.
|
|
|
** Parameters :
|
|
|
** NAME - DESCRIPTION
|
|
|
** line - Line number, starting with 1
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_ShiftRight(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : ShiftRight (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Shifts all characters to the right.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_CursorOn(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : CursorOn (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Enables the cursor.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_CursorOff(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : CursorOff (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Disables the cursor.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_DisplayOn(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : DisplayOn (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Sends the display on command to the display.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_DisplayOff(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : DisplayOff (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Sends the display off command to the display.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_BlinkingOn(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : BlinkingOn (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Sends the display off command to the display.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_BlinkingOff(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : BlinkingOff (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Puts the display in blinking off mode.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_SetEntryMode(bool increment, bool shiftLeft);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : SetEntryMode (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Configures the display entry mode, if the cursor has to
|
|
|
** shift and/or if the display shall shift content while
|
|
|
** displaying text.
|
|
|
** Parameters :
|
|
|
** NAME - DESCRIPTION
|
|
|
** increment - Increments (TRUE) or
|
|
|
** decrements (FALSE) the display address by 1
|
|
|
** when a character code is written into or
|
|
|
** read from DDRAM. The cursor or blinking
|
|
|
** moves to the right when incremented by 1
|
|
|
** and to the left when decremented by 1.
|
|
|
** shiftLeft - The display does not shift if
|
|
|
** the 'shift' is FALSE. If 'shift' is TRUE,
|
|
|
** it will seem as if the cursor does not move
|
|
|
** but the display does.
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_WaitForLCDReady(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : McuHD44780_WaitForLCDReady (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** This method is internal. It is used by Processor Expert only.
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
uint8_t McuHD44780_UseDisplay(uint8_t display);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : UseDisplay (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
**
|
|
|
** Parameters :
|
|
|
** NAME - DESCRIPTION
|
|
|
** display - Has to be either 1 (top display,
|
|
|
** using E1) or 2 (bottom display, using E2)
|
|
|
** Returns :
|
|
|
** --- - Error code
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_CursorShiftRight(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : CursorShiftRight (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Shift the cursor to the right.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_CursorShiftLeft(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : CursorShiftLeft (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Shift the cursor to the left.
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_WriteLCDCommand(uint8_t cmd);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : WriteLCDCommand (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Writes a command to the display
|
|
|
** Parameters :
|
|
|
** NAME - DESCRIPTION
|
|
|
** cmd - command passed to the LCD
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
void McuHD44780_DeInit(void);
|
|
|
/*
|
|
|
** ===================================================================
|
|
|
** Method : DeInit (component LCDHTA)
|
|
|
**
|
|
|
** Description :
|
|
|
** Driver de-initialization routine
|
|
|
** Parameters : None
|
|
|
** Returns : Nothing
|
|
|
** ===================================================================
|
|
|
*/
|
|
|
|
|
|
/* END McuHD44780. */
|
|
|
|
|
|
#endif
|
|
|
/* ifndef __McuHD44780_H */
|
|
|
/*!
|
|
|
** @}
|
|
|
*/
|
|
|
|