Microchip® Advanced Software Framework

lcdca.c File Reference

SAM4L Liquid Crystal Display driver (LCDCA).

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

#include <lcdca.h>
#include <sysclk.h>
#include <sleepmgr.h>

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...
 
void lcdca_blink_set_config (struct lcdca_blink_config *blink_cfg)
 Set the LCDCA blink configuration. 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...
 
void lcdca_clear_pixel (uint8_t pix_com, uint8_t pix_seg)
 Disable the specified pixel/segment in the LCDCA display memory. More...
 
void lcdca_clk_init (void)
 LCDCA clock initialization. More...
 
void lcdca_disable (void)
 Disable the LCDCA module. More...
 
void lcdca_disable_timer (uint8_t lcd_timer)
 Disable the specified LCDCA timer. More...
 
void lcdca_enable (void)
 Enable the LCDCA module. More...
 
void lcdca_enable_timer (uint8_t lcd_timer)
 Enable the specified LCDCA timer, and wait until it is running. 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 uint64_t lcdca_get_pixel_register (uint8_t pix_com)
 
void LCDCA_Handler (void)
 
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...
 
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...
 

Variables

lcdca_callback_t lcdca_callback_pointer = NULL
 

static uint64_t lcdca_get_pixel_register ( uint8_t  pix_com)
static

Get the LCDCA pixel/segment register from coordinates.

Driver-internal function for getting the address of the register which controls the state for the specified pixel coordinate pair.

Parameters
[in]pix_comPixel/segment COMx coordinate
Returns
The address of register controlling specified pixel.

Referenced by lcdca_clear_pixel(), lcdca_get_pixel(), lcdca_set_pixel(), and lcdca_toggle_pixel().

void LCDCA_Handler ( void  )

LCDCA interrupt handler.

References lcdca_callback_pointer, lcdca_clear_status(), and NULL.

lcdca_callback_t lcdca_callback_pointer = NULL

LCDCA callback function pointer.

Referenced by LCDCA_Handler(), and lcdca_set_callback().