Alphanumeric LED display, 8 digits, 5x7 pattern. Supports 8x1, 8x2, 16x1 and 16x2 display configuration.

Dependents:   mbed_HCMS2975

Alphanumeric LED display, 8 digits, 5x7 LED pattern. The device has SPI interface. The library supports multiple devices connected in a daisy chain. This provides a 8x1, 8x2, 16x1 and 16x2 display configuration.The library methods are similar to those used for the LCDText library.

/media/uploads/wim/hcms2975.jpg

These displays are from mid 80s to mid 90s and they look cool, but they are rather expensive ($100 a piece..). The lib was developed and tested with displays salvaged from some equipment. You see them mostly in HP printers, medical equipment etc.

Some info can be found here and here.

Datasheet is here

Revision:
1:f46d90374eb2
Parent:
0:a332431006fb
--- a/HCMS2975.cpp	Wed Oct 15 16:46:12 2014 +0000
+++ b/HCMS2975.cpp	Mon Jan 05 20:37:06 2015 +0000
@@ -5,6 +5,8 @@
  * @date   Copyright (c) 2014
  *         v01: WH, Initial release
  *              Info available at http://playground.arduino.cc/Main/LedDisplay and http://www.pjrc.com/teensy/td_libs_LedDisplay.html 
+ *         v02: WH, added getVersion()  
+ *         v03: WH, fixed setBrightness at init() when there is no HW reset.   
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -192,7 +194,7 @@
 
 /** Return the number of columns
   *
-  * @param return  The number of columns
+  * @return int The number of columns
   */   
 int HCMS2975::columns() {
     
@@ -203,7 +205,7 @@
 
 /** Return the number of rows
   *
-  * @param return  The number of rows
+  * @return int The number of rows
   */
 int HCMS2975::rows() {
 
@@ -293,9 +295,9 @@
   _spi->format(8,0);
   _spi->frequency(1000000);    // Max SCL is 5 MHz for HCMS2975
 //  _spi->frequency(50000);    // Max SCL is 5 MHz for HCMS2975
-  
-  //Clear display
-  cls();
+
+  //Set display to serial mode
+  _writeCommand(HCMS2975_CONTROL1 | HCMS2975_PRE_1 | HCMS2975_SERIAL);
 
   // default display brightness and peak
   _brightness = HCMS2975_DEF_BRIGHT;
@@ -304,6 +306,8 @@
   //Set display to normal
   _writeCommand(HCMS2975_CONTROL0 | HCMS2975_NORMAL | _peak | _brightness);
 
+  //Clear display
+  cls();
 } 
  
  
@@ -429,11 +433,10 @@
   return -1;    
 }
 
-#if(0)
+
 /** Returns the version number of the library
   * @return int version number
   */
 int HCMS2975::getVersion() {
-  return HCMS2975_VERSION    
+  return HCMS2975_VERSION;
 }
-#endif
\ No newline at end of file