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.
Diff: Sseg.h
- Revision:
- 1:12daa491059c
- Parent:
- 0:6bf4ee8ee342
- Child:
- 2:6f63a5e21d08
diff -r 6bf4ee8ee342 -r 12daa491059c Sseg.h
--- 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);