7 segment display library for mbed This routine support 2,4 and 8 digit anode-common or cathode-common LED.

Dependents:   7segMbed

Revision:
1:12daa491059c
Parent:
0:6bf4ee8ee342
Child:
2:6f63a5e21d08
--- a/Sseg.h	Sun Oct 20 05:59:40 2013 +0000
+++ b/Sseg.h	Thu Aug 07 02:26:56 2014 +0000
@@ -1,8 +1,8 @@
 /*
-  SSeg.cpp - mbed library for 7seg 4digit/8digit LED matrix.
-  Copyright 2013 morecat_lab
+  SSeg.cpp - mbed library for 7seg 2/4/8digit seven segment LED driver.
+  Copyright 2013,2014 by morecat_lab
  
-  base on Dots library.
+  based on Dots library.
   Copyright 2010 arms22. All right reserved.
   
   This library is distributed in the hope that it will be useful,
@@ -33,6 +33,9 @@
 #define NUM_PAT_E 0x9e
 #define NUM_PAT_F 0x8e
 
+/**
+ * Seven segment display driver library
+ */
 class Sseg
 {
 private:
@@ -49,47 +52,267 @@
     Timer timer;
 public:
     static const int numConv[16];
-    // 2 digit
+    /**
+     * create an 2 digit seven segment driver
+     *
+     * @param PinName a Pin No for segment A
+     * @param PinName b Pin No for segment B
+     * @param PinName c Pin No for segment C
+     * @param PinName d Pin No for segment D
+     * @param PinName e Pin No for segment E
+     * @param PinName f Pin No for segment F
+     * @param PinName g Pin No for segment G
+     * @param PinName dp Pin No for segment DP
+     * @param PinName d1 Pin No for dight 1
+     * @param PinName d2 Pin No for dight 2
+     */
     Sseg(PinName a,PinName b,PinName c,PinName d,
          PinName e,PinName f,PinName g,PinName dp,
          PinName d1,PinName d2);
 
-    // 4 digit
+    /**
+     * create an 4 digit seven segment driver
+     *
+     * @param PinName a Pin No for segment A
+     * @param PinName b Pin No for segment B
+     * @param PinName c Pin No for segment C
+     * @param PinName d Pin No for segment D
+     * @param PinName e Pin No for segment E
+     * @param PinName f Pin No for segment F
+     * @param PinName g Pin No for segment G
+     * @param PinName dp Pin No for segment DP
+     * @param PinName d1 Pin No for dight 1
+     * @param PinName d2 Pin No for dight 2
+     * @param PinName d3 Pin No for dight 3
+     * @param PinName d4 Pin No for dight 4
+     */
     Sseg(PinName a,PinName b,PinName c,PinName d,
          PinName e,PinName f,PinName g,PinName dp,
          PinName d1,PinName d2, PinName d3, PinName d4);
 
-    // 8 digit
+    /**
+     * create an 8 digit seven segment driver
+     *
+     * @param PinName a Pin No for segment A
+     * @param PinName b Pin No for segment B
+     * @param PinName c Pin No for segment C
+     * @param PinName d Pin No for segment D
+     * @param PinName e Pin No for segment E
+     * @param PinName f Pin No for segment F
+     * @param PinName g Pin No for segment G
+     * @param PinName dp Pin No for segment DP
+     * @param PinName d1 Pin No for dight 1
+     * @param PinName d2 Pin No for dight 2
+     * @param PinName d3 Pin No for dight 3
+     * @param PinName d4 Pin No for dight 4
+     * @param PinName d5 Pin No for dight 5
+     * @param PinName d6 Pin No for dight 6
+     * @param PinName d7 Pin No for dight 7
+     * @param PinName d8 Pin No for dight 8
+     */
     Sseg(PinName a,PinName b,PinName c,PinName d,
          PinName e,PinName f,PinName g,PinName dp,
          PinName d1,PinName d2, PinName d3, PinName d4,
          PinName d5,PinName d6, PinName d7, PinName d8);
     
+    /**
+     * start driver
+     */
     void begin(void);
+
+    /**
+     * use Kathode Common LED
+     */
     void setKcommon(void);
+    
+    /**
+     * use Anode Common LED (default)
+     */
     void setAcommon(void);
-    char segCh(char i);
+
+    /**
+     * get charcter pattern from number 
+     *
+     * @param i number
+     *
+     * @returns bit pattern of number i
+     *
+     */
+     char segCh(char i);
+
+    /**
+     * turn on DP 
+     *
+     * @param dight
+     *
+     */
     void setDot(int d);
+
+    /**
+     * turn off DP 
+     *
+     * @param dight
+     *
+     */
     void clearDot(int d);
+    
+    /**
+     * write a number to LED 
+     *
+     * @param number
+     *
+     */
     void writeNum(int n);
+
+    /**
+     * write a number to 2 dight LED 
+     *
+     * @param number
+     *
+     */
     void writeNum2(int n);
+
+    /**
+     * write a number to 4 dight LED 
+     *
+     * @param number
+     *
+     */
     void writeNum4(int n);
+
+    /**
+     * write a number to 8 dight LED 
+     *
+     * @param number
+     *
+     */
     void writeNum8(int n);
+    
+    /**
+     * write numbers to each dight of 2 dight LED 
+     *
+     * @param d1 digit 1 number
+     * @param d2 digit 2 number
+     *
+     */
     void writeNum(char d1, char d2);
+
+    /**
+     * write numbers to each dight of 4 dight LED 
+     *
+     * @param d1 digit 1 number
+     * @param d2 digit 2 number
+     * @param d3 digit 3 number
+     * @param d4 digit 4 number
+     *
+     */
     void writeNum(char d1, char d2, char d3, char d4);
+
+    /**
+     * write numbers to each dight of 8 dight LED 
+     *
+     * @param d1 digit 1 number
+     * @param d2 digit 2 number
+     * @param d3 digit 3 number
+     * @param d4 digit 4 number
+     * @param d5 digit 5 number
+     * @param d6 digit 6 number
+     * @param d7 digit 7 number
+     * @param d8 digit 8 number
+     *
+     */
     void writeNum(char d1, char d2, char d3, char d4, char d5, char d6, char d7, char d8);
+
+    /**
+     * zero supress: tell driver not to display 0 in the left
+     *
+     */
     void supressZero();
+
+    /**
+     * control zero supress bit
+     *
+     * @param 1 : supress on, 0: supress off
+     *
+     */
     void setZeroSupress(bool t);
+
+    /**
+     * write hex number to DISPLAY
+     *
+     * @param number
+     *
+     */
     void writeHex(int n);
+
+    /**
+     * write hex number to DISPLAY
+     *
+     * @param (long)number
+     *
+     */
     void writeHex(long n);
+
+    /**
+     * write patterns to each dight of 2 dight LED 
+     *
+     * @param d1 digit 1 pattern
+     * @param d2 digit 2 pattern
+     *
+     */
     void writeRawData(char d1, char d2);
+    
+    /**
+     * write patterns to each dight of 4 dight LED 
+     *
+     * @param d1 digit 1 pattern
+     * @param d2 digit 2 pattern
+     * @param d3 digit 3 pattern
+     * @param d4 digit 4 pattern
+     *
+     */
     void writeRawData(char d1, char d2, char d3, char d4);
+
+    /**
+     * write patterns to each dight of 8 dight LED 
+     *
+     * @param d1 digit 1 pattern
+     * @param d2 digit 2 pattern
+     * @param d3 digit 3 pattern
+     * @param d4 digit 4 pattern
+     * @param d5 digit 5 pattern
+     * @param d6 digit 6 pattern
+     * @param d7 digit 7 pattern
+     * @param d8 digit 8 pattern
+     *
+     */
     void writeRawData(char d1, char d2, char d3, char d4, char d5, char d6, char d7, char d8);
+
     void write(uint8_t x, uint8_t y, uint8_t value);
-    void write(uint8_t y, uint8_t value);
+
+    /**
+     * write patterns to a dight 
+     *
+     * @param d digit
+     * @param value pattern
+     *
+     */
+    void write(uint8_t d, uint8_t value);
     void write(uint8_t y, const uint8_t values[], uint8_t size);
+
+    /**
+     * Clear LED buffer
+     */
     void clear(void);
+    
+    /**
+     * Turn off LED
+     */
     void turnOff(void);
+
+    /**
+     * Turn on LED
+     */
     void turnOn(void);
     void updateSeg(void);
     bool update(void);