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

Revision:
2:ee5ef7bb4fb0
Parent:
1:5335eb33bfcb
Child:
3:4e4f16874281
--- a/EFM32_SegmentLCD.h	Tue Mar 17 11:51:52 2015 -0500
+++ b/EFM32_SegmentLCD.h	Tue Mar 17 12:02:41 2015 -0500
@@ -44,9 +44,26 @@
 #include "segmentlcd.h"
 
 namespace silabs {
+/** A driver for the Segment LCD present on some EFM32 starter kits
+ * 
+ * Supports Giant, Leopard and Wonder Gecko STKs
+ * 
+ * @code
+ * #include "mbed.h"
+ * #include "EFM32_SegmentLCD.h"
+ * 
+ * EFM32_SegmentLCD segmentDisplay;
+ *
+ * int main() {
+ *     segmentDisplay.Write("Hello");
+ *     while(1);
+ * }
+ * @endcode
+ */
+ 
 class EFM32_SegmentLCD {
 public:
-	/*
+	/**
 	 * Constructor.
 	 */
 	EFM32_SegmentLCD();
@@ -68,8 +85,9 @@
 
 	/**
 	 * Switch specified segment on the ring on/off
-	 * anum: ring segment index
-	 * on: true to turn on, false to turn off
+     *
+	 * @param anum  ring segment index
+	 * @param on    true to turn on, false to turn off
 	 */
 	void ARing(int anum, bool on);
 
@@ -79,13 +97,16 @@
 	 * 1 = lowest block
 	 * 2 = lowest + second-to-lowest
 	 * ...
+     *
+     * @param batteryLevel  Level to show
 	 */
 	void Battery(int batteryLevel);
 
 	/**
 	 * Display an energy mode ring on the LCD.
-	 * em = energy mode number to display
-	 * on = true to turn on, false to turn off.
+     *
+	 * @param em  energy mode number to display
+	 * @param on  true to turn on, false to turn off.
 	 */
 	void EnergyMode(int em, bool on);
 
@@ -93,13 +114,15 @@
 	 * Display an unsigned integer on the alphanumeric
 	 * portion of the display as a hex value.
 	 *
-	 * num = number to display
+	 * @param num number to display
 	 */
 	void LowerHex( uint32_t num );
 
 	/**
 	 * Display a signed integer as decimal number on
 	 * the alphanumeric part of the display.
+     *
+     * @param num  number to display
 	 */
 	void LowerNumber( int num );
 
@@ -117,8 +140,9 @@
 
 	/**
 	 * Turn a predefined symbol on or off.
-	 * lcdSymbol = predefined symbol in segmentlcdconfig_*.h
-	 * on = true to turn on, false to turn off.
+     *
+	 * @param lcdSymbol  predefined symbol in segmentlcdconfig_*.h
+	 * @param on         true to turn on, false to turn off.
 	 */
 	void Symbol(lcdSymbol s, bool on);
 
@@ -126,12 +150,16 @@
 	 * Display an unsigned short integer as a hex value
 	 * on the numeric part of the display.
 	 * max = FFFF, min = 0
+     *
+     * @param value      Value to show
 	 */
 	void UnsignedHex(uint16_t value);
 
 	/**
 	 * Display a 7-character string on the alphanumeric
 	 * portion of the display.
+     *
+     * @param string     String to show (only the first 7 characters will be shown)
 	 */
 	void Write(char *string);
 protected: