Add SH1106 OLED support (#5787)
* modify oled_driver to support SH1106 also: - improve mechanism to specify which OLED IC we use - comment calc_bounds() - give OLED_COLUMN_OFFSET a default value - inline comment re: OLED MEMORY_MODE and SH1106 - update docs/feature_oled_driver.h for SH1106 support and related changes - docs: OLED: note we have tested SSD1306 on ARM boards (per @XScorpion2) - define out MEMORY_MODE when using SH1106 OLED driver * document that SSD1306 128x64 on AVR works Per @XScorpion2: https://github.com/qmk/qmk_firmware/pull/5787#discussion_r291837842
This commit is contained in:
parent
b92387b749
commit
e6a81133dd
3 changed files with 67 additions and 16 deletions
|
@ -19,6 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
// an enumeration of the chips this driver supports
|
||||
#define OLED_IC_SSD1306 0
|
||||
#define OLED_IC_SH1106 1
|
||||
|
||||
#if defined(OLED_DISPLAY_CUSTOM)
|
||||
// Expected user to implement the necessary defines
|
||||
|
@ -100,7 +103,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
// #define OLED_TARGET_MAP { 48, 32, 16, 0, 56, 40, 24, 8 }
|
||||
#endif // defined(OLED_DISPLAY_CUSTOM)
|
||||
|
||||
// Address to use for tthe i2d oled communication
|
||||
#if !defined(OLED_IC)
|
||||
#define OLED_IC OLED_IC_SSD1306
|
||||
#endif
|
||||
|
||||
// the column address corresponding to the first column in the display hardware
|
||||
#if !defined(OLED_COLUMN_OFFSET)
|
||||
#define OLED_COLUMN_OFFSET 0
|
||||
#endif
|
||||
|
||||
// Address to use for the i2c oled communication
|
||||
#if !defined(OLED_DISPLAY_ADDRESS)
|
||||
#define OLED_DISPLAY_ADDRESS 0x3C
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue