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.
Fork of GEO_COUNTER_L432KC by
Diff: LED7segDisplay.hpp
- Revision:
- 25:0161bf1adc81
- Child:
- 26:166dbe6022e8
diff -r db7494389c03 -r 0161bf1adc81 LED7segDisplay.hpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LED7segDisplay.hpp Wed Sep 05 10:15:52 2018 -0700
@@ -0,0 +1,55 @@
+/**
+ * @author Charles Young
+ * This class encapsulates the behavior of the 7-seg 8 digit LED display
+ */
+
+#ifndef LED7segDisplay_H
+#define LED7segDisplay_H
+
+/**
+ * Includes
+ */
+#include "mbed.h"
+#include "HwRegisters.hpp"
+
+#define DEC_MODE 0x09FF // BCD decoding on all digits
+#define SCAN_LIM 0x0B07 // use all 8 digits
+#define TURN_ON 0x0C01 // no shutdown (operating)
+#define SHUTDOWN 0x0C00 // shutdown
+#define TEST 0x0F00 // no test
+#define DT 1 // delay time in us for SPI emulation
+
+#define BRIGHTNESS_MIN 0x0A00 // brightness in 16 steps - min to max is 0x0A00 to 0x0A0F
+#define BRIGHTNESS_MAX 0x0A0F // brightness in 16 steps - min to max is 0x0A00 to 0x0A0F
+
+/**
+ * Code associated with rotary switch.
+ */
+class LED7segDisplay {
+
+public:
+
+ /**
+ * Constructor.
+ *
+ * @param channelA mbed pin for channel A input.
+ * @param channelB mbed pin for channel B input.
+ */
+ LED7segDisplay();
+
+ void Display_6D_write(uint8_t); // write to MAX7219 (Main 6-digits display)
+ void Display_2D_write(unsigned short); // write to MAX7219 (Gate 2-digits display)
+ void Display_brightness_up();
+ void Display_brightness_down();
+
+private:
+ uint16_t brightness = BRIGHTNESS_MAX;
+ uint8_t Disp_Digit[8]; // used to manage 8-digits through MAX7219
+ uint16_t Stream; // used to stream out serial data to MAX7219
+
+ void Display_init(void); // initialize MAX7219
+ void sendDataToDisplay(uint16_t data_to_send);
+ void Display_brightness(uint16_t brightness);
+};
+
+#endif /* LED7segDisplay_H */
