This is a driver for the segment LCD found on the Silicon Labs EF32 Giant, Leopard and Wonder Gecko platforms. NOTE: This driver will not work with other platforms, because it contains EFM32-specific code.

Dependents:   EFM32 RDA5807M RDS Radio EMF32-Segment-Touch-Demo EMF32_ShowKey blinky_EFM32_Giant ... more

Information

All examples in this repo are considered EXPERIMENTAL QUALITY, meaning this code has been created as one-off proof-of-concept and is suitable as a demonstration for experimental purposes only. This code will not be regularly maintained by Silicon Labs and there is no guarantee that these projects will work across all environments, SDK versions and hardware.

/media/uploads/stevew817/screenshot_2015-03-17_11.17.52.png

Committer:
stevew817
Date:
Mon May 04 20:40:26 2015 +0000
Revision:
6:114aa75da77b
Parent:
0:559902e88130
Add pin defines for WG and LG

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Steven Cooreman 0:559902e88130 1 /**************************************************************************//**
Steven Cooreman 0:559902e88130 2 * @file
Steven Cooreman 0:559902e88130 3 * @brief EFM32 Segment LCD Display driver, header file
Steven Cooreman 0:559902e88130 4 * @version 3.20.9
Steven Cooreman 0:559902e88130 5 ******************************************************************************
Steven Cooreman 0:559902e88130 6 * @section License
Steven Cooreman 0:559902e88130 7 * <b>(C) Copyright 2014 Silicon Labs, http://www.silabs.com</b>
Steven Cooreman 0:559902e88130 8 *******************************************************************************
Steven Cooreman 0:559902e88130 9 *
Steven Cooreman 0:559902e88130 10 * This file is licensensed under the Silabs License Agreement. See the file
Steven Cooreman 0:559902e88130 11 * "Silabs_License_Agreement.txt" for details. Before using this software for
Steven Cooreman 0:559902e88130 12 * any purpose, you must agree to the terms of that agreement.
Steven Cooreman 0:559902e88130 13 *
Steven Cooreman 0:559902e88130 14 ******************************************************************************/
Steven Cooreman 0:559902e88130 15
Steven Cooreman 0:559902e88130 16
Steven Cooreman 0:559902e88130 17 #ifndef __SEGMENTLCD_H
Steven Cooreman 0:559902e88130 18 #define __SEGMENTLCD_H
Steven Cooreman 0:559902e88130 19
Steven Cooreman 0:559902e88130 20 #include <stdint.h>
Steven Cooreman 0:559902e88130 21 #include <stdbool.h>
Steven Cooreman 0:559902e88130 22
Steven Cooreman 0:559902e88130 23 #if defined( TARGET_EFM32GG_STK3700 )
Steven Cooreman 0:559902e88130 24 #include "segmentlcdconfig_stk_gg.h"
Steven Cooreman 0:559902e88130 25 #elif defined( TARGET_EFM32_G8XX_STK )
Steven Cooreman 0:559902e88130 26 #include "segmentlcdconfig_stk_g.h"
Steven Cooreman 0:559902e88130 27 #elif defined( TARGET_EFM32LG_STK3600 )
Steven Cooreman 0:559902e88130 28 #include "segmentlcdconfig_stk_lg.h"
Steven Cooreman 0:559902e88130 29 #elif defined( TARGET_EFM32TG_STK3300 )
Steven Cooreman 0:559902e88130 30 #include "segmentlcdconfig_stk_tg.h"
Steven Cooreman 0:559902e88130 31 #elif defined( TARGET_EFM32WG_STK3800 )
Steven Cooreman 0:559902e88130 32 #include "segmentlcdconfig_stk_wg.h"
Steven Cooreman 0:559902e88130 33 #elif defined( TARGET_EFM32ZG_STK3200 )
Steven Cooreman 0:559902e88130 34 #error "No segment LCD available on the Zero Gecko STK."
Steven Cooreman 0:559902e88130 35 #elif defined( TARGET_EFM32HG_STK3400 )
Steven Cooreman 0:559902e88130 36 #error "No segment LCD available on the Happy Gecko STK."
Steven Cooreman 0:559902e88130 37 #else
Steven Cooreman 0:559902e88130 38 #error "No EFM32 target STK defined."
Steven Cooreman 0:559902e88130 39 #endif
Steven Cooreman 0:559902e88130 40
Steven Cooreman 0:559902e88130 41 /***************************************************************************//**
Steven Cooreman 0:559902e88130 42 * @addtogroup Drivers
Steven Cooreman 0:559902e88130 43 * @{
Steven Cooreman 0:559902e88130 44 ******************************************************************************/
Steven Cooreman 0:559902e88130 45
Steven Cooreman 0:559902e88130 46 /***************************************************************************//**
Steven Cooreman 0:559902e88130 47 * @addtogroup SegmentLcd
Steven Cooreman 0:559902e88130 48 * @{
Steven Cooreman 0:559902e88130 49 ******************************************************************************/
Steven Cooreman 0:559902e88130 50
Steven Cooreman 0:559902e88130 51 #ifdef __cplusplus
Steven Cooreman 0:559902e88130 52 extern "C" {
Steven Cooreman 0:559902e88130 53 #endif
Steven Cooreman 0:559902e88130 54
Steven Cooreman 0:559902e88130 55 /* Regular functions */
Steven Cooreman 0:559902e88130 56 void SegmentLCD_AllOff(void);
Steven Cooreman 0:559902e88130 57 void SegmentLCD_AllOn(void);
Steven Cooreman 0:559902e88130 58 void SegmentLCD_AlphaNumberOff(void);
Steven Cooreman 0:559902e88130 59 void SegmentLCD_ARing(int anum, int on);
Steven Cooreman 0:559902e88130 60 void SegmentLCD_Battery(int batteryLevel);
Steven Cooreman 0:559902e88130 61 void SegmentLCD_Disable(void);
Steven Cooreman 0:559902e88130 62 void SegmentLCD_EnergyMode(int em, int on);
Steven Cooreman 0:559902e88130 63 void SegmentLCD_Init(bool useBoost);
Steven Cooreman 0:559902e88130 64 void SegmentLCD_LowerHex( uint32_t num );
Steven Cooreman 0:559902e88130 65 void SegmentLCD_LowerNumber( int num );
Steven Cooreman 0:559902e88130 66 void SegmentLCD_Number(int value);
Steven Cooreman 0:559902e88130 67 void SegmentLCD_NumberOff(void);
Steven Cooreman 0:559902e88130 68 void SegmentLCD_Symbol(lcdSymbol s, int on);
Steven Cooreman 0:559902e88130 69 void SegmentLCD_UnsignedHex(uint16_t value);
Steven Cooreman 0:559902e88130 70 void SegmentLCD_Write(char *string);
Steven Cooreman 0:559902e88130 71
Steven Cooreman 0:559902e88130 72 #ifdef __cplusplus
Steven Cooreman 0:559902e88130 73 }
Steven Cooreman 0:559902e88130 74 #endif
Steven Cooreman 0:559902e88130 75
Steven Cooreman 0:559902e88130 76 /** @} (end group SegmentLcd) */
Steven Cooreman 0:559902e88130 77 /** @} (end group Drivers) */
Steven Cooreman 0:559902e88130 78
Steven Cooreman 0:559902e88130 79 #endif