From 096e1d636db1de746876411c59f761eaa9da0afb Mon Sep 17 00:00:00 2001 From: Philippe G Date: Mon, 18 Jan 2021 22:49:27 -0800 Subject: [PATCH] SSD1322 enhancement - release at the expense of power but needed for 5.5' displays --- components/display/SSD1322.c | 17 +++++++++++------ components/squeezelite/alac.c | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/components/display/SSD1322.c b/components/display/SSD1322.c index b7d33bb6..ee6c0b37 100644 --- a/components/display/SSD1322.c +++ b/components/display/SSD1322.c @@ -147,23 +147,28 @@ static bool Init( struct GDS_Device* Device ) { Private->ReMap = 0; Device->SetLayout( Device, false, false, false); + // set Display Enhancement + Device->WriteCommand( Device, 0xB4 ); + WriteDataByte( Device, 0xA0 ); + WriteDataByte( Device, 0xB5 ); + // set Clocks Device->WriteCommand( Device, 0xB3 ); - WriteDataByte( Device, 0x91 ); + WriteDataByte( Device, 0xB2 ); // 0x91 seems to be common but is too slow for 5.5' // set MUX Device->WriteCommand( Device, 0xCA ); WriteDataByte( Device, Device->Height - 1 ); - // phase 1 & 2 period (needed?) + // phase 1 & 2 period Device->WriteCommand( Device, 0xB1 ); - WriteDataByte( Device, 0xE2 ); + WriteDataByte( Device, 0xE3 ); // 0xE2 was recommended - // set pre-charge V (needed?°) + // set pre-charge V Device->WriteCommand( Device, 0xBB ); - WriteDataByte( Device, 0x1F ); + WriteDataByte( Device, 0x0F); // 0x1F causes column interferences - // set COM deselect voltage (needed?) + // set COM deselect voltage Device->WriteCommand( Device, 0xBE ); WriteDataByte( Device, 0x07 ); diff --git a/components/squeezelite/alac.c b/components/squeezelite/alac.c index 9f7edb86..c159e241 100644 --- a/components/squeezelite/alac.c +++ b/components/squeezelite/alac.c @@ -21,7 +21,7 @@ #include "squeezelite.h" -#include +#include "alac_wrapper.h" #if BYTES_PER_FRAME == 4 #define ALIGN8(n) (n << 8)