Library for Sure Electronics HT1632 based LED matrix displays. Supports multiple displays connected together.

Dependents:   HT1632MsgScroller SMS_LEDMatrixPrinter

Revision:
4:7513dd37efed
Parent:
3:48f430fe186e
Child:
5:33b2bfce06b7
--- a/HT1632_LedMatrix.h	Fri Nov 09 16:33:53 2012 +0000
+++ b/HT1632_LedMatrix.h	Fri Nov 09 22:27:39 2012 +0000
@@ -1,87 +1,87 @@
-/*
-*   HT1632_LedMatrix.h
-*   defintions for Holtek ht1632 LED driver
-*/
-
-#ifndef _HT1632_LEDMATRIX_H
-#define _HT1632_LEDMATRIX_H
-
-#define USE_GRAPHIC
-
-
-#include <inttypes.h>
-
-/*
- * commands written to the chip consist of a 3 bit "ID", followed by
- * either 9 bits of "Command code" or 7 bits of address + 4 bits of data.
- */
-#define HT1632_ID_CMD 4     /* ID = 100 - Commands */
-#define HT1632_ID_RD  6     /* ID = 110 - Read RAM */
-#define HT1632_ID_WR  5     /* ID = 101 - Write RAM */
-
-#define HT1632_CMD_SYSDIS 0x00  /* CMD= 0000-0000-x Turn off oscil */
-#define HT1632_CMD_SYSON  0x01  /* CMD= 0000-0001-x Enable system oscil */
-#define HT1632_CMD_LEDOFF 0x02  /* CMD= 0000-0010-x LED duty cycle gen off */
-#define HT1632_CMD_LEDON  0x03  /* CMD= 0000-0011-x LEDs ON */
-#define HT1632_CMD_BLOFF  0x08  /* CMD= 0000-1000-x Blink ON */
-#define HT1632_CMD_BLON   0x09  /* CMD= 0000-1001-x Blink Off */
-#define HT1632_CMD_SLVMD  0x10  /* CMD= 0001-00xx-x Slave Mode */
-#define HT1632_CMD_MSTMD  0x14  /* CMD= 0001-01xx-x Master Mode */
-#define HT1632_CMD_RCCLK  0x18  /* CMD= 0001-10xx-x Use on-chip clock */
-#define HT1632_CMD_EXTCLK 0x1C  /* CMD= 0001-11xx-x Use external clock */
-#define HT1632_CMD_COMS00 0x20  /* CMD= 0010-ABxx-x commons options */
-#define HT1632_CMD_COMS01 0x24  /* CMD= 0010-ABxx-x commons options */
-#define HT1632_CMD_COMS10 0x28  /* CMD= 0010-ABxx-x commons options */
-#define HT1632_CMD_COMS11 0x2C  /* CMD= 0010-ABxx-x commons options */
-#define HT1632_CMD_PWM    0xA0  /* CMD= 101x-PPPP-x PWM duty cycle */
-
-#define PIXEL_OFF 0
-#define PIXEL_ON  1
-
-//class HT1632_LedMatrix
-class HT1632_LedMatrix  //: public Print
-{
-private:
-    void chipselect( uint8_t );
-    void chipfree( uint8_t );
-    void writebits( uint8_t, uint8_t );
-    void writedatabits( uint8_t, uint8_t );
-    void sendcmd( uint8_t, uint8_t );
-    void senddata( uint8_t, uint8_t, uint8_t );
-    void sendcol( uint8_t, uint8_t, uint8_t );
-
-public:
-    HT1632_LedMatrix( );
-
-    // Init/Clear/position functions
-    void init( uint8_t, uint8_t );
-    void clear(void);
-    void setBrightness( unsigned char );
-    uint8_t putChar( int, int, char );
-    void write( uint8_t );
-    void putString( int, int, char* );
-    void plot( int, int, char );
-    void gotoXY(int , int);
-    void getXY(int* , int*);
-    void getXYMax(int*, int*);
-    void shiftCursorX(int );
-    void setCustomChar( int, unsigned char[]);
-    void setCustomChar( int, unsigned char[], uint8_t );
-    void scrollLeft(uint8_t);
-    void putShadowRam();
-    void putShadowRam(uint8_t);
-    // Graphic functions
-#ifdef  USE_GRAPHIC
-    void drawLine(unsigned char x1, unsigned char y1,
-                  unsigned char x2, unsigned char y2, unsigned char c);
-    void drawRectangle(unsigned char x1, unsigned char y1,
-                       unsigned char x2, unsigned char y2, unsigned char c);
-    void drawFilledRectangle(unsigned char x1, unsigned char y1,
-                             unsigned char x2, unsigned char y2, unsigned char c);
-    void drawCircle(unsigned char xc, unsigned char yc,
-                    unsigned char r, unsigned char c);
-#endif
-
-};
-
-#endif //_HT1632_LEDMATRIX_H
+/*
+*   HT1632_LedMatrix.h
+*   defintions for Holtek ht1632 LED driver
+*/
+
+#ifndef _HT1632_LEDMATRIX_H
+#define _HT1632_LEDMATRIX_H
+
+#define USE_GRAPHIC
+
+
+#include <inttypes.h>
+
+/*
+ * commands written to the chip consist of a 3 bit "ID", followed by
+ * either 9 bits of "Command code" or 7 bits of address + 4 bits of data.
+ */
+#define HT1632_ID_CMD 4     /* ID = 100 - Commands */
+#define HT1632_ID_RD  6     /* ID = 110 - Read RAM */
+#define HT1632_ID_WR  5     /* ID = 101 - Write RAM */
+
+#define HT1632_CMD_SYSDIS 0x00  /* CMD= 0000-0000-x Turn off oscil */
+#define HT1632_CMD_SYSON  0x01  /* CMD= 0000-0001-x Enable system oscil */
+#define HT1632_CMD_LEDOFF 0x02  /* CMD= 0000-0010-x LED duty cycle gen off */
+#define HT1632_CMD_LEDON  0x03  /* CMD= 0000-0011-x LEDs ON */
+#define HT1632_CMD_BLOFF  0x08  /* CMD= 0000-1000-x Blink ON */
+#define HT1632_CMD_BLON   0x09  /* CMD= 0000-1001-x Blink Off */
+#define HT1632_CMD_SLVMD  0x10  /* CMD= 0001-00xx-x Slave Mode */
+#define HT1632_CMD_MSTMD  0x14  /* CMD= 0001-01xx-x Master Mode */
+#define HT1632_CMD_RCCLK  0x18  /* CMD= 0001-10xx-x Use on-chip clock */
+#define HT1632_CMD_EXTCLK 0x1C  /* CMD= 0001-11xx-x Use external clock */
+#define HT1632_CMD_COMS00 0x20  /* CMD= 0010-ABxx-x commons options */
+#define HT1632_CMD_COMS01 0x24  /* CMD= 0010-ABxx-x commons options */
+#define HT1632_CMD_COMS10 0x28  /* CMD= 0010-ABxx-x commons options */
+#define HT1632_CMD_COMS11 0x2C  /* CMD= 0010-ABxx-x commons options */
+#define HT1632_CMD_PWM    0xA0  /* CMD= 101x-PPPP-x PWM duty cycle */
+
+#define PIXEL_OFF 0
+#define PIXEL_ON  1
+
+//class HT1632_LedMatrix
+class HT1632_LedMatrix  //: public Print
+{
+private:
+    void chipselect( uint8_t );
+    void chipfree( uint8_t );
+    void writebits( uint8_t, uint8_t );
+    void writedatabits( uint8_t, uint8_t );
+    void sendcmd( uint8_t, uint8_t );
+    void senddata( uint8_t, uint8_t, uint8_t );
+    void sendcol( uint8_t, uint8_t, uint8_t );
+
+public:
+    HT1632_LedMatrix( );
+
+    // Init/Clear/position functions
+    void init( uint8_t, uint8_t );
+    void clear(void);
+    void setBrightness( unsigned char );
+    uint8_t putChar( int, int, char );
+    void write( uint8_t );
+    void putString( int, int, char* );
+    void plot( int, int, char );
+    void gotoXY(int , int);
+    void getXY(int* , int*);
+    void getXYMax(int*, int*);
+    void shiftCursorX(int );
+    void setCustomChar( int, unsigned char[]);
+    void setCustomChar( int, unsigned char[], uint8_t );
+    void scrollLeft(uint8_t, uint8_t);
+    void putShadowRam();
+    void putShadowRam(uint8_t);
+    // Graphic functions
+#ifdef  USE_GRAPHIC
+    void drawLine(unsigned char x1, unsigned char y1,
+                  unsigned char x2, unsigned char y2, unsigned char c);
+    void drawRectangle(unsigned char x1, unsigned char y1,
+                       unsigned char x2, unsigned char y2, unsigned char c);
+    void drawFilledRectangle(unsigned char x1, unsigned char y1,
+                             unsigned char x2, unsigned char y2, unsigned char c);
+    void drawCircle(unsigned char xc, unsigned char yc,
+                    unsigned char r, unsigned char c);
+#endif
+
+};
+
+#endif //_HT1632_LEDMATRIX_H