Digital Power Starter Kit 3 Firmware
dsPIC33C Boost Converter Voltage Mode Control Example
dev_lcd.h
1 //======================================================================================================================
2 // Copyright(c) 2018 Microchip Technology Inc. and its subsidiaries.
3 // Subject to your compliance with these terms, you may use Microchip software and any derivatives exclusively with
4 // Microchip products. It is your responsibility to comply with third party license terms applicable to your use of
5 // third-party software (including open source software) that may accompany Microchip software.
6 // THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO
7 // THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR
8 // PURPOSE.
9 // IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE,
10 // COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED
11 // OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY
12 // ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE
13 // PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
14 //======================================================================================================================
15 
16 #ifndef _Dev_LCD_H_
17 #define _Dev_LCD_H_
18 
19 #include <stdint.h>
20 #include <stdio.h>
21 
22 #include "lcd/drivers/drv_lcd_interface.h"
23 
24 /*********************************************************************************
25  * @ingroup lib-layer-lcd-properties-public
26  * @def TEMPSTR_LCD_SIZE
27  * @brief Defines the total string length of the LC display
28  * @details
29  * This defines the total number of characters which can be displayed
30  * on the LC display. This number may be subject to change if another
31  * LC display type is used.
32  **********************************************************************************/
33 #define TEMPSTR_LCD_SIZE 40
34 
35 /*********************************************************************************
36  * @ingroup lib-layer-lcd-properties-public
37  * @def PrintLcd
38  * @brief Writes a complete line to the LC display
39  * @details
40  * This macro can be used to write a complete line to the LC display.
41  * If the length of the string exceeds the available number of characters
42  * in one line, the position will overflow into the next line.
43  **********************************************************************************/
44 
45 #define PrintLcd(LINE, ...) \
46  do{ \
47  char __print_utils_string[TEMPSTR_LCD_SIZE]; \
48  sprintf(__print_utils_string, __VA_ARGS__); \
49  dev_Lcd_WriteStringXY(0, LINE, __print_utils_string); \
50  } while(0)
51 
52 
53 
54 extern void dev_Lcd_Initialize(void);
55 extern void dev_Lcd_GotoXY(volatile uint8_t x, volatile uint8_t y);
56 extern void dev_Lcd_WriteChar(const char ch);
57 extern void dev_Lcd_WriteString(const char *str);
58 extern void dev_Lcd_WriteStringXY(volatile uint8_t column_index, volatile uint8_t line_index, const char *str);
59 
60 
61 #endif // _Dev_LCD_H_
62