segmentlcd.c File Reference

EFM32 Segment LCD Display driver. More...

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include "em_device.h"
#include "em_cmu.h"
#include "em_gpio.h"
#include "segmentlcd.h"
#include <stdint.h>
#include "segmentlcdconfig.h"
Include dependency graph for segmentlcd.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CHAR_TypeDef
 Defines each text symbol's segment in terms of COM and BIT numbers, in a way that we can enumerate each bit for each text segment in the following bit pattern: More...
struct  NUMBER_TypeDef
 Defines segment COM and BIT fields numeric display. More...
struct  EM_TypeDef
 Defines segment COM and BIT fields for Energy Modes on display. More...
struct  ARING_TypeDef
 Defines segment COM and BIT fields for A-wheel (suited for Anim). More...
struct  BATTERY_TypeDef
 Defines segment COM and BIT fields for A-wheel (suited for Anim). More...
struct  MCU_DISPLAY
 Defines prototype for all segments in display. More...

Functions

void SegmentLCD_AllOff (void)
 Disable all segments.
void SegmentLCD_AllOn (void)
 Enable all segments.
void SegmentLCD_AlphaNumberOff (void)
 Turn all segments on alpha characters in display off.
void SegmentLCD_ARing (int anum, int on)
 Light up or shut off Ring of Indicators.
void SegmentLCD_Battery (int batteryLevel)
 Light up or shut off Battery Indicator.
void SegmentLCD_Disable (void)
 Disables LCD controller.
void SegmentLCD_EnergyMode (int em, int on)
 Light up or shut off Energy Mode indicator.
void SegmentLCD_Init (bool useBoost)
 Segment LCD Initialization routine for EFM32 STK display.
void SegmentLCD_LowerHex (uint32_t num)
 Write a hexadecimal number on lower alphanumeric part of Segment LCD display.
void SegmentLCD_LowerNumber (int num)
 Write number on lower alphanumeric part of Segment LCD display.
void SegmentLCD_Number (int value)
 Write number on numeric part on Segment LCD display.
void SegmentLCD_NumberOff (void)
 Turn all segments on numeric digits in display off.
void SegmentLCD_Symbol (lcdSymbol s, int on)
 Light up or shut off various symbols on Segment LCD.
void SegmentLCD_UnsignedHex (uint16_t value)
 Write hexadecimal number on numeric part on Segment LCD display.
void SegmentLCD_Write (char *string)
 Write text on LCD display.

Variables

static const MCU_DISPLAY EFM_Display = EFM_DISPLAY_DEF
 Working instance of LCD display.
static const uint16_t EFM_Alphabet []
 Defines higlighted segments for the alphabet, starting from "blank" (SPACE) Uses bit pattern as defined for text segments above.
static const uint16_t EFM_Numbers []
 Defines higlighted segments for the numeric display.

Detailed Description

EFM32 Segment LCD Display driver.

Version:
4.0.0

License

(C) Copyright 2014 Silicon Labs, http://www.silabs.com

This file is licensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.

Definition in file segmentlcd.c.


Variable Documentation

const uint16_t EFM_Alphabet[] [static]

Defines higlighted segments for the alphabet, starting from "blank" (SPACE) Uses bit pattern as defined for text segments above.

E.g. a capital O, would have bits 0 1 2 3 4 5 => 0x003f defined

Definition at line 116 of file segmentlcd.c.

Referenced by SegmentLCD_Write().

const MCU_DISPLAY EFM_Display = EFM_DISPLAY_DEF [static]

Working instance of LCD display.

Definition at line 107 of file segmentlcd.c.

const uint16_t EFM_Numbers[] [static]
Initial value:
 {
  0x003f, 
  0x0006, 
  0x005b, 
  0x004f, 
  0x0066, 
  0x006d, 
  0x007d, 
  0x0007, 
  0x007f, 
  0x006f, 
  0x0077, 
  0x007c, 
  0x0039, 
  0x005e, 
  0x0079, 
  0x0071, 
  0x0040  
}

Defines higlighted segments for the numeric display.

Definition at line 222 of file segmentlcd.c.

Referenced by SegmentLCD_Number(), and SegmentLCD_UnsignedHex().