Microchip® Advanced Software Framework

lcdca.h File Reference

SAM4L Liquid Crystal Display driver (LCDCA).

Copyright (c) 2012-2018 Microchip Technology Inc. and its subsidiaries.

#include <compiler.h>
#include <sysclk.h>
#include <conf_lcdca.h>
#include <pdca.h>

Data Structures

struct  lcdca_automated_char_config
 Automated character display configuration structure. More...
 
struct  lcdca_blink_config
 Blink configuration structure. More...
 
struct  lcdca_circular_shift_config
 Circular shift configuration structure. More...
 
struct  lcdca_config
 LCDCA controller configuration structure. More...
 

Macros

#define LCDCA_AUTOMATED_CHAR_DMA_CH   3
 LCDCA automated character DMA Channel (sequential or scrolling) More...
 
LCDCA Address Limits
#define LCDCA_MAX_NR_OF_COM   4
 Maximum number of common lines. More...
 
#define LCDCA_MAX_NBR_OF_SEG   40
 Maximum number of segment lines. More...
 
LCDCA Display Digit
#define LCDCA_TDG_7SEG3COM   0
 7-segment display with three common terminals More...
 
#define LCDCA_TDG_7SEG4COM   1
 7-segment display with four common terminals More...
 
#define LCDCA_TDG_14SEG4COM   2
 14-segment display with four common terminals More...
 
#define LCDCA_TDG_16SEG3COM   3
 16-segment display with three common terminals More...
 
LCDCA Timer Resource
#define LCDCA_TIMER_FC0   0
 Timer FC0 resource. More...
 
#define LCDCA_TIMER_FC1   1
 Timer FC1 resource. More...
 
#define LCDCA_TIMER_FC2   2
 Timer FC2 resource. More...
 
LCDCA CMCFG Digit Reverse Mode
#define LCDCA_CMCFG_DREV_LEFT   1
 Decrement the segment index. More...
 
#define LCDCA_CMCFG_DREV_RIGHT   0
 Increment the segment index. More...
 
LCDCA Duty Selection.
#define LCDCA_DUTY_1_4   0
 Duty=1/4, Bias=1/3, COM0:3. More...
 
#define LCDCA_DUTY_STATIC   1
 Duty=Static, Bias=Static, COM0. More...
 
#define LCDCA_DUTY_1_2   2
 Duty=1/2, Bias=1/3, COM0:1. More...
 
#define LCDCA_DUTY_1_3   3
 Duty=1/3, Bias=1/3, COM0:2. More...
 
LCDCA Blink Mode
#define LCDCA_BLINK_FULL   0
 All LCD segments will blink. More...
 
#define LCDCA_BLINK_SELECTED   LCDCA_BCFG_MODE
 Only the selected segment will blink. More...
 
LCDCA Shift Register Direction
#define LCDCA_CSR_RIGHT   LCDCA_CSRCFG_DIR
 Right direction. More...
 
#define LCDCA_CSR_LEFT   0
 Left direction. More...
 
LCDCA Automated Mode.
#define LCDCA_AUTOMATED_MODE_SEQUENTIAL   0
 Sequential character string display mode. More...
 
#define LCDCA_AUTOMATED_MODE_SCROLLING   1
 Scrolling character string display mode. More...
 
LCDCA Automated Direction.
#define LCDCA_AUTOMATED_DIR_REVERSE   1
 Digit direction is reversed. More...
 
#define LCDCA_AUTOMATED_DIR_NOT_REVERSE   0
 Digit direction is not reversed. More...
 

Typedefs

typedef struct
lcdca_automated_char_config 
lcdca_automated_char_config_t
 Automated character display configuration structure. More...
 
typedef struct lcdca_blink_config lcdca_blink_config_t
 Blink configuration structure. More...
 
typedef void(* lcdca_callback_t )(void)
 LCDCA interrupt callback type. More...
 
typedef struct
lcdca_circular_shift_config 
lcdca_circular_shift_config_t
 Circular shift configuration structure. More...
 
typedef struct lcdca_config lcdca_config_t
 LCDCA controller configuration structure. More...
 

Functions

void lcdca_automated_char_reload (const uint8_t *data, size_t width)
 LCDCA automated display reload. More...
 
void lcdca_automated_char_set_config (struct lcdca_automated_char_config *ac_cfg)
 Configure the LCDCA automated display. More...
 
void lcdca_automated_char_start (const uint8_t *data, size_t width)
 Start the LCDCA automated display. More...
 
static void lcdca_automated_char_stop (void)
 Stop the LCDCA automated display mode. More...
 
static void lcdca_blink_disable (void)
 Disable the LCDCA blink mode. More...
 
static void lcdca_blink_enable (void)
 Enable the LCDCA blink mode. More...
 
void lcdca_blink_set_config (struct lcdca_blink_config *blink_cfg)
 Set the LCDCA blink configuration. More...
 
static void lcdca_circular_shift_disable (void)
 Disable the LCDCA circular shift mode. More...
 
static void lcdca_circular_shift_enable (void)
 Enable the LCDCA circular shift mode. More...
 
void lcdca_circular_shift_set_config (struct lcdca_circular_shift_config *cs_cfg)
 Set the LCDCA circular shift configuration. More...
 
void lcdca_clear_blink_all_pixel (void)
 Stop all LCDCA pixels/segments from blinking. More...
 
void lcdca_clear_blink_pixel (uint8_t pix_com, uint8_t pix_seg)
 Stop a specified LCDCA pixel/segment from blinking. More...
 
static void lcdca_clear_display_memory (void)
 Clear all the LCDCA display memory. More...
 
void lcdca_clear_pixel (uint8_t pix_com, uint8_t pix_seg)
 Disable the specified pixel/segment in the LCDCA display memory. More...
 
static void lcdca_clear_status (void)
 Clear the LCDCA beginning of frame interrupt status. More...
 
void lcdca_clk_init (void)
 LCDCA clock initialization. More...
 
void lcdca_disable (void)
 Disable the LCDCA module. More...
 
static void lcdca_disable_interrupt (void)
 Disable the LCDCA beginning of frame interrupt. More...
 
void lcdca_disable_timer (uint8_t lcd_timer)
 Disable the specified LCDCA timer. More...
 
static void lcdca_disable_wakeup (void)
 Disable the LCDCA wake-up. More...
 
void lcdca_enable (void)
 Enable the LCDCA module. More...
 
static void lcdca_enable_interrupt (void)
 Enable the LCDCA beginning of frame interrupt. More...
 
void lcdca_enable_timer (uint8_t lcd_timer)
 Enable the specified LCDCA timer, and wait until it is running. More...
 
static void lcdca_enable_wakeup (void)
 Enable the LCDCA wake-up. More...
 
bool lcdca_get_pixel (uint8_t pix_com, uint8_t pix_seg)
 Get the specified pixel/segment state from the LCDCA display memory. More...
 
static uint32_t lcdca_get_status (void)
 Get the LCDCA status register. More...
 
static void lcdca_lock_shadow_dislay (void)
 Lock the LCDCA shadow display memory. More...
 
void lcdca_set_blink_pixel (uint8_t pix_com, uint8_t pix_seg)
 Start an LCDCA pixel/segment blinking. More...
 
void lcdca_set_callback (lcdca_callback_t callback, uint8_t irq_line, uint8_t irq_level)
 Set the callback for the LCDCA 'beginning of frame' interrupt. More...
 
void lcdca_set_config (struct lcdca_config *lcdca_cfg)
 Configure the LCDCA controller. More...
 
void lcdca_set_contrast (int8_t contrast)
 Set the LCDCA fine contrast. More...
 
void lcdca_set_display_memory (void)
 Set all bits in the LCDCA display memory high. More...
 
void lcdca_set_pixel (uint8_t pix_com, uint8_t pix_seg)
 Enable the specified pixel/segment in the LCDCA display memory. More...
 
void lcdca_toggle_pixel (uint8_t pix_com, uint8_t pix_seg)
 Toggle the specified pixel/segment in the LCDCA display memory. More...
 
static void lcdca_unlock_shadow_dislay (void)
 Unlock the LCDCA shadow display memory. More...
 
void lcdca_write_packet (uint8_t lcd_tdg, uint8_t first_seg, const uint8_t *data, size_t width, uint8_t dir)
 Send a sequence of ASCII bytes to the LCDCA via the digit decoder. More...