mirror of
https://github.com/olikraus/U8g2_Arduino.git
synced 2026-07-27 20:06:05 +00:00
2.34.19
This commit is contained in:
@@ -8,5 +8,5 @@ Description: https://github.com/olikraus/u8g2/wiki
|
||||
|
||||
Issue Tracker: https://github.com/olikraus/u8g2/issues
|
||||
|
||||
Download (2.34.18): https://github.com/olikraus/U8g2_Arduino/archive/master.zip
|
||||
Download (2.34.19): https://github.com/olikraus/U8g2_Arduino/archive/master.zip
|
||||
|
||||
|
||||
@@ -479,6 +479,9 @@ void drawFile(u8g2_int_t x, u8g2_int_t y, const char *filename) {
|
||||
len = w; // len will contain the horizontal number of pixel
|
||||
mask = 1;
|
||||
b = myFile.read(); // load the first 8 pixel into "b"
|
||||
|
||||
/* The following code has an issue with some values for "w", see issue 2179 */
|
||||
/*
|
||||
while(len > 0) { // draw all pixel of one line
|
||||
if ( b & mask ) { // check one pixel
|
||||
u8g2.setDrawColor(1);
|
||||
@@ -496,6 +499,30 @@ void drawFile(u8g2_int_t x, u8g2_int_t y, const char *filename) {
|
||||
}
|
||||
len--; // decrease the horizontal width (remaining pixel)
|
||||
}
|
||||
*/
|
||||
|
||||
/* new code */
|
||||
|
||||
for(;;) { // draw all pixel of one line
|
||||
if ( b & mask ) { // check one pixel
|
||||
u8g2.setDrawColor(1);
|
||||
u8g2.drawPixel(xpos,y);
|
||||
} else {
|
||||
u8g2.setDrawColor(0);
|
||||
u8g2.drawPixel(xpos,y);
|
||||
}
|
||||
xpos++; // calculate next x pos of the pixel
|
||||
mask <<= 1; // update the mask
|
||||
len--; // decrease the horizontal width (remaining pixel)
|
||||
if ( len == 0 ) // check if row is finished
|
||||
break;
|
||||
if ( mask == 0 )
|
||||
{
|
||||
mask = 1; // revert mask and ...
|
||||
b = myFile.read(); // ... load the next 8 pixel values from the file
|
||||
}
|
||||
}
|
||||
|
||||
y++; // goto next line
|
||||
h--; // decrease the number of remaining lines
|
||||
}
|
||||
|
||||
+10
-1
@@ -301,15 +301,24 @@ https://github.com/olikraus/u8g2 ChangeLog
|
||||
2023-xx-xx v2.34.xx olikraus@gmail.com
|
||||
* SSD1327 ZJY M150 128x128 (issue 1960)
|
||||
* SSD1316 96x32 (issue 1938)
|
||||
* SSD1322 240x128 (issue 2092)
|
||||
* SH1108 128x160 (issue 1998)
|
||||
* SSD1306 96x39 (issue 1959)
|
||||
* S1D15300 128x64, flip mode 1 not supported, (issue 2063)
|
||||
* SSD1362 256x64 (issue 1322, issue 2051)
|
||||
* JLX160x80 (issue 2058)
|
||||
* ST75256 JLX160x80 (NOT TESTED, issue 2058)
|
||||
* UC1638 240x128 (issue 2075)
|
||||
* SED1330 320x200 (issue 1086)
|
||||
* Bugfix: Clear font_height_mode during setup to ensure correct default values in
|
||||
cases where the u8g2 struct / class is created via dynamic memory allocation (issue 2046)
|
||||
* Bugfix: Fix line draw procedure in 16 bit mode (issue 2053)
|
||||
* Added Spleen Monospaced Font from https://github.com/fcambus/spleen (issue 2015)
|
||||
* Extended the "E" font range with subscript characters if available in the original font (issue 2079)
|
||||
* Bugfix for ESP32 HW SPI Pin Remapping (issue 377, PR 2123)
|
||||
* Bugfix for LoadFromSD examle (issue 2179)
|
||||
* Changed MUI_LABEL to support UTF8 (issue 2196)
|
||||
* Compiler Warning Cleanup for polygon draw (issue 1999, PR 2101)
|
||||
* Added MUI fixed width bar graph (issue 2200)
|
||||
* Added 04b fonts from u8glib (issue 2157)
|
||||
* Added "font_tiny5" (issue 2185)
|
||||
|
||||
|
||||
+4
-5
@@ -45,7 +45,6 @@ drawTriangle KEYWORD2
|
||||
drawUTF8 KEYWORD2
|
||||
drawVLine KEYWORD2
|
||||
drawXBM KEYWORD2
|
||||
drawXBMP KEYWORD2
|
||||
enableUTF8Print KEYWORD2
|
||||
firstPage KEYWORD2
|
||||
getAscent KEYWORD2
|
||||
@@ -134,6 +133,10 @@ u8g2_font_freedoomr25_mn LITERAL1
|
||||
u8g2_font_7Segments_26x42_mn LITERAL1
|
||||
u8g2_font_7_Seg_33x19_mn LITERAL1
|
||||
u8g2_font_7_Seg_41x21_mn LITERAL1
|
||||
u8g2_font_tiny5_tf LITERAL1
|
||||
u8g2_font_tiny5_tr LITERAL1
|
||||
u8g2_font_04b_03b_tr LITERAL1
|
||||
u8g2_font_04b_03_tr LITERAL1
|
||||
u8g2_font_amstrad_cpc_extended_8f LITERAL1
|
||||
u8g2_font_amstrad_cpc_extended_8r LITERAL1
|
||||
u8g2_font_amstrad_cpc_extended_8n LITERAL1
|
||||
@@ -914,7 +917,6 @@ u8g2_font_iconquadpix_m_all LITERAL1
|
||||
u8g2_font_tallpix_tr LITERAL1
|
||||
u8g2_font_botmaker_te LITERAL1
|
||||
u8g2_font_efraneextracondensed_te LITERAL1
|
||||
u8g2_font_minimal3x3_tu LITERAL1
|
||||
u8g2_font_3x3basic_tr LITERAL1
|
||||
u8g2_font_tiny_gk_tr LITERAL1
|
||||
u8g2_font_threepix_tr LITERAL1
|
||||
@@ -930,9 +932,6 @@ u8g2_font_smolfont_te LITERAL1
|
||||
u8g2_font_tinyunicode_tf LITERAL1
|
||||
u8g2_font_tinyunicode_tr LITERAL1
|
||||
u8g2_font_tinyunicode_te LITERAL1
|
||||
u8g2_font_micropixel_tf LITERAL1
|
||||
u8g2_font_micropixel_tr LITERAL1
|
||||
u8g2_font_micropixel_te LITERAL1
|
||||
u8g2_font_tinypixie2_tr LITERAL1
|
||||
u8g2_font_standardized3x5_tr LITERAL1
|
||||
u8g2_font_fivepx_tr LITERAL1
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
name=U8g2
|
||||
version=2.34.18
|
||||
version=2.34.19
|
||||
author=oliver <olikraus@gmail.com>
|
||||
maintainer=oliver <olikraus@gmail.com>
|
||||
sentence=Monochrome LCD, OLED and eInk Library. Display controller: SSD1305, SSD1306, SSD1309, SSD1312, SSD1316, SSD1318, SSD1320, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, SH1106, SH1107, SH1108, SH1122, T6963, RA8835, LC7981, PCD8544, PCF8812, HX1230, UC1601, UC1604, UC1608, UC1610, UC1611, UC1617, UC1638, UC1701, ST7511, ST7528, ST7565, ST7567, ST7571, ST7586, ST7588, ST75160, ST75256, ST75320, NT7534, ST7920, IST3020, IST3088, IST7920, LD7032, KS0108, KS0713, HD44102, T7932, SED1520, SBN1661, IL3820, MAX7219, GP1287, GP1247, GU800. Interfaces: I2C, SPI, Parallel.
|
||||
|
||||
+212
-147
@@ -402,7 +402,7 @@ uint8_t mui_u8g2_draw_text(mui_t *ui, uint8_t msg)
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
u8g2_DrawStr(mui_get_U8g2(ui), mui_get_x(ui), mui_get_y(ui), ui->text);
|
||||
u8g2_DrawUTF8(mui_get_U8g2(ui), mui_get_x(ui), mui_get_y(ui), ui->text);
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
@@ -934,8 +934,126 @@ uint8_t mui_u8g2_u8_min_max_wm_mud_pf(mui_t *ui, uint8_t msg)
|
||||
|
||||
/*===============================================================================*/
|
||||
|
||||
static void mui_u8g2_u8_bar_draw_wm(mui_t *ui, uint8_t flags) MUI_NOINLINE;
|
||||
static void mui_u8g2_u8_bar_draw_wm(mui_t *ui, uint8_t flags)
|
||||
static uint8_t mui_u8g2_u8_bar_mse_msg_handler(mui_t *ui, uint8_t msg) MUI_NOINLINE;
|
||||
static uint8_t mui_u8g2_u8_bar_mse_msg_handler(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);
|
||||
uint8_t *value = mui_u8g2_u8mms_get_valptr(vmms);
|
||||
uint8_t min = mui_u8g2_u8mms_get_min(vmms);
|
||||
uint8_t max = mui_u8g2_u8mms_get_max(vmms);
|
||||
uint8_t step = mui_u8g2_u8mms_get_step(vmms);
|
||||
uint8_t flags = mui_u8g2_u8mms_get_flags(vmms);
|
||||
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
case MUIF_MSG_VALUE_INCREMENT:
|
||||
(*value)+=step;
|
||||
if ( *value > max )
|
||||
{
|
||||
if ( flags & MUI_MMS_NO_WRAP )
|
||||
*value = max;
|
||||
else
|
||||
*value = min;
|
||||
}
|
||||
break;
|
||||
case MUIF_MSG_VALUE_DECREMENT:
|
||||
if ( *value >= min+step )
|
||||
(*value)-=step;
|
||||
else
|
||||
{
|
||||
if ( flags & MUI_MMS_NO_WRAP )
|
||||
*value = min;
|
||||
else
|
||||
*value = max;
|
||||
}
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static uint8_t mui_u8g2_u8_bar_mud_msg_handler(mui_t *ui, uint8_t msg) MUI_NOINLINE;
|
||||
static uint8_t mui_u8g2_u8_bar_mud_msg_handler(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);
|
||||
uint8_t *value = mui_u8g2_u8mms_get_valptr(vmms);
|
||||
uint8_t min = mui_u8g2_u8mms_get_min(vmms);
|
||||
uint8_t max = mui_u8g2_u8mms_get_max(vmms);
|
||||
uint8_t step = mui_u8g2_u8mms_get_step(vmms);
|
||||
uint8_t flags = mui_u8g2_u8mms_get_flags(vmms);
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
case MUIF_MSG_VALUE_INCREMENT:
|
||||
case MUIF_MSG_VALUE_DECREMENT:
|
||||
/* toggle between normal mode and capture next/prev mode */
|
||||
ui->is_mud = !ui->is_mud;
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
break;
|
||||
case MUIF_MSG_EVENT_NEXT:
|
||||
if ( ui->is_mud )
|
||||
{
|
||||
(*value)+=step;
|
||||
if ( *value > max )
|
||||
{
|
||||
if ( flags & MUI_MMS_NO_WRAP )
|
||||
*value = max;
|
||||
else
|
||||
*value = min;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case MUIF_MSG_EVENT_PREV:
|
||||
if ( ui->is_mud )
|
||||
{
|
||||
if ( *value <= min || *value > max)
|
||||
{
|
||||
if ( flags & MUI_MMS_NO_WRAP )
|
||||
*value = min;
|
||||
else
|
||||
*value = max;
|
||||
}
|
||||
else
|
||||
(*value)-=step;
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void mui_u8g2_u8_bar_draw_wm(mui_t *ui, uint8_t flags, uint8_t is_fixed_width) MUI_NOINLINE;
|
||||
static void mui_u8g2_u8_bar_draw_wm(mui_t *ui, uint8_t flags, uint8_t is_fixed_width)
|
||||
{
|
||||
u8g2_t *u8g2 = mui_get_U8g2(ui);
|
||||
mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);
|
||||
@@ -952,6 +1070,7 @@ static void mui_u8g2_u8_bar_draw_wm(mui_t *ui, uint8_t flags)
|
||||
int8_t backup_descent;
|
||||
u8g2_uint_t x = mui_get_x(ui);
|
||||
u8g2_uint_t w = 0;
|
||||
u8g2_uint_t v; // the calculated pixel value
|
||||
|
||||
if ( mms_flags & MUI_MMS_2X_BAR )
|
||||
scale |= 1;
|
||||
@@ -972,12 +1091,24 @@ static void mui_u8g2_u8_bar_draw_wm(mui_t *ui, uint8_t flags)
|
||||
s++;
|
||||
cnt--;
|
||||
}
|
||||
//mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), u8g2_GetStrWidth(u8g2, s)+1, 1, MUI_U8G2_V_PADDING, u8x8_u8toa(*value, cnt));
|
||||
//mui_u8g2_draw_button_pi(ui, u8g2_GetStrWidth(u8g2, s)+1, 1, u8x8_u8toa(*value, cnt));
|
||||
|
||||
if ( is_fixed_width == 0 )
|
||||
{
|
||||
w += (max<<scale); // total width of the bar is derived from the max value
|
||||
v = (*value)<<scale; // pixel position for the current value
|
||||
}
|
||||
else
|
||||
{
|
||||
u8g2_uint_t width = mui_u8g2_u8mms_get_width(vmms);
|
||||
|
||||
w += (width<<scale); // total width of bar is defined by the width argument
|
||||
v = ((u8g2_long_t)(*value) * (u8g2_long_t)(width<<scale)) / (u8g2_long_t)max; // u8g2_long_t is int32_t if 16 bit mode is enabled
|
||||
}
|
||||
|
||||
w += 2; // add gap for the frame
|
||||
|
||||
w += (max<<scale)+2;
|
||||
u8g2_DrawFrame( u8g2, x, mui_get_y(ui)-height, w, height);
|
||||
u8g2_DrawBox( u8g2, x+1, mui_get_y(ui)-height+1, (*value)<<scale, height-2);
|
||||
u8g2_DrawBox( u8g2, x+1, mui_get_y(ui)-height+1, v, height-2);
|
||||
if ( mms_flags & MUI_MMS_SHOW_VALUE )
|
||||
{
|
||||
w += 2;
|
||||
@@ -988,43 +1119,20 @@ static void mui_u8g2_u8_bar_draw_wm(mui_t *ui, uint8_t flags)
|
||||
backup_descent = u8g2->font_ref_descent;
|
||||
u8g2->font_ref_descent = 0; /* hmm... that's a low level hack so that DrawButtonFrame ignores the descent value of the font */
|
||||
u8g2_DrawButtonFrame(u8g2, x, mui_get_y(ui), flags, w, 1, 1);
|
||||
u8g2->font_ref_descent = backup_descent;
|
||||
|
||||
u8g2->font_ref_descent = backup_descent;
|
||||
}
|
||||
|
||||
// #define MUIF_U8G2_U8_MIN_MAX_STEP(id, valptr, min, max, step, flags, muif)
|
||||
|
||||
uint8_t mui_u8g2_u8_bar_wm_mse_pi(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);
|
||||
uint8_t *value = mui_u8g2_u8mms_get_valptr(vmms);
|
||||
uint8_t min = mui_u8g2_u8mms_get_min(vmms);
|
||||
uint8_t max = mui_u8g2_u8mms_get_max(vmms);
|
||||
uint8_t step = mui_u8g2_u8mms_get_step(vmms);
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui));
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
case MUIF_MSG_VALUE_INCREMENT:
|
||||
(*value)+=step;
|
||||
if ( *value > max ) *value = min;
|
||||
break;
|
||||
case MUIF_MSG_VALUE_DECREMENT:
|
||||
if ( *value >= min+step ) (*value)-=step; else *value = max;
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui), 0);
|
||||
break;
|
||||
default:
|
||||
return mui_u8g2_u8_bar_mse_msg_handler(ui, msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1032,146 +1140,103 @@ uint8_t mui_u8g2_u8_bar_wm_mse_pi(mui_t *ui, uint8_t msg)
|
||||
|
||||
uint8_t mui_u8g2_u8_bar_wm_mud_pi(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);
|
||||
uint8_t *value = mui_u8g2_u8mms_get_valptr(vmms);
|
||||
uint8_t min = mui_u8g2_u8mms_get_min(vmms);
|
||||
uint8_t max = mui_u8g2_u8mms_get_max(vmms);
|
||||
uint8_t step = mui_u8g2_u8mms_get_step(vmms);
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui));
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
case MUIF_MSG_VALUE_INCREMENT:
|
||||
case MUIF_MSG_VALUE_DECREMENT:
|
||||
/* toggle between normal mode and capture next/prev mode */
|
||||
ui->is_mud = !ui->is_mud;
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
break;
|
||||
case MUIF_MSG_EVENT_NEXT:
|
||||
if ( ui->is_mud )
|
||||
{
|
||||
(*value)+=step;
|
||||
if ( *value > max )
|
||||
*value = min;
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case MUIF_MSG_EVENT_PREV:
|
||||
if ( ui->is_mud )
|
||||
{
|
||||
if ( *value <= min || *value > max)
|
||||
*value = max;
|
||||
else
|
||||
(*value)-=step;
|
||||
return 1;
|
||||
}
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui), 0);
|
||||
break;
|
||||
default:
|
||||
return mui_u8g2_u8_bar_mud_msg_handler(ui, msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mui_u8g2_u8_bar_wm_mse_pf(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);
|
||||
uint8_t *value = mui_u8g2_u8mms_get_valptr(vmms);
|
||||
uint8_t min = mui_u8g2_u8mms_get_min(vmms);
|
||||
uint8_t max = mui_u8g2_u8mms_get_max(vmms);
|
||||
uint8_t step = mui_u8g2_u8mms_get_step(vmms);
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui));
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
case MUIF_MSG_VALUE_INCREMENT:
|
||||
(*value)+=step;
|
||||
if ( *value > max ) *value = min;
|
||||
break;
|
||||
case MUIF_MSG_VALUE_DECREMENT:
|
||||
if ( *value >= min+step ) (*value)-=step; else *value = max;
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui), 0);
|
||||
break;
|
||||
default:
|
||||
return mui_u8g2_u8_bar_mse_msg_handler(ui, msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mui_u8g2_u8_bar_wm_mud_pf(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);
|
||||
uint8_t *value = mui_u8g2_u8mms_get_valptr(vmms);
|
||||
uint8_t min = mui_u8g2_u8mms_get_min(vmms);
|
||||
uint8_t max = mui_u8g2_u8mms_get_max(vmms);
|
||||
uint8_t step = mui_u8g2_u8mms_get_step(vmms);
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui));
|
||||
break;
|
||||
case MUIF_MSG_FORM_START:
|
||||
break;
|
||||
case MUIF_MSG_FORM_END:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_ENTER:
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_SELECT:
|
||||
case MUIF_MSG_VALUE_INCREMENT:
|
||||
case MUIF_MSG_VALUE_DECREMENT:
|
||||
/* toggle between normal mode and capture next/prev mode */
|
||||
ui->is_mud = !ui->is_mud;
|
||||
break;
|
||||
case MUIF_MSG_CURSOR_LEAVE:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_DOWN:
|
||||
break;
|
||||
case MUIF_MSG_TOUCH_UP:
|
||||
break;
|
||||
case MUIF_MSG_EVENT_NEXT:
|
||||
if ( ui->is_mud )
|
||||
{
|
||||
(*value)+=step;
|
||||
if ( *value > max )
|
||||
*value = min;
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case MUIF_MSG_EVENT_PREV:
|
||||
if ( ui->is_mud )
|
||||
{
|
||||
if ( *value <= min || *value > max)
|
||||
*value = max;
|
||||
else
|
||||
(*value)-=step;
|
||||
return 1;
|
||||
}
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui), 0);
|
||||
break;
|
||||
default:
|
||||
return mui_u8g2_u8_bar_mud_msg_handler(ui, msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// #define MUIF_U8G2_U8_MIN_MAX_STEP_WIDTH(id, valptr, min, max, step, width, flags, muif)
|
||||
|
||||
|
||||
uint8_t mui_u8g2_u8_fixed_width_bar_wm_mse_pi(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui), 1);
|
||||
break;
|
||||
default:
|
||||
return mui_u8g2_u8_bar_mse_msg_handler(ui, msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
uint8_t mui_u8g2_u8_fixed_width_bar_wm_mud_pi(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui), 1);
|
||||
break;
|
||||
default:
|
||||
return mui_u8g2_u8_bar_mud_msg_handler(ui, msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mui_u8g2_u8_fixed_width_bar_wm_mse_pf(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui), 1);
|
||||
break;
|
||||
default:
|
||||
return mui_u8g2_u8_bar_mse_msg_handler(ui, msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mui_u8g2_u8_fixed_width_bar_wm_mud_pf(mui_t *ui, uint8_t msg)
|
||||
{
|
||||
switch(msg)
|
||||
{
|
||||
case MUIF_MSG_DRAW:
|
||||
mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui), 1);
|
||||
break;
|
||||
default:
|
||||
return mui_u8g2_u8_bar_mud_msg_handler(ui, msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*===============================================================================*/
|
||||
|
||||
static uint8_t mui_is_valid_char(uint8_t c) MUI_NOINLINE;
|
||||
|
||||
+53
-4
@@ -33,6 +33,33 @@
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Reference Manual:
|
||||
https://github.com/olikraus/u8g2/wiki/muiref
|
||||
|
||||
MUIF_U8G2_LABEL()
|
||||
replacement for MUIF_LABEL(mui_u8g2_draw_text),
|
||||
used by MUI_LABEL(x,y,"text")
|
||||
Supports UTF8
|
||||
|
||||
MUIF_U8G2_FONT_STYLE(n, font)
|
||||
A special u8g2 style function, which replaces MUIF_STYLE, but restricts the style change to the
|
||||
specific font argument (however, this should be good enough in most cases).
|
||||
As usual, the style "n" can be activated with MUI_STYLE(n) in FDS.
|
||||
Example:
|
||||
muif_t muif_list[] MUI_PROGMEM = {
|
||||
MUIF_U8G2_LABEL(),
|
||||
MUIF_U8G2_FONT_STYLE(0, u8g2_font_5x8_tr)
|
||||
};
|
||||
fds_t fds[] MUI_PROGMEM =
|
||||
MUI_FORM(1)
|
||||
MUI_STYLE(0)
|
||||
MUI_LABEL(5,12, "5x8 Font")
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
#ifndef MUI_U8G2_H
|
||||
@@ -103,17 +130,26 @@ struct mui_u8g2_u8_min_max_step_struct
|
||||
uint8_t max;
|
||||
uint8_t step;
|
||||
uint8_t flags;
|
||||
uint8_t width; // added with issue 2200, might not be used by all bar graph functions
|
||||
} MUI_PROGMEM;
|
||||
|
||||
typedef const struct mui_u8g2_u8_min_max_step_struct mui_u8g2_u8_min_max_step_t;
|
||||
|
||||
/* list of bit values for the "flags" variable */
|
||||
#define MUI_MMS_2X_BAR 0x01
|
||||
#define MUI_MMS_4X_BAR 0x02
|
||||
#define MUI_MMS_SHOW_VALUE 0x04
|
||||
#define MUI_MMS_NO_WRAP 0x08
|
||||
|
||||
#if defined(__GNUC__) && defined(__AVR__)
|
||||
# define mui_u8g2_u8mms_get_width(u8mm) mui_pgm_read(&((u8mm)->width))
|
||||
# define mui_u8g2_u8mms_get_step(u8mm) mui_pgm_read(&((u8mm)->step))
|
||||
# define mui_u8g2_u8mms_get_flags(u8mm) mui_pgm_read(&((u8mm)->flags))
|
||||
# define mui_u8g2_u8mms_get_min(u8mm) mui_pgm_read(&((u8mm)->min))
|
||||
# define mui_u8g2_u8mms_get_max(u8mm) mui_pgm_read(&((u8mm)->max))
|
||||
# define mui_u8g2_u8mms_get_valptr(u8mm) ((uint8_t *)mui_pgm_wread(&((u8mm)->value)))
|
||||
#else
|
||||
# define mui_u8g2_u8mms_get_width(u8mm) ((u8mm)->width)
|
||||
# define mui_u8g2_u8mms_get_step(u8mm) ((u8mm)->step)
|
||||
# define mui_u8g2_u8mms_get_flags(u8mm) ((u8mm)->flags)
|
||||
# define mui_u8g2_u8mms_get_min(u8mm) ((u8mm)->min)
|
||||
@@ -122,6 +158,8 @@ typedef const struct mui_u8g2_u8_min_max_step_struct mui_u8g2_u8_min_max_step_t;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* helper functions */
|
||||
|
||||
u8g2_uint_t mui_get_x(mui_t *ui);
|
||||
@@ -218,18 +256,29 @@ uint8_t mui_u8g2_u8_min_max_wm_mud_pf(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G
|
||||
/* gcc note: the macro uses array compound literals to extend the lifetime in C++, see last section in https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html */
|
||||
#define MUIF_U8G2_U8_MIN_MAX_STEP(id, valptr, min, max, step, flags, muif) \
|
||||
MUIF(id, MUIF_CFLAG_IS_CURSOR_SELECTABLE, \
|
||||
(void *)((mui_u8g2_u8_min_max_step_t [] ) {{ (valptr) MUI_U8G2_COMMA (min) MUI_U8G2_COMMA (max) MUI_U8G2_COMMA (step) MUI_U8G2_COMMA (flags) }}), \
|
||||
(void *)((mui_u8g2_u8_min_max_step_t [] ) {{ (valptr) MUI_U8G2_COMMA (min) MUI_U8G2_COMMA (max) MUI_U8G2_COMMA (step) MUI_U8G2_COMMA (flags) MUI_U8G2_COMMA (0) }}), \
|
||||
(muif))
|
||||
|
||||
#define MUI_MMS_2X_BAR 0x01
|
||||
#define MUI_MMS_4X_BAR 0x02
|
||||
#define MUI_MMS_SHOW_VALUE 0x04
|
||||
|
||||
uint8_t mui_u8g2_u8_bar_wm_mse_pi(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_u8_bar_wm_mud_pi(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_u8_bar_wm_mse_pf(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_u8_bar_wm_mud_pf(mui_t *ui, uint8_t msg);
|
||||
|
||||
|
||||
#define MUIF_U8G2_U8_MIN_MAX_STEP_WIDTH(id, valptr, min, max, step, width, flags, muif) \
|
||||
MUIF(id, MUIF_CFLAG_IS_CURSOR_SELECTABLE, \
|
||||
(void *)((mui_u8g2_u8_min_max_step_t [] ) {{ (valptr) MUI_U8G2_COMMA (min) MUI_U8G2_COMMA (max) MUI_U8G2_COMMA (step) MUI_U8G2_COMMA (flags) MUI_U8G2_COMMA (width) }}), \
|
||||
(muif))
|
||||
|
||||
|
||||
uint8_t mui_u8g2_u8_fixed_width_bar_wm_mse_pi(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_u8_fixed_width_bar_wm_mud_pi(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_u8_fixed_width_bar_wm_mse_pf(mui_t *ui, uint8_t msg);
|
||||
uint8_t mui_u8g2_u8_fixed_width_bar_wm_mud_pf(mui_t *ui, uint8_t msg);
|
||||
|
||||
|
||||
|
||||
/*===== data = mui_u8g2_list_t* =====*/
|
||||
/* similar to mui_u8g2_u8_opt_line, but u16 and dynamic list */
|
||||
|
||||
|
||||
+4
-4
@@ -1837,6 +1837,10 @@ extern const uint8_t u8g2_font_freedoomr25_mn[] U8G2_FONT_SECTION("u8g2_font_fre
|
||||
extern const uint8_t u8g2_font_7Segments_26x42_mn[] U8G2_FONT_SECTION("u8g2_font_7Segments_26x42_mn");
|
||||
extern const uint8_t u8g2_font_7_Seg_33x19_mn[] U8G2_FONT_SECTION("u8g2_font_7_Seg_33x19_mn");
|
||||
extern const uint8_t u8g2_font_7_Seg_41x21_mn[] U8G2_FONT_SECTION("u8g2_font_7_Seg_41x21_mn");
|
||||
extern const uint8_t u8g2_font_tiny5_tf[] U8G2_FONT_SECTION("u8g2_font_tiny5_tf");
|
||||
extern const uint8_t u8g2_font_tiny5_tr[] U8G2_FONT_SECTION("u8g2_font_tiny5_tr");
|
||||
extern const uint8_t u8g2_font_04b_03b_tr[] U8G2_FONT_SECTION("u8g2_font_04b_03b_tr");
|
||||
extern const uint8_t u8g2_font_04b_03_tr[] U8G2_FONT_SECTION("u8g2_font_04b_03_tr");
|
||||
extern const uint8_t u8g2_font_amstrad_cpc_extended_8f[] U8G2_FONT_SECTION("u8g2_font_amstrad_cpc_extended_8f");
|
||||
extern const uint8_t u8g2_font_amstrad_cpc_extended_8r[] U8G2_FONT_SECTION("u8g2_font_amstrad_cpc_extended_8r");
|
||||
extern const uint8_t u8g2_font_amstrad_cpc_extended_8n[] U8G2_FONT_SECTION("u8g2_font_amstrad_cpc_extended_8n");
|
||||
@@ -2568,7 +2572,6 @@ extern const uint8_t u8g2_font_iconquadpix_m_all[] U8G2_FONT_SECTION("u8g2_font_
|
||||
extern const uint8_t u8g2_font_tallpix_tr[] U8G2_FONT_SECTION("u8g2_font_tallpix_tr");
|
||||
extern const uint8_t u8g2_font_botmaker_te[] U8G2_FONT_SECTION("u8g2_font_botmaker_te");
|
||||
extern const uint8_t u8g2_font_efraneextracondensed_te[] U8G2_FONT_SECTION("u8g2_font_efraneextracondensed_te");
|
||||
extern const uint8_t u8g2_font_minimal3x3_tu[] U8G2_FONT_SECTION("u8g2_font_minimal3x3_tu");
|
||||
extern const uint8_t u8g2_font_3x3basic_tr[] U8G2_FONT_SECTION("u8g2_font_3x3basic_tr");
|
||||
extern const uint8_t u8g2_font_tiny_gk_tr[] U8G2_FONT_SECTION("u8g2_font_tiny_gk_tr");
|
||||
extern const uint8_t u8g2_font_threepix_tr[] U8G2_FONT_SECTION("u8g2_font_threepix_tr");
|
||||
@@ -2584,9 +2587,6 @@ extern const uint8_t u8g2_font_smolfont_te[] U8G2_FONT_SECTION("u8g2_font_smolfo
|
||||
extern const uint8_t u8g2_font_tinyunicode_tf[] U8G2_FONT_SECTION("u8g2_font_tinyunicode_tf");
|
||||
extern const uint8_t u8g2_font_tinyunicode_tr[] U8G2_FONT_SECTION("u8g2_font_tinyunicode_tr");
|
||||
extern const uint8_t u8g2_font_tinyunicode_te[] U8G2_FONT_SECTION("u8g2_font_tinyunicode_te");
|
||||
extern const uint8_t u8g2_font_micropixel_tf[] U8G2_FONT_SECTION("u8g2_font_micropixel_tf");
|
||||
extern const uint8_t u8g2_font_micropixel_tr[] U8G2_FONT_SECTION("u8g2_font_micropixel_tr");
|
||||
extern const uint8_t u8g2_font_micropixel_te[] U8G2_FONT_SECTION("u8g2_font_micropixel_te");
|
||||
extern const uint8_t u8g2_font_tinypixie2_tr[] U8G2_FONT_SECTION("u8g2_font_tinypixie2_tr");
|
||||
extern const uint8_t u8g2_font_standardized3x5_tr[] U8G2_FONT_SECTION("u8g2_font_standardized3x5_tr");
|
||||
extern const uint8_t u8g2_font_fivepx_tr[] U8G2_FONT_SECTION("u8g2_font_fivepx_tr");
|
||||
|
||||
+146
-206
@@ -747,6 +747,152 @@ const uint8_t u8g2_font_7_Seg_41x21_mn[716] U8G2_FONT_SECTION("u8g2_font_7_Seg_4
|
||||
"\314H\303\214\64\314H\303\214\64\314H\303\214\64\314H\303\214\64\314H\303\214\64\314H\303\210%L\10"
|
||||
"+\204\323\322\12a\12\71\377\17\251 \16\13\301\70\2\0:\22\365\234\251\77\374\355!\247\17_\35r"
|
||||
"\372\360\363\0\0\0\0\4\377\377\0";
|
||||
/*
|
||||
Fontname: font_tiny5
|
||||
Copyright: (CC) Gissio 2022-2023 Creative Commons Zero v1.0 Universal
|
||||
Glyphs: 224/256
|
||||
BBX Build Mode: 0
|
||||
*/
|
||||
const uint8_t u8g2_font_tiny5_tf[1591] U8G2_FONT_SECTION("u8g2_font_tiny5_tf") =
|
||||
"\340\0\2\2\3\3\1\4\4\6\7\0\377\5\377\5\0\0\335\1\322\6\32 \4@T!\6iTV"
|
||||
"\0\42\6\323e\222\12#\12m\364\252\241\252\241*\0$\10\363\343\342\310\63\1%\6\344lb\17&"
|
||||
"\11l\354b\212UL\1'\5\321U\4(\6j\334T\31)\7j\134bJ\12*\6\343\344\322j"
|
||||
"+\7\333\344\322J\0,\6\322\333\24\0-\5Ke\6.\5IT\2/\7j\334\222\252\0\60\7"
|
||||
"k\344*\253\2\61\6j\344V\3\62\7kdt*\7\63\7kdt\312\13\64\7kd\323\21\3"
|
||||
"\65\7kdF\324\13\66\7k\344\246j\1\67\10kdf\212\25\0\70\6k\344\372\5\71\7k\344"
|
||||
"Zr\1:\6aTb\0;\7\352\333\62T\0<\6kdS]=\6\333d\366\0>\7kd"
|
||||
"rU\2\77\10kdt\312\60\1@\11l\354TT\33)\0A\10l\354T\34S\6B\11ll"
|
||||
"V\34)\216\4C\11l\354T\324\61)\0D\10llV\64G\2E\10ll\206^y\4F\10"
|
||||
"ll\206^\71\3G\10l\354FN\63\15H\10ll\242\34S\6I\6iT\206\0J\7kd"
|
||||
"KU\1K\11ll\242J\62\225\1L\6kdbsM\11mt\362ZI\353\0N\10ll\342"
|
||||
"RS\6O\10l\354T\64\223\2P\11llV\34)g\0Q\10l\354T\264b\12R\11ll"
|
||||
"V\34)\312\0S\11l\354FF\32\215\4T\7kdVl\1U\10ll\242\63)\0V\10k"
|
||||
"d\222U&\0W\12mtRRIu\246\4X\10kd\222j\251\0Y\10kd\222*+\0Z"
|
||||
"\7kdf*\7[\6j\134V%\134\7j\134RL\5]\6j\134T\65^\5\323\345\32_\5"
|
||||
"Kd\6`\6\322]b\0a\7c\344\226J\2b\10kd\242Jj\1c\6c\344f\26d\7"
|
||||
"kd\323RIe\7c\344\322\310\2f\7j\334\324J\0g\10\353\343\226J#\1h\10kd\242"
|
||||
"JV\0i\6qT\322\10j\6\371S\322\20k\10kdbZI\5l\6iT\206\0m\11e"
|
||||
"tF\252TR\5n\7cdT\262\2o\7c\344*U\1p\10\353cTR+\2q\7\353\343"
|
||||
"\226J\62r\6b\134V\5s\7c\344F^\0t\7j\134\322\212\1u\7cd\222\225\4v\7"
|
||||
"cd\222U\1w\11etRRIu\1x\7cdR\231\12y\7\353c\222\325\4z\6cd"
|
||||
"V\71{\7k\344T\35\5|\6iT\206\0}\10kddNI\1~\7\324\354\222J\0\177\4"
|
||||
"@d\200\4@d\201\4@d\202\4@L\203\4@L\204\4@L\205\4@L\206\4@L\207\4"
|
||||
"@L\210\4@L\211\4@L\212\4@L\213\4@L\214\4@L\215\4@L\216\4@L\217\4"
|
||||
"@L\220\4@L\221\4@L\222\4@L\223\4@L\224\4@L\225\4@L\226\4@L\227\4"
|
||||
"@L\230\4@L\231\4@L\232\4@L\233\4@L\234\4@L\235\4@L\236\4@L\237\4"
|
||||
"@L\240\4@T\241\6iT\322\0\242\7k\344\342V\11\243\10ll\253\21\343\10\244\10dlb"
|
||||
"\222*\6\245\10kd\222\252V\2\246\6iT\224\0\247\10k\344F\252F\2\250\6KfR\0\251"
|
||||
"\6\343\344f\26\252\6[\345V\22\253\7\334\354\222\212)\254\6\323df\0\255\4@T\256\7\343d"
|
||||
"TZ\5\257\5Kf\6\260\6[\345\272\0\261\7k\344\322\312h\262\7\343dtJ\3\263\7\343d"
|
||||
"V^\0\264\6\322\335\24\0\265\7\343c\222\32\22\266\7l\354\206\352\7\267\5IU\2\270\6\322\333"
|
||||
"\24\0\271\6\342\334V\1\272\6[\345\272\0\273\10\334lRL*\1\274\13n\374\62\322)\252\264a"
|
||||
"\0\275\12n\374\62\62s\212\31\15\276\13n|\66\312\61\215\264a\0\277\7k\344\62LY\300\11t"
|
||||
"\354\262\212c\312\0\301\11tl\243\212c\312\0\302\11t\354\244\212c\312\0\303\11t\354\222\212*\216"
|
||||
"\31\304\11tlbRqL\31\305\11t\354TL*\216\31\306\11m\364\206\212c\305\64\307\11\364\353"
|
||||
"T\324\61\311\10\310\11t\354\342\320+\217\0\311\11tl\323\320+\217\0\312\11t\354\324\320+\217\0"
|
||||
"\313\11tl\342\330+\217\0\314\7rdb\352\0\315\7r\324T\27\0\316\7rTV\27\0\317\7"
|
||||
"sdR\331\5\320\11llV\134r$\0\321\11t\354T\134j\312\0\322\11t\354\262\212fR\0"
|
||||
"\323\11tl\243\212fR\0\324\11t\354\244\212fR\0\325\12t\354\222\212*\312\244\0\326\11tl"
|
||||
"bR\321L\12\327\6\333dR\7\330\11l\354T\32I&\5\331\10tlSt&\5\332\10t\354"
|
||||
"bt&\5\333\11t\354\64\214fR\0\334\11tlbF\321L\12\335\10sdS\245\312\4\336\11"
|
||||
"ll\362\212#e\0\337\10\363\343\252\225V\4\340\10sdr\134*\11\341\10sdS\134*\11\342"
|
||||
"\10s\344\64Z*\11\343\10s\344F\134*\11\344\11sdRFK%\1\345\10s\344ZK%\1"
|
||||
"\346\11e\364V\32)\217\0\347\7\353\343fV\11\350\7kdr\32Y\351\7kdS\32Y\352\10"
|
||||
"s\344\64J#\13\353\11sdRFid\1\354\7rT\242j\1\355\7r\324t\252\0\356\7r"
|
||||
"Tdj\1\357\10sdRF\261\5\360\10k\344rZ\25\0\361\10sd\64R\311\12\362\10kd"
|
||||
"rJ\252\2\363\10kdS\245*\0\364\10s\344\64\252T\5\365\11s\344FLIU\0\366\11s"
|
||||
"dRF\225\252\0\367\10k\344\62\332(\1\370\10c\344\322H\25\0\371\10sdrJV\22\372\10"
|
||||
"sdSe%\1\373\10s\344t\262\222\0\374\10sdRNV\22\375\10\373cSe\65\1\376\11"
|
||||
"\363c\242JjE\0\377\10\373cRNV\23\0\0\0\4\377\377\0";
|
||||
/*
|
||||
Fontname: font_tiny5
|
||||
Copyright: (CC) Gissio 2022-2023 Creative Commons Zero v1.0 Universal
|
||||
Glyphs: 96/256
|
||||
BBX Build Mode: 0
|
||||
*/
|
||||
const uint8_t u8g2_font_tiny5_tr[704] U8G2_FONT_SECTION("u8g2_font_tiny5_tr") =
|
||||
"`\0\2\2\3\3\1\3\4\5\7\0\377\5\377\5\0\0\330\1\313\2\243 \4@*!\5i*+"
|
||||
"\42\6\323\63I\5#\12mz\325P\325P\25\0$\10\363qq\344\231\0%\6\344\66\261\7&\11"
|
||||
"lv\61\305*\246\0'\5\321+\2(\6jn\252\14)\7j.\61%\5*\6\343ri\65+"
|
||||
"\7\333ri%\0,\5\322m\12-\5K\63\3.\5I*\1/\7jnIU\0\60\7kr"
|
||||
"\225U\1\61\6jr\253\1\62\7k\62:\225\3\63\7k\62:\345\5\64\7k\262\351\210\1\65\7"
|
||||
"k\62#\352\5\66\7krS\265\0\67\7k\62\63\305\12\70\6kr\375\2\71\7kr-\271\0"
|
||||
":\5a*\61;\7\352m\31*\0<\6k\262\251.=\5\333\62{>\7k\62\271*\1\77\10"
|
||||
"k\62:e\230\0@\11lv*\252\215\24\0A\10lv*\216)\3B\11l\66+\216\24G\2"
|
||||
"C\11lv*\352\230\24\0D\10l\66+\232#\1E\10l\66C\257<\2F\10l\66C\257\234"
|
||||
"\1G\10lv#\247\231\6H\10l\66Q\216)\3I\5i*CJ\7k\262\245\252\0K\11l"
|
||||
"\66Q%\231\312\0L\6k\62\261\71M\11m:y\255\244u\0N\10l\66q\251)\3O\10l"
|
||||
"v*\232I\1P\11l\66+\216\224\63\0Q\10lv*Z\61\5R\11l\66+\216\24e\0S"
|
||||
"\11lv##\215F\2T\7k\62+\266\0U\10l\66\321\231\24\0V\10k\62\311*\23\0W"
|
||||
"\12m:)\251\244:S\2X\10k\62I\265T\0Y\10k\62I\225\25\0Z\7k\62\63\225\3"
|
||||
"[\6j.\253\22\134\7j.)\246\2]\6j.\252\32^\5\323s\15_\5K\62\3`\5\322"
|
||||
"/\61a\7crK%\1b\10k\62Q%\265\0c\6cr\63\13d\7k\262i\251$e\7"
|
||||
"crid\1f\7jnj%\0g\10\353qK\245\221\0h\7k\62Q%+i\6q*i"
|
||||
"\4j\6\371)i\10k\10k\62\61\255\244\2l\5i*Cm\11e:#U*\251\2n\7c"
|
||||
"\62*Y\1o\7cr\225\252\0p\10\353\61*\251\25\1q\7\353qK%\31r\6b.\253\2"
|
||||
"s\7cr#/\0t\7j.i\305\0u\7c\62\311J\2v\7c\62\311\252\0w\11e:"
|
||||
")\251\244\272\0x\7c\62\251L\5y\7\353\61\311j\2z\6c\62\253\34{\7kr\252\216\2"
|
||||
"|\5i*C}\10k\62\62\247\244\0~\7\324vI%\0\177\4@\62\0\0\0\4\377\377\0";
|
||||
/*
|
||||
Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1
|
||||
Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org
|
||||
Glyphs: 95/97
|
||||
BBX Build Mode: 0
|
||||
*/
|
||||
const uint8_t u8g2_font_04b_03b_tr[690] U8G2_FONT_SECTION("u8g2_font_04b_03b_tr") =
|
||||
"_\0\2\3\3\3\1\3\4\5\6\0\377\5\377\5\0\0\341\1\317\2\225 \4@.!\6i*S"
|
||||
"\0\42\6\323\63\221\24#\11mz\251*U\245\0$\11lvTDE\24\0%\11m:\342\24\247"
|
||||
"F\1&\11m:c\14\231\21\5'\5\321+\2(\7jnR\62\0)\10j.a\24I\0*"
|
||||
"\6[\63Q\16+\7\333r\321\24\1,\6\322m\22\0-\5K\63\3.\5I*\1/\10m\372"
|
||||
"P\234\33\2\60\7l\66\245\262\0\61\6j.R\16\62\6l\66\264M\63\6l\66t\3\64\7l"
|
||||
"\66\241\262\16\65\6l\66\65]\66\7l\66S\134\26\67\10l\66t\230\16\1\70\6l\66\245Y\71"
|
||||
"\7l\66e\35\15:\6\331*Q\0;\6a*\221\0<\7k\262Q:\1=\6\333\62\363\0>"
|
||||
"\7k\62q*\11\77\11l\66t\64\203!\0@\11m:\266DE\25\0A\7l\66\245)\6B"
|
||||
"\7l\66S\252,C\7l\66u\232\0D\10l\66S\250\244\0E\6l\66uMF\7l\66u"
|
||||
"\35\3G\7l\66u\64\26H\10l\66\241h\212\1I\7k\62S\230\32J\7l\266r,\26K"
|
||||
"\11l\66\241H\205b\0L\7l\66q\66\1M\12m:V$ER$%N\11l\66\341$\215"
|
||||
"b\0O\7l\66\245\262\0P\7l\66\245h\3Q\7l\66\245\312\0R\7l\66\245\225\22S\6"
|
||||
"l\66\65]T\7k\62S\230\5U\7l\66\241f\1V\10l\66\241*\63\4W\13m:Q$"
|
||||
"ER$E\6X\11l\66\241\30I\241\30Y\7l\66\241X\27Z\10l\66t$\305\4[\7j"
|
||||
".SJ\0\134\13m:\61\30\203\61\30\203\1]\7j.Rj\0^\5\323s\31_\5L\66\4"
|
||||
"`\6\322/a\0a\6\134vd\1b\6d\66qYc\6[\62\344\0d\6d\366f\1e\6"
|
||||
"\134\66U\70f\10dvSH\205\0g\7\344\65e\31\1h\7d\66q)\6i\6a*\221\0"
|
||||
"j\6\351)\321\0k\10d\66qH\205\1l\5a*\4m\7]:V$%n\6\134\66\245\30"
|
||||
"o\6\134\66e\1p\6\344\65\245\15q\6\344\65e\35r\6[\62d\10s\6\134\66THt\7"
|
||||
"cr\321\24\12u\6\134\66\241Xv\10\134\66\241\30I\0w\10]:Q$E\6x\6[\62Q"
|
||||
"\16y\7\344\65\241X\7z\6\134\66dD{\7krR:\24|\5i*\5}\11k\62b\34"
|
||||
"E\22\0~\7\324w\221\24\1\0\0\0\4\377\377\0";
|
||||
/*
|
||||
Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1
|
||||
Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org
|
||||
Glyphs: 95/97
|
||||
BBX Build Mode: 0
|
||||
*/
|
||||
const uint8_t u8g2_font_04b_03_tr[740] U8G2_FONT_SECTION("u8g2_font_04b_03_tr") =
|
||||
"_\0\2\2\3\3\1\3\4\5\7\0\376\5\376\5\0\0\355\1\345\2\307 \4@\62!\5i*+"
|
||||
"\42\6\323\63I\5#\12mz\325P\325P\25\0$\11\364\265qh\64t\2%\11m:\61\243\134"
|
||||
"\243\30&\11mz\62C%\243\12'\5\321+\2(\6jn\252\14)\7j.\61%\5*\6["
|
||||
"\63\251\3+\7\333ri%\0,\5\322m\12-\5K\63\3.\5I*\1/\10m\372(w#"
|
||||
"\0\60\10lv*\232I\1\61\6j.\252\3\62\11l\66\33%\225G\0\63\11l\66\33%\215F"
|
||||
"\2\64\11l\266QU#&\0\65\11l\66Co\64\22\0\66\11lv*\257\230\24\0\67\10l\66"
|
||||
"#\307:\2\70\11lv*&\25\223\2\71\11lv*\246\235\24\0:\5\331*);\5a*I"
|
||||
"<\6k\262\251.=\5\333\62{>\7k\62\271*\1\77\11l\66\33%\215#\0@\11mz+"
|
||||
"\253\221\252\5A\10lv*\312\61\3B\11l\66+\216\24G\2C\6kr\263\26D\10l\66+"
|
||||
"\232#\1E\7k\62#\216\70F\10k\62#\216\30\1G\10lv#\247\231\6H\10l\66Q\216"
|
||||
")\3I\7k\62+V\3J\10l\266:\313\244\0K\11l\66Q%\231\312\0L\6k\62\261\71"
|
||||
"M\11m:y\255\244u\0N\10l\66q\251)\3O\10lv*\232I\1P\11l\66+\312\221"
|
||||
"\62\0Q\11\364u*\232I\243\0R\11l\66+\312\221b\0S\11lv##\215F\2T\7k"
|
||||
"\62+\266\0U\10l\66\321\231\24\0V\10l\66\321jF\0W\12m:Y%\225T\27\0X\11"
|
||||
"l\66Q&\25e\0Y\11l\66Q\246\235\24\0Z\7k\62\63\225\3[\6j.\253\22\134\12m"
|
||||
":\31f\230a\206\1]\6j.\252\32^\5\323s\15_\5L\66#`\5\322/\61a\7dv"
|
||||
"#\312\64b\11l\66yE\71\22\0c\6cr\63\13d\10l\366iD\231\6e\10dv*\215"
|
||||
"\254\0f\10k\262)\255\230\0g\11tu#\312\264\223\2h\7l\66yE\63i\5i*ij"
|
||||
"\7zm\71U\12k\11l\66\71\252\264b\0l\5i*Cm\11e:#U*\251\2n\7d"
|
||||
"\66+\232\1o\10dv*\312\244\0p\11t\65+\312\221r\6q\10tu#\312\264\13r\7c"
|
||||
"\62i\305\10s\10dvC\243\241\0t\7kri\305\34u\7d\66\321L\3v\7d\66\321\212"
|
||||
"\21w\11e:)\251\316\224\0x\7c\62\251L\5y\11t\65\321L;)\0z\7d\66#\226"
|
||||
"#{\7kr\252\216\2|\5i*C}\10k\62\62\247\244\0~\7\324wI%\0\0\0\0\4"
|
||||
"\377\377\0";
|
||||
/*
|
||||
Fontname: -FreeType-Amstrad CPC extended-Medium-R-Normal--8-80-72-72-P-64-ISO10646-1
|
||||
Copyright: Copyright ruboku 2008
|
||||
@@ -62267,26 +62413,6 @@ const uint8_t u8g2_font_efraneextracondensed_te[1033] U8G2_FONT_SECTION("u8g2_fo
|
||||
"S\216C\306!#\0\246\7\331O\62\324\20\247\16\334\257\246\242F*\232I#\231\24\0\250\6\213\230"
|
||||
"\222\2\251\20\327\17\273\253\14-\225U\226J\303\224\363\4\0\0\0\4\377\377 \254\17\315\320*\253<"
|
||||
"b\36\61\243\30\25\0\0";
|
||||
/*
|
||||
Fontname: -FreeType-Minimal3x3-Medium-R-Normal--16-160-72-72-P-29-ISO10646-1
|
||||
Copyright: unnamed
|
||||
Glyphs: 64/118
|
||||
BBX Build Mode: 0
|
||||
*/
|
||||
const uint8_t u8g2_font_minimal3x3_tu[416] U8G2_FONT_SECTION("u8g2_font_minimal3x3_tu") =
|
||||
"@\0\2\2\2\2\2\3\4\3\3\0\0\3\0\3\0\0\301\0\0\1\203 \4 \31!\6>\271\244"
|
||||
"\0\42\6k\231\244\2#\7/\231\64F\0$\7/\271\21\23\0%\7/\231\224S\0&\6/\271"
|
||||
"\264\4'\5y\31\1(\5>\71\31)\6.\231\250\0*\5\265\231\0+\7/\271\264\22\0,\5"
|
||||
"*\71\5-\5g\231\1.\5\65\231\0/\6/\331T\2\60\6/\271.\0\61\5.\31U\62\6"
|
||||
"/\31\31\5\63\6/\231\65\4\64\7/\231\64b\0\65\7/\71\225\24\0\66\6/\231\70\6\67\7"
|
||||
"/\231\231\22\0\70\7/\271\61\22\0\71\5/\231\63:\5=\231\24;\5.\271(<\5/\331\35"
|
||||
"=\5/\231=>\6/\231<\1\77\7/\31\235\22\0@\6/\271j\1A\6/\271j\4B\6"
|
||||
"/\31\65\6C\5/\271-D\7/\31\225\26\0E\6/\231\241\6F\7/\231\241\42\0G\7/"
|
||||
"\31\225F\0H\7/\231\64T\0I\6/\231\225\6J\6/YU\1K\6/\231\264\12L\6/"
|
||||
"\231\30\7M\6/\231#\5N\7/\31\225T\0O\7/\231\221F\0P\6/\231#\2Q\6/"
|
||||
"\31\245\6R\6/\31\245\12S\7/\71\225\24\0T\7/\231\25\23\0U\7/\231\244F\0V\7"
|
||||
"/\231\244*\0W\7/\231\64F\0X\6/\231\324\1Y\7/\231T&\0Z\6/\31\31\5["
|
||||
"\5>\231%\134\5/\231\134]\5.\31\65^\5k\271\6_\5'\231\1\0\0\0\4\377\377\0";
|
||||
/*
|
||||
Fontname: -FreeType-3x3Basic-Medium-R-Normal--16-160-72-72-P-29-ISO10646-1
|
||||
Copyright: 8bitninja
|
||||
@@ -62961,192 +63087,6 @@ const uint8_t u8g2_font_tinyunicode_te[2190] U8G2_FONT_SECTION("u8g2_font_tinyun
|
||||
"e\310\274\63\212\0\1o\12dbM\303h\246\1\1r\12d^%:\223F\1\1s\12dZ%"
|
||||
"\232if\24\1x\14tZ%f\24e\332I\1\1y\10S\42e\246r\1z\12db\265\34\261"
|
||||
"\34\1 \254\12TbU\305\231\221\0\0";
|
||||
/*
|
||||
Fontname: -FreeType-MicroPixel-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1
|
||||
Copyright: SpicyGame
|
||||
Glyphs: 187/329
|
||||
BBX Build Mode: 0
|
||||
*/
|
||||
const uint8_t u8g2_font_micropixel_tf[1562] U8G2_FONT_SECTION("u8g2_font_micropixel_tf") =
|
||||
"\273\0\2\2\3\4\2\4\5\10\14\377\375\5\376\6\377\0\365\1\365\5\375 \5\0\261\2!\6)Q"
|
||||
"\262\2\42\7\23\231\222T\0#\12-\321V\15U\15U\1$\12<\257\32G\212z\350\4%\6$"
|
||||
"\261\22{&\12-\321\226S\134\62\252\0'\5\21[\42(\7:o\246:\3)\10:o\22SK"
|
||||
"\1*\6\33\231\222:+\7\33\223\226V\2,\5\21O\42-\5\12u\42.\5\11Q\22/\7+"
|
||||
"\221Z\225\21\60\11,\261\246\342\230I\1\61\6\252\221\266\32\62\10,\261\246bs\4\63\11,\261\246"
|
||||
"b\25\223\2\64\10,\261\22\345\320\5\65\11,\261\62\364F#\1\66\11,\261\246\362\212I\1\67\11"
|
||||
",\261\62r\254#\0\70\12,\261\246bR\61)\0\71\11,\261\246b\332I\1:\6)Q\222\3"
|
||||
";\6\61O\222\5<\6\32s&\3=\6\33\223\262\7>\7\32s\22\25\0\77\11,\261\246bM"
|
||||
"%\0@\12-\321\266\262\32\251Z\0A\10,\261\246\342\230\62B\12,\261\262\342Hq$\0C\10"
|
||||
",\261\66r\215\6D\11,\261\262\242\71\22\0E\10,\261\62\364\312#F\10,\261\62\364\312\31G"
|
||||
"\10,\261\66r\232iH\10,\261\22\345\230\62I\7+\221\262b\65J\7+\221&\313\5K\11,"
|
||||
"\261\22U\222\251\14L\7+\221\22\233\3M\11-\321\222\327JZ\7N\10,\261\22\227\232\62O\11"
|
||||
",\261\246\242\231\24\0P\11,\261\262\342H\71\3Q\10,\261\246\242\245\6R\11,\261\262\342HQ"
|
||||
"\6S\12,\261\66\62\322h$\0T\7+\221\262b\13U\10,\261\22\235I\1V\10,\261\22]"
|
||||
"\61\2W\11-\321\222\255\244\272\0X\11,\261\22eRQ\6Y\10+\221\222TY\1Z\11,\261"
|
||||
"\62rRy\4[\7:o\262\272\4\134\7+\221\22s\31]\7:o\242\272\6^\6\23\231\326\0"
|
||||
"_\6\14\261\62\2`\6\22y\22\3a\7\33\221\266\222\0b\10+\221\22\243J\13c\6\33\221\266"
|
||||
"\5d\7+\221Z\255$e\6\32q\262\4f\10+\221\232\322\212\11g\10+\215\266\222\134\0h\10"
|
||||
"+\221\22\243J*i\6)Q\222\6j\10\272L\226S\245\0k\10#\221\222VR\1l\6)Q"
|
||||
"\62\4m\10\35\321\62R\245\12n\7\33\221\242\222\12o\7\33\221\62\322\10p\10+\215\242\322\212\21"
|
||||
"q\7+\215\266\222,r\7\33\221\62\222\4s\7\33\221\246\222\2t\7*q\222V\14u\7\33\221"
|
||||
"\222T\22v\7\33\221\222T\5w\10\35\321\222\222\352\2x\6\33\221\222:y\10+\215\222T\222\13"
|
||||
"z\7\33\221\262\322\0{\11;\217\232b\312\61\7|\5\61Qr}\12;\217\222cN\61E\0~"
|
||||
"\7\24\265\226T\2\240\5\0\261\2\241\6)Q\222\6\242\11,\257\32G\212\63\1\243\11,\261\252\342"
|
||||
"Hq\4\244\12-\321\222\323Lq\345\0\245\11+\221\222T\265\22\0\246\6\61O\42\5\247\14<\261"
|
||||
"\66\62R\61i\64\22\0\250\7\25\331\242F\22\251\12-\321\266\262\32\71-\0\252\7\33\231\266\222\0"
|
||||
"\253\7\35\323\26e\3\254\6\23\223\62\3\256\11-\321\266\342U-\0\257\6\14\273\62\2\260\7\33\231"
|
||||
"\62\322\10\261\10+\221\226VF\3\262\7#\233\242\327\0\263\7#\233\42\345\2\264\6\22y\246\0\265"
|
||||
"\10+\215\222\324\220\21\266\13-\321\66VR\61\305\224\0\267\5\11U\22\270\7\233j\226\27\0\271\6"
|
||||
"\242\233\242\32\272\7\33\235\62\322\10\273\10\35\323\22K\231\0\277\11,\255\226\251X)\0\300\13D\261"
|
||||
"\226Q\306*\216)\3\301\12D\261ZS*\216)\3\302\13D\261\246b\206*\216)\3\303\13D\261"
|
||||
"\226T\306*\216)\3\304\12<\261\22\63TqL\31\305\12<\261\246bRqL\31\306\14/\21\67"
|
||||
"F\314c\305\34G\0\307\13D\253\66r\215fF\61\1\310\13D\261\226Q\306*\216)\3\311\12D"
|
||||
"\261Z\343\241W\36\1\312\13D\261\26S\206C\257<\2\313\12<\261\222\62\34z\345\21\314\11C\221"
|
||||
"\222\63Z\261\32\315\11C\221\232\62Z\261\32\316\10C\221\326^\261\32\317\11;\221\222\362\212\325\0\320"
|
||||
"\12\255\260\66\343HeZ\0\321\13D\261\226T\206q\251)\3\322\13D\261\226Q\306*\232I\1\323"
|
||||
"\12D\261ZS*\232I\1\324\13D\261\246b\206*\232I\1\325\13D\261\226T\306*\232I\1\326"
|
||||
"\12<\261\22\63T\321L\12\327\6\33\223\222:\330\12\256\320\252c\32+f\11\331\13D\261\226Q\206"
|
||||
"\321\231\24\0\332\11D\261Z\343\350L\12\333\13D\261\246bF\321\231\24\0\334\12<\261\22\63\212\316"
|
||||
"\244\0\335\12C\221\232\62J\252\254\0\336\11,\261\222W\34)\3\337\11,\261\262\242*U\2\340\10"
|
||||
"\63\221\222\63\134I\341\10\63\221\232\62\134I\342\10\63\221\326F+\11\343\12\64\261\226T\306\252T\0"
|
||||
"\344\10+\221\222\62ZI\345\12;\221\62\322\310h%\1\346\7\34\261\66R\34\347\10\63\213\266U^"
|
||||
"\0\350\7\62q\22\343\22\351\7\62q\246\227\0\352\10\63\221\326VQ\1\353\10+\221\222\262\212\12\354"
|
||||
"\7\62q\22s*\355\7\62q\246S\5\356\10\63\221\326F\261\2\357\11+\221\222\62\212\25\0\360\14"
|
||||
"<\261\222b\225Q\32\61)\0\361\12\64\261\226T\206\62\265\0\362\11\63\221\222\63\32i\4\363\11\63"
|
||||
"\221\232\62\32i\4\364\10\63\221\326\36i\4\365\12\64\261\226T\206\253Z\0\366\10+\221\222\362H#"
|
||||
"\367\10+\221\226\321F\11\370\12\255\256\216\322Lqe\4\371\11\63\221\222\63J*\11\372\11\63\221\232"
|
||||
"\62J*\11\373\10\63\221\326N*\11\374\10+\221\222rRI\375\12C\215\232\62J*\311\5\376\12"
|
||||
"C\217\22\243Jj\305\10\377\12;\215\222rRI.\0\0\0\0\4\377\377\0";
|
||||
/*
|
||||
Fontname: -FreeType-MicroPixel-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1
|
||||
Copyright: SpicyGame
|
||||
Glyphs: 95/329
|
||||
BBX Build Mode: 0
|
||||
*/
|
||||
const uint8_t u8g2_font_micropixel_tr[736] U8G2_FONT_SECTION("u8g2_font_micropixel_tr") =
|
||||
"_\0\2\2\3\3\2\4\4\6\11\377\376\5\376\6\377\0\357\1\352\2\303 \5\200\330\0!\6\251\250"
|
||||
"\254\0\42\6\223\314$\25#\12\255\350UCUCU\0$\12\274\327\306\221\242\36:\1%\6\244\330"
|
||||
"\304\36&\11\255\350\345\24\227\214*'\5\221\255\10(\7\272\267\251\316\0)\10\272\267\304\324R\0*"
|
||||
"\6\233\314\244\16+\7\233\311\245\225\0,\5\221\247\10-\5\212\272\10.\5\211\250\4/\7\253\310V"
|
||||
"e\4\60\11\254\330\251\70fR\0\61\6\352\310\255\6\62\10\254\330\251\330\34\1\63\11\254\330\251X\305"
|
||||
"\244\0\64\10\254\330D\71t\1\65\11\254\330\14\275\321H\0\66\11\254\330\251\274bR\0\67\10\254\330"
|
||||
"\214\34\353\10\70\11\254\330\251\230TL\12\71\11\254\330\251\230vR\0:\6\251\250\344\0;\6\261\247"
|
||||
"d\1<\6\232\271\311\0=\6\233\311\354\1>\6\232\271D\5\77\10\254\330\251XS\11@\12\255\350"
|
||||
"\255\254F\252\26\0A\10\254\330\251\70\246\14B\11\254\330\254\70R\34\11C\10\254\330\215\134\243\1D"
|
||||
"\10\254\330\254h\216\4E\10\254\330\14\275\362\10F\10\254\330\14\275r\6G\10\254\330\215\234f\32H"
|
||||
"\10\254\330D\71\246\14I\7\253\310\254X\15J\7\253\310\311r\1K\11\254\330D\225d*\3L\7"
|
||||
"\253\310\304\346\0M\11\255\350\344\265\222\326\1N\10\254\330\304\245\246\14O\10\254\330\251h&\5P\11"
|
||||
"\254\330\254\70R\316\0Q\10\254\330\251h\251\1R\11\254\330\254\70R\224\1S\11\254\330\215\214\64\32"
|
||||
"\11T\7\253\310\254\330\2U\10\254\330DgR\0V\10\254\330DW\214\0W\11\255\350d+\251."
|
||||
"\0X\11\254\330D\231T\224\1Y\10\253\310$UV\0Z\11\254\330\214\234T\36\1[\7\272\267\254"
|
||||
".\1\134\7\253\310\304\134\6]\7\272\267\250\256\1^\5\223\314\65_\6\214\330\214\0`\6\222\274\304"
|
||||
"\0a\6\233\310\255$b\10\253\310\304\250\322\2c\6\233\310m\1d\7\253\310V+\11e\6\232\270"
|
||||
",\1f\10\253\310\246\264b\2g\10\253\306\255$\27\0h\10\253\310\304\250\222\12i\6\251\250\244\1"
|
||||
"j\10z\246\345T)\0k\10\243\310\244\225T\0l\6\251\250\14\1m\10\235\350\214T\251\2n\7"
|
||||
"\233\310\250\244\2o\7\233\310\214\64\2p\10\253\306\250\264b\4q\7\253\306\255$\13r\7\233\310\214"
|
||||
"$\1s\7\233\310\251\244\0t\7\252\270\244\25\3u\7\233\310$\225\4v\7\233\310$U\1w\10"
|
||||
"\235\350\244\244\272\0x\6\233\310\244\16y\10\253\306$\225\344\2z\6\233\310\254\64{\11\273\307\246\230"
|
||||
"r\314\1|\5\261\250\34}\11\273\307\344\230SL\21~\7\224\332%\225\0\0\0\0\4\377\377\0";
|
||||
/*
|
||||
Fontname: -FreeType-MicroPixel-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1
|
||||
Copyright: SpicyGame
|
||||
Glyphs: 320/329
|
||||
BBX Build Mode: 0
|
||||
*/
|
||||
const uint8_t u8g2_font_micropixel_te[2968] U8G2_FONT_SECTION("u8g2_font_micropixel_te") =
|
||||
"@\0\2\2\4\4\2\4\5\11\14\377\375\5\376\6\377\0\367\1\376\6\26 \5\0b\5!\6Q\242"
|
||||
"d\5\42\7#\62%\251\0#\12U\242\255\32\252\32\252\2$\12t^\65\216\24\365\320\11%\7D"
|
||||
"b%\366\0&\12U\242-\247\270dT\1'\5!\266D(\7r\336Lu\6)\10r\336$\246"
|
||||
"\226\2*\6\63\62%u+\7\63&-\255\4,\5!\236D-\5\22\352D.\5\21\242$/\10"
|
||||
"S\42\265*#\0\60\11TbM\305\61\223\2\61\6R#m\65\62\10TbM\305\346\10\63\11T"
|
||||
"bM\305*&\5\64\10Tb%\312\241\13\65\11Tbe\350\215F\2\66\11TbM\345\25\223\2"
|
||||
"\67\11Tbe\344XG\0\70\12TbM\305\244bR\0\71\11TbM\305\264\223\2:\6Q\242"
|
||||
"$\7;\6a\236$\13<\6\62\346L\6=\6\63&e\17>\7\62\346$*\0\77\11TbM"
|
||||
"\305\232J\0@\12U\242me\65R\265\0A\11TbM\305\61e\0B\12Tbe\305\221\342H"
|
||||
"\0C\10Tbm\344\32\15D\11TbeEs$\0E\11Tbe\350\225G\0F\11Tbe"
|
||||
"\350\225\63\0G\11Tbm\344\64\323\0H\11Tb%\312\61e\0I\7S\42e\305jJ\7S"
|
||||
"\42M\226\13K\11Tb%\252$S\31L\7S\42%\66\7M\11U\242%\257\225\264\16N\11T"
|
||||
"b%.\65e\0O\11TbME\63)\0P\11Tbe\305\221r\6Q\10TbMEK\15"
|
||||
"R\11Tbe\305\221\242\14S\12Tbmd\244\321H\0T\10S\42e\305\26\0U\10Tb%"
|
||||
":\223\2V\10Tb%\272b\4W\11U\242%[Iu\1X\11Tb%\312\244\242\14Y\10S"
|
||||
"\42%\251\262\2Z\11Tbe\344\244\362\10[\7r\336du\11\134\7S\42%\346\62]\7r\336"
|
||||
"Du\15^\6#\62\255\1_\6\24be\4`\6\42\362$\6a\7\63\42m%\1b\11S\42"
|
||||
"%F\225\26\0c\6\63\42m\13d\7S\42\265ZIe\6\62\342d\11f\11S\42\65\245\25\23"
|
||||
"\0g\10S\32m%\271\0h\11S\42%F\225T\0i\6Q\242$\15j\10r\231,\247J\1"
|
||||
"k\10C\42%\255\244\2l\6Q\242d\10m\10\65\242e\244J\25n\7\63\42E%\25o\7\63"
|
||||
"\42e\244\21p\11S\32E\245\25#\0q\7S\32m%Yr\7\63\42e$\11s\7\63\42M"
|
||||
"%\5t\7R\342$\255\30u\7\63\42%\251$v\7\63\42%\251\12w\10\65\242%%\325\5x"
|
||||
"\6\63\42%uy\11S\32%\251$\27\0z\7\63\42e\245\1{\11s\36\65\305\224c\16|\6"
|
||||
"a\242\344\0}\12s\36%\307\234b\212\0~\7$j-\251\4\240\5\0b\5\241\6Q\242$\15"
|
||||
"\242\11T^\65\216\24g\2\243\11TbU\305\221\342\10\244\12U\242%\247\231\342\312\1\245\11S\42"
|
||||
"%\251j%\0\246\6a\236D\12\247\14tbmd\244b\322h$\0\250\7%\262E\215$\251\12"
|
||||
"U\242me\65rZ\0\252\7\63\62m%\1\253\7\65\246-\312\6\254\6#&e\6\256\11U\242"
|
||||
"m\305\253Z\0\257\6\24ve\4\260\7\63\62e\244\21\261\10S\42-\255\214\6\262\7C\66E\257"
|
||||
"\1\263\7C\66E\312\5\264\6\42\362L\1\265\11S\32%\251!#\0\266\13U\242m\254\244b\212"
|
||||
")\1\267\5\21\252$\270\7\63\325,/\0\271\6B\67E\65\272\7\63:e\244\21\273\10\65\246%"
|
||||
"\226\62\1\277\11TZ-S\261R\0\300\13\204b-\243\214U\34S\6\301\12\204b\265\246T\34S"
|
||||
"\6\302\13\204bM\305\14U\34S\6\303\13\204b-\251\214U\34S\6\304\12tb%f\250\342\230"
|
||||
"\62\305\12tbM\305\244\342\230\62\306\14W\42n\214\230\307\212\71\216\0\307\13\204Vm\344\32\315\214"
|
||||
"b\2\310\13\204b-\243\214U\34S\6\311\12\204b\265\306C\257<\2\312\13\204b-\246\14\207^"
|
||||
"y\4\313\12tb%e\70\364\312#\314\11\203\42%g\264b\65\315\11\203\42\65e\264b\65\316\10"
|
||||
"\203\42\255\275b\65\317\11s\42%\345\25\253\1\320\12Uam\306\221\312\264\0\321\13\204b-\251\14"
|
||||
"\343RS\6\322\13\204b-\243\214U\64\223\2\323\12\204b\265\246T\64\223\2\324\13\204bM\305\14"
|
||||
"U\64\223\2\325\13\204b-\251\214U\64\223\2\326\13tb%f\250\242\231\24\0\327\6\63&%u"
|
||||
"\330\12V\241U\307\64V\314\22\331\13\204b-\243\14\243\63)\0\332\12\204b\265\306\321\231\24\0\333"
|
||||
"\13\204bM\305\214\242\63)\0\334\12tb%f\24\235I\1\335\12\203\42\65e\224TY\1\336\11"
|
||||
"Tb%\257\70R\6\337\11TbeEU\252\4\340\11c\42%g\270\222\0\341\11c\42\65e\270"
|
||||
"\222\0\342\10c\42\255\215V\22\343\12db-\251\214U\251\0\344\11S\42%e\264\222\0\345\12s"
|
||||
"\42e\244\221\321J\2\346\7\64bm\244\70\347\10c\26m\253\274\0\350\7b\342$\306%\351\7b"
|
||||
"\342L/\1\352\10c\42\255\255\242\2\353\11S\42%e\25\25\0\354\7b\342$\346T\355\7b\342"
|
||||
"L\247\12\356\10c\42\255\215b\5\357\11S\42%e\24+\0\360\14tb%\305*\243\64bR\0"
|
||||
"\361\12db-\251\14ej\1\362\11c\42%g\64\322\10\363\11c\42\65e\64\322\10\364\10c\42"
|
||||
"\255=\322\10\365\12db-\251\14W\265\0\366\11S\42%\345\221F\0\367\11S\42-\243\215\22\0"
|
||||
"\370\12U]\35\245\231\342\312\10\371\11c\42%g\224T\22\372\11c\42\65e\224T\22\373\10c\42"
|
||||
"\255\235T\22\374\11S\42%\345\244\222\0\375\12\203\32\65e\224T\222\13\376\12\203\36%F\225\324\212"
|
||||
"\21\377\12s\32%\345\244\222\134\0\0\0\0\4\377\377\1\0\13tbed\250\342\230\62\1\1\11S"
|
||||
"\42e\243\225\4\1\2\14\204b%&\215U\34S\6\1\3\12c\42%\215\214V\22\1\4\13tZ"
|
||||
"M\305\61e\215\2\1\5\12c\26m%\231r\0\1\6\13\204b=f<r\215\6\1\7\11c\42"
|
||||
"\65e\270\5\1\10\13\204b\265\312p\344\32\15\1\11\11c\42\255\215\266\0\1\12\12tb\65\343\221"
|
||||
"k\64\1\13\10S\42-\303-\1\14\13\204b\255\314x\344\32\15\1\15\11c\42%\325p\13\1\16"
|
||||
"\14\204b%\305\214W\64G\2\1\17\13U\242\65\305\224d\312\22\1\20\13Uam\306\221\312\264\0"
|
||||
"\1\21\12TbmFU*\0\1\22\13tbed\64\364\312#\1\23\10R\342D.\1\1\24\14"
|
||||
"\204b%&\15\207^y\4\1\25\12c\42%\215\254\242\2\1\26\13tb-\343\241W\36\1\1\27"
|
||||
"\10R\342,.\1\1\30\14\204Ve\350\225G\216\31\5\1\31\10b\326d\231\1\1\32\14\204b%"
|
||||
"&\15\207^y\4\1\33\12c\42%\325HE\5\1\34\14\204b\265\312p\344\64\323\0\1\35\12\203"
|
||||
"\32\255\215V\222\13\1\36\14\204b%&\215GN\63\15\1\37\13\203\32%\215\214V\222\13\1 \13"
|
||||
"tb\65\343\221\323L\3\1!\12s\32-\303\225\344\2\1\42\14\204Vm\344\64\323\306\25\0\1#"
|
||||
"\13\203\32-f\270\222\134\0\1$\14\204bM\305\214\242\34S\6\1%\12\203\42\255\35\243J*\1"
|
||||
"&\14V\241-\246\261b\34\261\2\1'\11T!ef\231\32\1(\14\204b-\251\14g.\27\0"
|
||||
"\1)\12db-\251L\345\12\1*\11s\42e\257X\15\1+\11S\42e\243X\1\1,\12\203"
|
||||
"\42%\215\274b\65\1-\12c\42%\215\214b\5\1.\12\203\26e\305j\325\2\1/\11r\231,"
|
||||
"\247$\3\1\60\12s\42-\243\25\253\1\1\61\6\61\242d\1\62\17Xbf\243\32\246\14S\214#"
|
||||
"*\0\1\63\12d^%f\24\315\12\1\64\14\204b\265\312T\316\62)\0\1\65\14\204b\265\312T"
|
||||
"\316\62)\0\1\66\14\204V%\252$S\231q\5\1\67\13s\26%\255\244\62\212\11\1\70\10\63\42"
|
||||
"%\255\2\1\71\12\203\42\65e\24\233\3\1:\10b\342L\247\12\1;\12\203\26%\66\67\212\11\1"
|
||||
"<\10\201\226d(\1\1=\10S\42%\231q\1>\11S\42%\231%\0\1\77\10S\42%Vr"
|
||||
"\1@\11S\42%V\62\2\1A\11T!-+\235\7\1B\11S\341,\216X\1\1C\13\204b"
|
||||
"\265\306q\251)\3\1D\12c\42\65e\244\222\12\1E\14\204V%.\65e\206\71\2\1F\13c"
|
||||
"\26E%\225QL\0\1G\14\204b\255\314\60.\65e\0\1H\12c\42%\325H%\25\1I\12"
|
||||
"c\42%f\250\222\12\1J\11TbeEW\2\1K\12S\32E%\25S\2\1L\13tbM"
|
||||
"c\25\315\244\0\1M\11S\42e\217\64\2\1N\14\204b%&\215U\64\223\2\1O\12c\42%"
|
||||
"\215<\322\10\1P\14\204b-\251\214U\64\223\2\1Q\13db-\251\14W\265\0\1R\13V\342"
|
||||
"m\314R\305<\4\1S\11\64be\250\64\2\1T\14\204b\265\306+\216\24e\0\1U\10b\342"
|
||||
"L\257\4\1V\15\204Ve\305\221\242\314\60G\0\1W\11b\326d\345\224\0\1X\15\204b%&"
|
||||
"\15W\34)\312\0\1Y\12c\42%\325H\305\10\1Z\14\204b\265\246FF\32\215\4\1[\12c"
|
||||
"\42\65e\250\222\2\1\134\15\204b\265\312pd\244\321H\0\1]\12c\42\255\215TR\0\1^\15"
|
||||
"\204Vmd\244\321\210\31\305\10\1_\12c\26M%\231S\2\1`\15\204b%&\215GF\32\215"
|
||||
"\4\1a\12c\42%\325P%\5\1b\12s\32e\305vJ\0\1c\13\203\26%\252\230cN\11"
|
||||
"\1d\11S\42e\305\26\0\1e\12Tb%.\235Q\4\1f\12S\42e\245\25\23\0\1g\10"
|
||||
"R\342d\315\0\1h\14\204b-\251\14\243\63)\0\1i\13db-\251\14SS\1\1j\13t"
|
||||
"bed\24\235I\1\1k\11S\42e'\225\4\1l\14\204b%&\15\243\63)\0\1m\12c"
|
||||
"\42%\215\234T\22\1n\13\204bMj\30\235I\1\1o\13s\42e\244\221\223J\2\1p\14\204"
|
||||
"b-\251\14\243\63)\0\1q\13db-\251\14SS\1\1r\14\204V%:\223\216\31%\0\1"
|
||||
"s\12c\26%\251$S\16\1t\15\205\242\65\247\214\263\225T\27\0\1u\14e\242\65\247\214SR"
|
||||
"]\0\1v\12\203\42\255\235TY\1\1w\12\203\32\255\235T\222\13\1x\12s\42%\345\244\312\12"
|
||||
"\1y\14\204b\265\306#'\225G\0\1z\12c\42\65e\264\322\0\1{\13tb-\343\221\223\312"
|
||||
"#\1|\11S\42-\243\225\6\1}\15\204b%&\15GN*\217\0\1~\12c\42%\325h\245"
|
||||
"\1\2Q\7\63\42\255%\2Y\7\62\342D\15\2[\7\62\342L\6\2a\13dVm\244\250dJ"
|
||||
"\13\2\230\13U\242me\225tZ\0 \254\12Uau\345\241\62\34\0";
|
||||
/*
|
||||
Fontname: -FreeType-TinyPixie2-Medium-R-Normal--6-60-72-72-P-33-ISO10646-1
|
||||
Copyright: TinyPixie
|
||||
|
||||
@@ -306,6 +306,81 @@ uint8_t u8x8_d_ld7032_60x32_alt(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void
|
||||
see https://github.com/olikraus/u8g2/issues/2135
|
||||
*/
|
||||
|
||||
static uint8_t u8x8_d_ld7032_128_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)
|
||||
{
|
||||
uint8_t x, c;
|
||||
uint8_t *ptr;
|
||||
switch(msg)
|
||||
{
|
||||
/* handled by the calling function
|
||||
case U8X8_MSG_DISPLAY_SETUP_MEMORY:
|
||||
u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ld7032_60x32_display_info);
|
||||
break;
|
||||
*/
|
||||
case U8X8_MSG_DISPLAY_INIT:
|
||||
u8x8_d_helper_display_init(u8x8);
|
||||
u8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_init_seq);
|
||||
break;
|
||||
case U8X8_MSG_DISPLAY_SET_POWER_SAVE:
|
||||
if ( arg_int == 0 )
|
||||
u8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_powersave0_seq);
|
||||
else
|
||||
u8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_powersave1_seq);
|
||||
break;
|
||||
case U8X8_MSG_DISPLAY_SET_FLIP_MODE:
|
||||
if ( arg_int == 0 )
|
||||
{
|
||||
u8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_flip0_seq);
|
||||
u8x8->x_offset = u8x8->display_info->default_x_offset;
|
||||
}
|
||||
else
|
||||
{
|
||||
u8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_flip1_seq);
|
||||
u8x8->x_offset = u8x8->display_info->flipmode_x_offset;
|
||||
}
|
||||
break;
|
||||
#ifdef U8X8_WITH_SET_CONTRAST
|
||||
case U8X8_MSG_DISPLAY_SET_CONTRAST:
|
||||
u8x8_cad_StartTransfer(u8x8);
|
||||
u8x8_cad_SendCmd(u8x8, 0x012 );
|
||||
if ( arg_int > 0x07f ) /* default is 0x040, limit to 0x07f to be on the safe side (hopefully) */
|
||||
arg_int= 0x07f;
|
||||
u8x8_cad_SendArg(u8x8, arg_int ); /* values from 0x00 to 0x0ff are allowed, bit will all values be safe??? */
|
||||
u8x8_cad_EndTransfer(u8x8);
|
||||
break;
|
||||
#endif
|
||||
case U8X8_MSG_DISPLAY_DRAW_TILE:
|
||||
u8x8_cad_StartTransfer(u8x8);
|
||||
x = ((u8x8_tile_t *)arg_ptr)->x_pos;
|
||||
x += u8x8->x_offset/8;
|
||||
u8x8_cad_SendCmd(u8x8, 0x034 );
|
||||
u8x8_cad_SendArg(u8x8, x );
|
||||
u8x8_cad_SendCmd(u8x8, 0x035 );
|
||||
u8x8_cad_SendArg(u8x8, 0x00f );
|
||||
u8x8_cad_SendCmd(u8x8, 0x036 );
|
||||
u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos)*8 );
|
||||
u8x8_cad_SendCmd(u8x8, 0x037 );
|
||||
u8x8_cad_SendArg(u8x8, 0x027 );
|
||||
u8x8_cad_SendCmd(u8x8, 0x008 );
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
c = ((u8x8_tile_t *)arg_ptr)->cnt;
|
||||
ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;
|
||||
u8x8_cad_SendData(u8x8, c*8, ptr); /* note: SendData can not handle more than 255 bytes */
|
||||
arg_int--;
|
||||
} while( arg_int > 0 );
|
||||
|
||||
u8x8_cad_EndTransfer(u8x8);
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
static const u8x8_display_info_t u8x8_ld7032_128x36_display_info =
|
||||
{
|
||||
/* chip_enable_level = */ 0,
|
||||
@@ -378,5 +453,5 @@ uint8_t u8x8_d_ld7032_128x36(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *a
|
||||
return 1;
|
||||
}
|
||||
|
||||
return u8x8_d_ld7032_generic(u8x8, msg, arg_int, arg_ptr);
|
||||
return u8x8_d_ld7032_128_generic(u8x8, msg, arg_int, arg_ptr);
|
||||
}
|
||||
|
||||
+13
-12
@@ -398,7 +398,7 @@ static const uint8_t u8x8_d_sed1330_256x128_init_seq[] = {
|
||||
U8X8_A(0x020), /* 32 */ /* Low byte of the virtual screen size. (Value confirmed with app notes p41) */
|
||||
U8X8_A(0), /* High byte of the virtual screen size, see also section 9.1.2 */
|
||||
|
||||
U8X8_C(0x044), /* SCROLL */
|
||||
U8X8_C(0x044), /* SCROLL, 11 Bytes in total */
|
||||
U8X8_A(0x000),
|
||||
U8X8_A(0x000),
|
||||
U8X8_A(0x080),
|
||||
@@ -481,26 +481,27 @@ static const uint8_t u8x8_d_sed1330_320x200_init_seq[] = {
|
||||
/* system init command, see also u8x8_d_sed1330_powersave0_seq */
|
||||
U8X8_CA(0x040, 0x030), /* sys init (0x040) with one arg, where 0x030 is a wild guess */
|
||||
/* system init has total 8 parameters, so 7 more are here */
|
||||
|
||||
U8X8_A(0x087), /* no idea here... WF (topmost bit) is set to one because it is suggested in the datasheet, lowest 3 bits refer to text mode only */
|
||||
U8X8_A(0x007), /* FY: height of a char+1, does not matter here (hopefully), because we use graphics mode only */
|
||||
U8X8_A(0x027), /* 40-1 */ /* C/R: this could be the number of horizontal bytes - 1 (Value confirmed with app notes p41) */
|
||||
U8X8_A(0x039), /* TC/R: According to app notes fOSC=6Mhz fFF=70Hz --> TC/R = 74d*/
|
||||
U8X8_A(0x02F), /* TC/R: According to app notes fOSC=6Mhz fFF=70Hz --> TC/R = 74d*/
|
||||
U8X8_A(0x0c7), /* 0xc7=199, L/F: Lines per frame - 1, probably this is the height of the display - 1 (value confirmed with app notes p41)*/
|
||||
U8X8_A(0x028), /* Low byte of the virtual screen size. (Value confirmed with app notes p41) */
|
||||
U8X8_A(0), /* High byte of the virtual screen size, see also section 9.1.2 */
|
||||
U8X8_A(0x000), /* High byte of the virtual screen size, see also section 9.1.2 */
|
||||
|
||||
U8X8_C(0x044), /* SCROLL */
|
||||
U8X8_A(0x000),
|
||||
U8X8_A(0x000),
|
||||
U8X8_A(0x0ef),
|
||||
U8X8_A(0x0b0),
|
||||
U8X8_A(0x004),
|
||||
U8X8_A(0x0ef),
|
||||
U8X8_C(0x044), /* SCROLL, 11 Bytes in total */
|
||||
U8X8_A(0x000), /* Screen 1 Start Address (Low) = 00H */
|
||||
U8X8_A(0x000), /* Screen 1 Start Address (High) = 00H */
|
||||
U8X8_A(0x0c7), /* Screen Layer 1 Number of lines = 200d */
|
||||
U8X8_A(0x0b0), /* Screen 2 Start Address (Low) = 00H */
|
||||
U8X8_A(0x005), /* Screen 2 Start Address (High) = 00H */
|
||||
U8X8_A(0x0c7), /* Screen Layer 2 Number of lines = 200d */
|
||||
U8X8_C(0x04C), /* Cursor Direction 0,0 Shift Direction = Right */
|
||||
U8X8_A(0x000),
|
||||
U8X8_A(0x000),
|
||||
U8X8_A(0x000),
|
||||
U8X8_A(0x000),
|
||||
|
||||
|
||||
U8X8_CA(0x05a, 0), /* HDOT SCR: Horizontal dotwise scroll... set to 0 */
|
||||
|
||||
U8X8_CA(0x05b, 0x0c), /* OVLAY: 2-layer, all graphics, OR between layer 1 and 2 */
|
||||
|
||||
@@ -374,7 +374,7 @@ static const uint8_t u8x8_d_ssd1322_240x128_init_seq[] = {
|
||||
U8X8_CA(0xa2, 0x00), /* display offset, shift mapping ram counter */
|
||||
U8X8_CA(0xa1, 0x00), /* display start line */
|
||||
//U8X8_CAA(0xa0, 0x14, 0x11), /* Set Re-Map / Dual COM Line Mode */
|
||||
U8X8_CAA(0xa0, 0x06, 0x011), /* Set Re-Map / Dual COM Line Mode */
|
||||
U8X8_CAA(0xa0, 0x36, 0x011), /* Set Re-Map / Dual COM Line Mode */
|
||||
U8X8_CA(0xab, 0x01), /* Enable Internal VDD Regulator */
|
||||
U8X8_CAA(0xb4, 0xa0, 0x005|0x0fd), /* Display Enhancement A */
|
||||
U8X8_CA(0xc1, 0x9f), /* contrast */
|
||||
|
||||
@@ -1776,7 +1776,13 @@ uint8_t u8x8_d_st75256_jlx19296(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void
|
||||
|
||||
|
||||
/*=============================================*/
|
||||
/* JLX16080 LCD */
|
||||
/*
|
||||
JLX16080 LCD
|
||||
|
||||
https://github.com/olikraus/u8g2/issues/2058
|
||||
|
||||
WARNING: NOT FULLY TESTED in issue 2058!
|
||||
*/
|
||||
|
||||
static const u8x8_display_info_t u8x8_st75256_jlx16080_display_info =
|
||||
{
|
||||
@@ -1889,10 +1895,14 @@ uint8_t u8x8_d_st75256_jlx16080(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void
|
||||
|
||||
u8x8_cad_SendCmd(u8x8, 0x030 ); /* select command set */
|
||||
u8x8_cad_SendCmd(u8x8, 0x075 ); /* row */
|
||||
if ( u8x8->x_offset == 0 ) /* 0 means flip mode 1, then adjust y value */
|
||||
u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));
|
||||
else
|
||||
|
||||
|
||||
//if ( u8x8->x_offset == 0 ) /* 0 means flip mode 1, then adjust y value */
|
||||
//u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));
|
||||
//else
|
||||
u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));
|
||||
|
||||
|
||||
u8x8_cad_SendArg(u8x8, 0x04f);
|
||||
//u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));
|
||||
u8x8_cad_SendCmd(u8x8, 0x015 ); /* col */
|
||||
|
||||
Reference in New Issue
Block a user