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.
segmentlcd.h@6:114aa75da77b, 2015-05-04 (annotated)
- 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?
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 |