EFM32 Wonder Gecko Software Documentation  efm32wg-doc-4.2.1
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"

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. More...
 
void SegmentLCD_Battery (int batteryLevel)
 Light up or shut off Battery Indicator. More...
 
void SegmentLCD_Disable (void)
 Disables LCD controller.
 
void SegmentLCD_EnergyMode (int em, int on)
 Light up or shut off Energy Mode indicator. More...
 
void SegmentLCD_Init (bool useBoost)
 Segment LCD Initialization routine for EFM32 STK display. More...
 
void SegmentLCD_LowerHex (uint32_t num)
 Write a hexadecimal number on lower alphanumeric part of Segment LCD display. More...
 
void SegmentLCD_LowerNumber (int num)
 Write number on lower alphanumeric part of Segment LCD display. More...
 
void SegmentLCD_Number (int value)
 Write number on numeric part on Segment LCD display. More...
 
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. More...
 
void SegmentLCD_UnsignedHex (uint16_t value)
 Write hexadecimal number on numeric part on Segment LCD display. More...
 
void SegmentLCD_Write (char *string)
 Write text on LCD display. More...
 

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. E.g. a capital O, would have bits 0 1 2 3 4 5 => 0x003f defined.
 
static const uint16_t EFM_Numbers []
 Defines higlighted segments for the numeric display. More...
 

Detailed Description

Version
4.2.1

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_Numbers[]
static
Initial value:
= {
0x003f,
0x0006,
0x005b,
0x004f,
0x0066,
0x006d,
0x007d,
0x0007,
0x007f,
0x006f,
0x0077,
0x007c,
0x0039,
0x005e,
0x0079,
0x0071,
0x0040
}

Definition at line 222 of file segmentlcd.c.

Referenced by SegmentLCD_Number(), and SegmentLCD_UnsignedHex().