mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-09-19 16:46:11 -04:00
0.3.5 HT16K33
This commit is contained in:
parent
53cf5a74de
commit
233811506c
@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: HT16K33.cpp
|
// FILE: HT16K33.cpp
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.3.4
|
// VERSION: 0.3.5
|
||||||
// DATE: 2019-02-07
|
// DATE: 2019-02-07
|
||||||
// PURPOSE: Arduino Library for HT16K33 4x7segment display
|
// PURPOSE: Arduino Library for HT16K33 4x7segment display
|
||||||
// URL: https://github.com/RobTillaart/HT16K33
|
// URL: https://github.com/RobTillaart/HT16K33
|
||||||
@ -13,11 +13,13 @@
|
|||||||
// 0.1.3 2019-10-07 fixed clear, added suppressLeadingZeroPlaces();
|
// 0.1.3 2019-10-07 fixed clear, added suppressLeadingZeroPlaces();
|
||||||
// 0.1.4 2019-11-28 added displayRaw(), displayVULeft(), displayVURight()
|
// 0.1.4 2019-11-28 added displayRaw(), displayVULeft(), displayVURight()
|
||||||
// 0.1.5 2019-11-30 refactor,
|
// 0.1.5 2019-11-30 refactor,
|
||||||
|
//
|
||||||
// 0.2.0 2020-06-13 ESP32 support; fix brightness bug;
|
// 0.2.0 2020-06-13 ESP32 support; fix brightness bug;
|
||||||
// 0.2.1 2020-07-15 fix #160 - decimal point
|
// 0.2.1 2020-07-15 fix #160 - decimal point
|
||||||
// 0.2.2 2020-10-04 added displayDate() thanks to bepitama
|
// 0.2.2 2020-10-04 added displayDate() thanks to bepitama
|
||||||
// 0.2.3 2020-10-09 issue #4 add negative values for displayInt()
|
// 0.2.3 2020-10-09 issue #4 add negative values for displayInt()
|
||||||
// 0.2.4 2020-10-10 refactor #5 setDigits() iso suppressLeadingZeroPlaces()
|
// 0.2.4 2020-10-10 refactor #5 setDigits() iso suppressLeadingZeroPlaces()
|
||||||
|
//
|
||||||
// 0.3.0 2020-10-12 negative float, cache control, extend displayRaw()
|
// 0.3.0 2020-10-12 negative float, cache control, extend displayRaw()
|
||||||
// 0.3.1 2020-12-28 Arduino-CI, unit test (framework only),
|
// 0.3.1 2020-12-28 Arduino-CI, unit test (framework only),
|
||||||
// 0.3.2 2021-01-14 add WireN support,
|
// 0.3.2 2021-01-14 add WireN support,
|
||||||
@ -26,6 +28,8 @@
|
|||||||
// add displayFloat(f, decimals); // experimental
|
// add displayFloat(f, decimals); // experimental
|
||||||
// 0.3.3 2021-05-26 fix #17 add leadingZero flag in displayTIme() [Kudos to OwenDuffy]
|
// 0.3.3 2021-05-26 fix #17 add leadingZero flag in displayTIme() [Kudos to OwenDuffy]
|
||||||
// 0.3.4 2021-12-19 update library.json, license, minor edits
|
// 0.3.4 2021-12-19 update library.json, license, minor edits
|
||||||
|
// 0.3.5 2022-09-23 fix #21 additional LEDs on the display
|
||||||
|
// used in a special layout :88:8'8
|
||||||
|
|
||||||
|
|
||||||
#include "HT16K33.h"
|
#include "HT16K33.h"
|
||||||
@ -498,6 +502,16 @@ void HT16K33::displayColon(uint8_t on)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void HT16K33::displayExtraLeds(uint8_t value)
|
||||||
|
{
|
||||||
|
if (value > 30)
|
||||||
|
{
|
||||||
|
return; // no leds.
|
||||||
|
}
|
||||||
|
writePos(2, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void HT16K33::dumpSerial(uint8_t *array, uint8_t point)
|
void HT16K33::dumpSerial(uint8_t *array, uint8_t point)
|
||||||
{
|
{
|
||||||
// to debug without display
|
// to debug without display
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: HT16K33.h
|
// FILE: HT16K33.h
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.3.4
|
// VERSION: 0.3.5
|
||||||
// DATE: 2019-02-07
|
// DATE: 2019-02-07
|
||||||
// PURPOSE: Arduino Library for HT16K33 4x7segment display
|
// PURPOSE: Arduino Library for HT16K33 4x7segment display
|
||||||
// http://www.adafruit.com/products/1002
|
// http://www.adafruit.com/products/1002
|
||||||
@ -14,7 +14,7 @@
|
|||||||
#include "Wire.h"
|
#include "Wire.h"
|
||||||
|
|
||||||
|
|
||||||
#define HT16K33_LIB_VERSION (F("0.3.4"))
|
#define HT16K33_LIB_VERSION (F("0.3.5"))
|
||||||
|
|
||||||
|
|
||||||
// Characters
|
// Characters
|
||||||
@ -90,6 +90,14 @@ public:
|
|||||||
void displayColon(uint8_t on); // 0 = off
|
void displayColon(uint8_t on); // 0 = off
|
||||||
void displayRaw(uint8_t *array, bool colon = false); // max control
|
void displayRaw(uint8_t *array, bool colon = false); // max control
|
||||||
|
|
||||||
|
// from issue #21 - used in special layout :88:8'8 normal = 88:88 or 8.8.8.8
|
||||||
|
// value = 0 ==> all off.
|
||||||
|
// 2 = colon
|
||||||
|
// 4 = upper left point, left of the 1st digit
|
||||||
|
// 8 = lower left point, left of the 1st digit
|
||||||
|
// 16 = upper point between 3rd and 4th digit
|
||||||
|
void displayExtraLeds(uint8_t value);
|
||||||
|
|
||||||
bool displayVULeft(uint8_t value); // 0..8
|
bool displayVULeft(uint8_t value); // 0..8
|
||||||
bool displayVURight(uint8_t value); // 0..8
|
bool displayVURight(uint8_t value); // 0..8
|
||||||
|
|
||||||
|
@ -119,6 +119,20 @@ These functions are new and still under investigation.
|
|||||||
- **void display(uint8_t \* array, uint8_t point)** idem + point = position of the digit with point (0..3).
|
- **void display(uint8_t \* array, uint8_t point)** idem + point = position of the digit with point (0..3).
|
||||||
- **void displayColon(uint8_t on)** 0 = off, all values other are on.
|
- **void displayColon(uint8_t on)** 0 = off, all values other are on.
|
||||||
- **void displayRaw(uint8_t \* array, bool colon)** array of 4 bytes to control one 7seg display + colon flag.
|
- **void displayRaw(uint8_t \* array, bool colon)** array of 4 bytes to control one 7seg display + colon flag.
|
||||||
|
- **void displayExtraLeds(uint8_t value)** switch on extra leds.
|
||||||
|
value is in fact a bit mask see table below. 0 = all off.
|
||||||
|
|
||||||
|
#### Extra Leds table
|
||||||
|
|
||||||
|
| mask | description |
|
||||||
|
|:------:|:--------------|
|
||||||
|
| 0x00 | all off
|
||||||
|
| 0x02 | colon.
|
||||||
|
| 0x04 | upper left point, left of the 1st digit.
|
||||||
|
| 0x08 | lower left point, left of the 1st digit.
|
||||||
|
| 0x10 | upper point between 3rd and 4th digit.
|
||||||
|
|
||||||
|
( based upon issue #21 )
|
||||||
|
|
||||||
|
|
||||||
### Debugging
|
### Debugging
|
||||||
@ -139,7 +153,8 @@ See examples
|
|||||||
|
|
||||||
## Future
|
## Future
|
||||||
|
|
||||||
**0.4.0**
|
#### 0.4.0
|
||||||
|
|
||||||
- **bool isDisplayOn()** and similar state functions
|
- **bool isDisplayOn()** and similar state functions
|
||||||
- configuration byte: 4 bits brightness, 1 bit on off flag, 1 bit cache flag, 2 blink rate
|
- configuration byte: 4 bits brightness, 1 bit on off flag, 1 bit cache flag, 2 blink rate
|
||||||
- **void setBrightness()** and **uint8_t getBrightness()**
|
- **void setBrightness()** and **uint8_t getBrightness()**
|
||||||
@ -147,8 +162,10 @@ See examples
|
|||||||
- **void getDigits()**
|
- **void getDigits()**
|
||||||
- **FixedPoint()** regular (experimental in 0.3.2)
|
- **FixedPoint()** regular (experimental in 0.3.2)
|
||||||
- overflow flag ? or not decision
|
- overflow flag ? or not decision
|
||||||
|
- move all code to .cpp file
|
||||||
|
- even the small functions.
|
||||||
|
|
||||||
**unknown**
|
#### unknown
|
||||||
- VU metering using halve bars allows two VU from 0..8 **new**
|
- VU metering using halve bars allows two VU from 0..8 **new**
|
||||||
- VU metering using halve bars allows one VU from 0..17. extension of current VUleft/right
|
- VU metering using halve bars allows one VU from 0..17. extension of current VUleft/right
|
||||||
- optimize the math if possible - performance and footprint. +float + int division
|
- optimize the math if possible - performance and footprint. +float + int division
|
||||||
|
@ -38,6 +38,8 @@ displayColon KEYWORD2
|
|||||||
displayTest KEYWORD2
|
displayTest KEYWORD2
|
||||||
displayRaw KEYWORD2
|
displayRaw KEYWORD2
|
||||||
|
|
||||||
|
displayExtraLeds KEYWORD2
|
||||||
|
|
||||||
displayVULeft KEYWORD2
|
displayVULeft KEYWORD2
|
||||||
displayVURight KEYWORD2
|
displayVURight KEYWORD2
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/RobTillaart/HT16K33.git"
|
"url": "https://github.com/RobTillaart/HT16K33.git"
|
||||||
},
|
},
|
||||||
"version": "0.3.4",
|
"version": "0.3.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"frameworks": "arduino",
|
"frameworks": "arduino",
|
||||||
"platforms": "*",
|
"platforms": "*",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=HT16K33
|
name=HT16K33
|
||||||
version=0.3.4
|
version=0.3.5
|
||||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
sentence=Arduino Library for HT16K33 I2C 4x7segment display
|
sentence=Arduino Library for HT16K33 I2C 4x7segment display
|
||||||
|
Loading…
Reference in New Issue
Block a user