| 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