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
--- 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);