From 10ea98f06142e62f67b13106c7f667e8de72d3a1 Mon Sep 17 00:00:00 2001 From: philippe44 Date: Sat, 18 Jan 2020 01:05:59 -0800 Subject: [PATCH] brightness --- components/display/display.c | 2 ++ components/display/driver_SSD1306.c | 20 +++++++++++++++++++- plugin/SqueezeESP32.zip | Bin 4562 -> 4587 bytes plugin/SqueezeESP32/Graphics.pm | 4 ++++ plugin/SqueezeESP32/install.xml | 2 +- plugin/repo.xml | 4 ++-- 6 files changed, 28 insertions(+), 4 deletions(-) diff --git a/components/display/display.c b/components/display/display.c index 33bf0b40..4a9fed68 100644 --- a/components/display/display.c +++ b/components/display/display.c @@ -106,6 +106,8 @@ static bool display_handler(u8_t *data, int len){ handle->vfdc_handler(data, len); } else if (!strncmp((char*) data, "grfe", 4)) { handle->grfe_handler(data, len); + } else if (!strncmp((char*) data, "grfb", 4)) { + handle->grfb_handler(data, len); } else { res = false; } diff --git a/components/display/driver_SSD1306.c b/components/display/driver_SSD1306.c index f2405e98..aa2d7290 100644 --- a/components/display/driver_SSD1306.c +++ b/components/display/driver_SSD1306.c @@ -36,6 +36,7 @@ static const char *TAG = "display"; static void vfdc_handler( u8_t *_data, int bytes_read); static void grfe_handler( u8_t *data, int len); +static void grfb_handler( u8_t *data, int len); static bool display_init(char *config, char *welcome); static void print_message(char *msg); @@ -44,6 +45,7 @@ struct display_handle_s SSD1306_handle = { print_message, vfdc_handler, grfe_handler, + grfb_handler, NULL, NULL, }; @@ -243,7 +245,7 @@ static void vfdc_handler( u8_t *_data, int bytes_read) { /**************************************************************************************** * Process graphic display data */ -void grfe_handler( u8_t *data, int len) { +static void grfe_handler( u8_t *data, int len) { data += 8; len -= 8; @@ -293,4 +295,20 @@ void grfe_handler( u8_t *data, int len) { #endif } +/**************************************************************************************** + * Process graphic display data + */ +static void grfb_handler(u8_t *data, int len) { + s16_t brightness = htons(*(uint16_t*) (data + 4)); + + ESP_LOGI(TAG, "brightness %hx", brightness); + if (brightness < 0) { + SSD1306_DisplayOff( &Display ); + } else { + SSD1306_DisplayOn( &Display ); + SSD1306_SetContrast( &Display, brightness * 256 / 4 - 1); + } +} + + diff --git a/plugin/SqueezeESP32.zip b/plugin/SqueezeESP32.zip index ddffccc8ea0b4714f5387a3e70b62751c6c8ffc5..e8aba5c1fb8797149ee893e74d5c3651ee407a9c 100644 GIT binary patch delta 1447 zcmV;Y1z7shBkLo7P)h>@6aWAK2mntAGEhidNJi-b008+0000XB002jFVQ^?^V{tOD7g`fo6Qp@)5x1G2u8`YwmnA{h@oN;3G@YyiSN~VCz%jDp21eC5wH*Xi2}Kg zvSg-tfwnBzQKt2pxjj$#)pm!iPW!hrxasz~4y9K1^1uTNR7kG{W%*!&s$}Mi<~BS% zLACb1pg4?wlK{15$=KKg{Q?zZ;}K}lhy4S%GLJf~?ho_YGB$vm3%yveK%y__KVdF* zFqgGJLsL(9aSpk9S>`o7TMM=7x>|qGI~zEzdvnwptczCP7yXQ8ZC%spwEC`d@}|e? z7v<{zm$SfZb@k(8rmJ7=bYs1YfpgJnciY{wH+`3XtJar%?*JG;pHk`zTW z1L+HYL@pswA%zvipx)Y5sXbDR|*BsOV@#A`EZXyvV_xrq=aN15{~eYWKlp}xJSTgioU|2(930r zj*1*nEKb#|==DhGs`USO;iW4rFYWH^)ORes*=iQlEof}#?cev4I7Y5?azWikahyb1 z%vZ7-ge7RE3X!0=8P4+#EMeq@aBGmue9D#x8M3h|ALJv~Bg29PSUSAXNB4XX7Yz3p z<3LYIw32O3ip#5P+6CA)r*vuLDb>AylR*O-vl0Ua0ticuAep!kIy-K*<{&Uma+B4IgmCoUcePrRBh5RG{4W-9gu;VN-I;=G8C8f zR%n-|?7K$%#V#jJdmBhkjnnUjW#-8xkXG!g6&ATSmac~b0~wt5XXFFmX@9dx1{4Ji z1hp_wjMQQoi2wiq=96j*8h>Z{6>roH^$QHVCNQeBac4pR_h)V zI2zz;)q^@P8WyWCT#kq2)Y%ef(~lzz#y2w}q)6g&|4peoBKH=xZvxm0lLidK4NnL% zP)J-zM(F|o0Qr;F3@ir4;-v!K&65ZXJO~m4002l-O-z&T4i%GO4LSielbj7%0b7&y z4PgO^lRpn2lXwnJ0mPF(4=I!I4o(6H1d~7yVjousGEmA*W?&Kl008R&000XBBme*a z00000AOHXWD3iet8V0B|_zT|6li?3M0b`RM5Ly9HlX(zY0V0#s5I!FSwJ=bO)M6Ql z0002y0000B03-ka0000003ZMW0Bw^o5gG>E_2TpZ&680PJOLk*juAcv)(iju002iu Be*ORe delta 1460 zcmZWpXHb&~5dBh!bP@>CJh~7e#(;>5bm=u9oD>x}L<~}5f(Qu2a#D>3KcotTjtB^- zfC7Tji&7L6LhwQ_0Y;Gs88|P_&CT4+?abSGvp;rs-t4{=wGlNc!5#)j0{|ch+=k%^ z>|~i(n`)Ls%@~hdfqT{eI-hd#i^8Cw;z723A&La>lA$jW>U=e_%H~Lg~u|xhF)E~8l5{e{x~Xw zs@3T{w=3NS@QmDz*0}dRFPCNK&I@eOw~YN7q#`)^MXx^{U-wa@IXSPgm&%!| zE~6%6%=dbt$L+S`ta&wk;m~c{rlS$?3OCXgnBP+RC9`{*(w4yz^OZ69qkGbg0qqK7 zTw?={g85y)UvHa>v+NTNB2L; zJ28Fvf#boxvneERdVi(AzMx#qBdzCk+$AvTbqsdj-A&nZM@F;Rq01{r6^+M3-hGvD z>3v473BWDF=pm2ven1HJP#7Gfi|u`ig(0AVZTt^7VWTAk8VF#hH)Wm5k`X8i)str% zh5X5twrND1d9!#WCLKG|6IHE^qjg=`q2Z>6-b=NO z6|E`DxS`E%uQ#XWMXjY4&WA~AD^poFPIlfd-b|nuR@Zt|RXfg<=;YfH(R5=&dLHu^ zUe3$(!dc_+v_O|I$k-vqjT0)fQKI!Oa89j@eX&R-Ffo zL?6yXCPXh%UW?87MvJaNTu8xWJ15L;4x?mGIH=vxe@3;yWND0Yb4R{e{COaIh|C2* zCDC@V|JWF~E{a9;ME0|-20#@tL+BP1^bvCxQGfw}jhmyxAxkGvMO+&EAZ7qD122n9 zfvVz8kT5PLUGIN_SQUEEZEESP32 PLUGIN_SQUEEZEESP32_DESC Plugins::SqueezeESP32::Plugin - 0.4 + 0.5 Philippe diff --git a/plugin/repo.xml b/plugin/repo.xml index 9467e48f..6b784f47 100644 --- a/plugin/repo.xml +++ b/plugin/repo.xml @@ -1,10 +1,10 @@ - + https://github.com/sle118/squeezelite-esp32 Philippe - cec20d0489ed120d56ea2de836c616c7d970c0d5 + 479c0a88d9c3b645abd98a6b8075f33e048ce4ce philippe_44@outlook.com SqueezeESP32 additional player id (100) http://github.com/sle118/squeezelite-esp32/raw/master/plugin/SqueezeESP32.zip