38 #if defined(GLCD_DEVICE_AVR8)
39 #include <avr/pgmspace.h>
41 #include <avr/interrupt.h>
44 #if !defined(GLCD_USE_AVR_DELAY)
45 extern void delay_ms(uint32_t ms);
48 #include <util/delay.h>
49 #define delay_ms(t) _delay_ms(t)
52 #elif defined(GLCD_DEVICE_LPC111X)
55 extern void delay_ms(uint32_t ms);
58 #elif defined(GLCD_DEVICE_LPC11UXX)
61 extern void delay_ms(uint32_t ms);
64 #elif defined(GLCD_DEVICE_STM32F0XX)
66 #include <stm32f0xx_gpio.h>
68 extern void delay_ms(uint32_t ms);
72 #error "Device not supported"
76 #if defined(GLCD_CONTROLLER_PCD8544)
79 #elif defined(GLCD_CONTROLLER_ST7565R)
82 #elif defined(GLCD_CONTROLLER_NT75451)
86 #error "Controller not supported"
90 #define swap(a, b) { uint8_t t = a; a = b; b = t; }
120 #define GLCD_LCD_WIDTH 0
127 #define GLCD_LCD_HEIGHT 0
130 #if !GLCD_LCD_WIDTH && !GLCD_LCD_HEIGHT
131 #undef GLCD_LCD_WIDTH
132 #undef GLCD_LCD_HEIGHT
133 #if defined(GLCD_CONTROLLER_PCD8544)
134 #define GLCD_LCD_WIDTH 84
135 #define GLCD_LCD_HEIGHT 48
136 #elif defined(GLCD_CONTROLLER_ST7565R) || defined(GLCD_CONTROLLER_NT75451)
137 #define GLCD_LCD_WIDTH 128
138 #define GLCD_LCD_HEIGHT 64
140 #define GLCD_LCD_WIDTH 128
141 #define GLCD_LCD_HEIGHT 64
149 #define GLCD_NUMBER_OF_BANKS (GLCD_LCD_WIDTH / 8)
150 #define GLCD_NUMBER_OF_COLS GLCD_LCD_WIDTH
154 #if !defined(GLCD_RESET_TIME)
156 #define GLCD_RESET_TIME 1
195 void glcd_update_bbox(uint8_t xmin, uint8_t ymin, uint8_t xmax, uint8_t ymax);
#define GLCD_LCD_WIDTH
User specified GLCD width in pixels Set to 0 for automatic assignment based on controller.
Constants and definitions for NT75451 controller.
glcd_BoundingBox_t * glcd_bbox_selected
Pointer to bounding box currently in use.
glcd_FontConfig_t font_current
Bounding box for pixels that need to be updated.
void glcd_select_screen(uint8_t *buffer, glcd_BoundingBox_t *bbox)
Select screen buffer and bounding box structure.
Functions specific to certain devices (microcontrollers).
void glcd_scroll_line(void)
Scroll screen buffer up by 8 pixels.
glcd_BoundingBox_t glcd_bbox
Keeps track of bounding box of area on LCD which need to be updated next reresh cycle.
GLCD Library - Tiny Text functions.
Constants relating to ST7565R LCD controller.
void glcd_bbox_refresh()
Marks the entire display for re-writing.
Various test functions to demonstrate features of the library.
Implmentation of NXP LPC11Uxx microcontrollers.
Pinouts and driver config for NXP LPC111x ARM Cortex-M0 MCUs.
#define GLCD_LCD_HEIGHT
User specified GLCD height in pixels Set to 0 for automatic assignment based on controller.
uint8_t * glcd_buffer_selected
Pointer to screen buffer currently in use.
void glcd_bbox_reset()
Same as glcd_reset_bbox()
GLCD Library - Graph drawing functions.
Pinouts to Atmel AVR 8-bit AVRs.
GLCD Library - Text functions.
void glcd_clear_buffer(void)
Clear the display buffer only.
Constants relating to PCD8544 LCD Controller (Nokia 5110 LCD).
Functions specific to STM32 F0 ARM Cortex-M0 devices.
void glcd_clear(void)
Clear the display.
uint8_t glcd_buffer[GLCD_LCD_WIDTH *GLCD_LCD_HEIGHT/8]
Screen buffer.
void glcd_reset_bbox()
Reset the bounding box.
void glcd_scroll(int8_t x, int8_t y)
Scroll entire screne buffer by x and y pixels.
void glcd_update_bbox(uint8_t xmin, uint8_t ymin, uint8_t xmax, uint8_t ymax)
Update bounding box.
Functions specific to certain graphic LCD controllers.