Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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.

segmentlcd.h@2:ee5ef7bb4fb0, 2015-03-17 (annotated)
- Committer:
- Steven Cooreman
- Date:
- Tue Mar 17 12:02:41 2015 -0500
- Revision:
- 2:ee5ef7bb4fb0
- Parent:
- 0:559902e88130
Documentation update
Who changed what in which revision?
| User | Revision | Line number | New 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 |
