TM1638 LED controller. Max 80 LEDs, Max 24 Key scan. Supports LED&KEY, QYF-TM1638 and JY-LKM1638 module.
Dependents: mbed_TM1638 Otjimaniya RL0201-V1
See here for more information.
Diff: TM1638.h
- Revision:
- 1:1f2453ed85d7
- Parent:
- 0:201dfacbe0e5
- Child:
- 2:532ce15ea9ec
diff -r 201dfacbe0e5 -r 1f2453ed85d7 TM1638.h
--- a/TM1638.h Mon Dec 21 22:39:22 2015 +0000
+++ b/TM1638.h Sat Jan 09 14:30:43 2016 +0000
@@ -35,7 +35,7 @@
* DisplayData_t size is 16 bytes (8 grids @ 10 segments)
* TM1638::DisplayData_t all_str = {0xFF,0x3F, 0xFF,0x3F, 0xFF,0x3F, 0xFF,0x3F, 0xFF,0x3F, 0xFF,0x3F, 0xFF,0x3F, 0xFF,0x3F};
*
- * // KeyData_t size is 5 bytes
+ * // KeyData_t size is 4 bytes
* TM1638::KeyData_t keydata;
*
* // TM1638 declaration
@@ -54,7 +54,7 @@
* if (TM1638.getKeys(&keydata)) {
* pc.printf("Keydata 0..3 = 0x%02x 0x%02x 0x%02x 0x%02x\r\n", keydata[0], keydata[1], keydata[2], keydata[3]);
*
- * if (keydata[0] == 0x10) { //sw2
+ * if (keydata[0] == 0x01) { //sw1
* TM1638.cls();
* TM1638.writeData(all_str);
* }
@@ -203,9 +203,27 @@
#define LEDKEY8_NR_GRIDS 8
#define LEDKEY8_NR_DIGITS 8
-#define LEDKEY8_DIG1_IDX 1
#define LEDKEY8_NR_UDC 8
+//Access to 8 Switches
+#define LEDKEY8_SW1_IDX 0
+#define LEDKEY8_SW1_BIT 0x01
+#define LEDKEY8_SW2_IDX 1
+#define LEDKEY8_SW2_BIT 0x01
+#define LEDKEY8_SW3_IDX 2
+#define LEDKEY8_SW3_BIT 0x01
+#define LEDKEY8_SW4_IDX 3
+#define LEDKEY8_SW4_BIT 0x01
+
+#define LEDKEY8_SW5_IDX 0
+#define LEDKEY8_SW5_BIT 0x10
+#define LEDKEY8_SW6_IDX 1
+#define LEDKEY8_SW6_BIT 0x10
+#define LEDKEY8_SW7_IDX 2
+#define LEDKEY8_SW7_BIT 0x10
+#define LEDKEY8_SW8_IDX 3
+#define LEDKEY8_SW8_BIT 0x10
+
/** Constructor for class for driving TM1638 controller as used in LEDKEY8
*
* @brief Supports 8 Digits of 7 Segments + DP + LED Icons, Also supports a scanned keyboard of 8 keys.
@@ -216,7 +234,7 @@
public:
/** Enums for Icons */
- // Grid encoded in 8 MSBs, Icon pattern encoded in 24 LSBs
+ // Grid encoded in 8 MSBs, Icon pattern encoded in 16 LSBs
enum Icon {
LD1 = (1<<24) | S7_LD1,
LD2 = (2<<24) | S7_LD2,
@@ -275,14 +293,14 @@
/** Set Icon
*
- * @param Icon icon Enums Icon has Grid position encoded in 8 MSBs, Icon pattern encoded in 24 LSBs
+ * @param Icon icon Enums Icon has Grid position encoded in 8 MSBs, Icon pattern encoded in 16 LSBs
* @return none
*/
void setIcon(Icon icon);
/** Clr Icon
*
- * @param Icon icon Enums Icon has Grid position encoded in 8 MSBs, Icon pattern encoded in 24 LSBs
+ * @param Icon icon Enums Icon has Grid position encoded in 8 MSBs, Icon pattern encoded in 16 LSBs
* @return none
*/
void clrIcon(Icon icon);
TM1638 LED controller (80 LEDs max), Keyboard scan (24 keys max)