diff --git a/README.md b/README.md index d14e2466..668a766b 100644 --- a/README.md +++ b/README.md @@ -8,5 +8,5 @@ Description: https://github.com/olikraus/u8g2/wiki Issue Tracker: https://github.com/olikraus/u8g2/issues -Download (2.32.13): https://github.com/olikraus/U8g2_Arduino/archive/master.zip +Download (2.32.14): https://github.com/olikraus/U8g2_Arduino/archive/master.zip diff --git a/extras/ChangeLog b/extras/ChangeLog index 1c05474e..28b07c33 100644 --- a/extras/ChangeLog +++ b/extras/ChangeLog @@ -278,9 +278,11 @@ https://github.com/olikraus/u8g2 ChangeLog * ST7920 256x32 (issue 1593) * ST7567 122x32 (issue 1759) * ST7571 128X96 (issue 1575) + * SSD1312 (issue 1806) * ST7571 128x128 (bugfix issue 1576) * Added support for UC1609 (issue 1565) * Added support for GU800 series of Vacuum Fluorescent Displays (VFD, issue 1604) * Changed SPI Mode for Sharp displays (ls013..., issue 1771) - * Added many more fonts + * Added many more fonts (issues 1794, 1775, 1706, 1769) + * Fixed several bugs and compiler errors \ No newline at end of file diff --git a/library.properties b/library.properties index b862dbe9..8f144e07 100644 --- a/library.properties +++ b/library.properties @@ -1,9 +1,9 @@ name=U8g2 -version=2.32.13 +version=2.32.14 author=oliver maintainer=oliver -sentence=Monochrome LCD, OLED and eInk Library. Display controller: SSD1305, SSD1306, SSD1309, SSD1316, 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, ST75256, ST75320, NT7534, ST7920, IST3020, IST7920, LD7032, KS0108, KS0713, HD44102, T7932, SED1520, SBN1661, IL3820, MAX7219. Interfaces: I2C, SPI, Parallel. -paragraph=Monochrome LCD, OLED and eInk Library. Successor of U8glib. Supported display controller: SSD1305, SSD1306, SSD1309, SSD1316, 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, ST75256, ST75320, NT7534, ST7920, IST3020, IST7920, LD7032, KS0108, KS0713, HD44102, T7932, SED1520, SBN1661, IL3820, MAX7219. Supported interfaces: I2C, SPI, Parallel. Features: UTF8, >700 fonts, U8x8 char output. +sentence=Monochrome LCD, OLED and eInk Library. Display controller: SSD1305, SSD1306, SSD1309, SSD1312, SSD1316, 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, ST75256, ST75320, NT7534, ST7920, IST3020, IST7920, LD7032, KS0108, KS0713, HD44102, T7932, SED1520, SBN1661, IL3820, MAX7219. Interfaces: I2C, SPI, Parallel. +paragraph=Monochrome LCD, OLED and eInk Library. Successor of U8glib. Supported display controller: SSD1305, SSD1306, SSD1309, SSD1312, SSD1316, 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, ST75256, ST75320, NT7534, ST7920, IST3020, IST7920, LD7032, KS0108, KS0713, HD44102, T7932, SED1520, SBN1661, IL3820, MAX7219. Supported interfaces: I2C, SPI, Parallel. Features: UTF8, >700 fonts, U8x8 char output. category=Display url=https://github.com/olikraus/u8g2 architectures=* diff --git a/src/clib/mui_u8g2.c b/src/clib/mui_u8g2.c index 01821a1c..44a7bebd 100644 --- a/src/clib/mui_u8g2.c +++ b/src/clib/mui_u8g2.c @@ -83,7 +83,7 @@ mui _input_uint8_invers_select_u8g2 --> mui_u8g2_u8_value_0_9_wm_mse_pi mui _single_line_option_invers_select_u8g2 --> mui_u8g2_u8_opt_line_wa_mse_pi mui _select_options_parent_invers_select_u8g2 --> mui_u8g2_u8_opt_parent_wa_mse_pi - mui _select_options_child_invers_select_u8g2 --> mui_u8g2_u8_opt_child_wm_mse_pi + mui _select_options_child_invers_select_u8g2 --> mui_u8g2_u8_opt_child_wm_pi mui _checkbox_invers_select_u8g2 --> mui_u8g2_u8_chkbox_wm_pi mui _radio_invers_select_u8g2 --> mui_u8g2_u8_radio_wm_pi @@ -1612,7 +1612,7 @@ uint8_t mui_u8g2_u8_radio_wm_pi(mui_t *ui, uint8_t msg) } -uint8_t mui_u8g2_u8_opt_parent_wm_mse_pi(mui_t *ui, uint8_t msg) +uint8_t mui_u8g2_u8_opt_parent_wm_pi(mui_t *ui, uint8_t msg) { uint8_t *value = (uint8_t *)muif_get_data(ui->uif); switch(msg) @@ -1695,7 +1695,7 @@ uint8_t mui_u8g2_u8_opt_child_mse_common(mui_t *ui, uint8_t msg) } -uint8_t mui_u8g2_u8_opt_radio_child_wm_mse_pi(mui_t *ui, uint8_t msg) +uint8_t mui_u8g2_u8_opt_radio_child_wm_pi(mui_t *ui, uint8_t msg) { u8g2_t *u8g2 = mui_get_U8g2(ui); uint8_t *value = (uint8_t *)muif_get_data(ui->uif); @@ -1740,7 +1740,7 @@ uint8_t mui_u8g2_u8_opt_radio_child_wm_mse_pi(mui_t *ui, uint8_t msg) } -uint8_t mui_u8g2_u8_opt_radio_child_w1_mse_pi(mui_t *ui, uint8_t msg) +uint8_t mui_u8g2_u8_opt_radio_child_w1_pi(mui_t *ui, uint8_t msg) { u8g2_t *u8g2 = mui_get_U8g2(ui); uint8_t *value = (uint8_t *)muif_get_data(ui->uif); @@ -1786,7 +1786,7 @@ uint8_t mui_u8g2_u8_opt_radio_child_w1_mse_pi(mui_t *ui, uint8_t msg) } -uint8_t mui_u8g2_u8_opt_child_wm_mse_pi(mui_t *ui, uint8_t msg) +uint8_t mui_u8g2_u8_opt_child_wm_pi(mui_t *ui, uint8_t msg) { u8g2_t *u8g2 = mui_get_U8g2(ui); //uint8_t *value = (uint8_t *)muif_get_data(ui->uif); @@ -1833,7 +1833,7 @@ uint8_t mui_u8g2_u8_opt_child_wm_mse_pi(mui_t *ui, uint8_t msg) mui_u8g2_goto_parent --> mui_u8g2_goto_data - Used together with mui_u8g2_goto_form_w1_mse_pi + Used together with mui_u8g2_goto_form_w1_pi */ uint8_t mui_u8g2_goto_data(mui_t *ui, uint8_t msg) @@ -1865,9 +1865,9 @@ uint8_t mui_u8g2_goto_data(mui_t *ui, uint8_t msg) /* -mui_u8g2_goto_child_w1_mse_pi --> mui_u8g2_goto_form_w1_mse_pi +mui_u8g2_goto_child_w1_mse_pi --> mui_u8g2_goto_form_w1_pi */ -uint8_t mui_u8g2_goto_form_w1_mse_pi(mui_t *ui, uint8_t msg) +uint8_t mui_u8g2_goto_form_w1_pi(mui_t *ui, uint8_t msg) { u8g2_t *u8g2 = mui_get_U8g2(ui); uint8_t arg = ui->arg; // remember the arg value, because it might be overwritten @@ -1890,7 +1890,7 @@ uint8_t mui_u8g2_goto_form_w1_mse_pi(mui_t *ui, uint8_t msg) return 0; } -uint8_t mui_u8g2_goto_form_w1_mse_pf(mui_t *ui, uint8_t msg) +uint8_t mui_u8g2_goto_form_w1_pf(mui_t *ui, uint8_t msg) { u8g2_t *u8g2 = mui_get_U8g2(ui); uint8_t arg = ui->arg; // remember the arg value, because it might be overwritten @@ -2020,7 +2020,7 @@ uint8_t mui_u8g2_u16_list_line_wa_mud_pi(mui_t *ui, uint8_t msg) FDS: MUI_XYA, arg=form id data: mui_u8g2_list_t * */ -uint8_t mui_u8g2_u16_list_parent_wm_mse_pi(mui_t *ui, uint8_t msg) +uint8_t mui_u8g2_u16_list_parent_wm_pi(mui_t *ui, uint8_t msg) { //u8g2_t *u8g2 = mui_get_U8g2(ui); mui_u8g2_list_t *list = (mui_u8g2_list_t *)muif_get_data(ui->uif); @@ -2104,7 +2104,7 @@ static uint8_t mui_u8g2_u16_list_child_mse_common(mui_t *ui, uint8_t msg) return 0; } -uint8_t mui_u8g2_u16_list_child_w1_mse_pi(mui_t *ui, uint8_t msg) +uint8_t mui_u8g2_u16_list_child_w1_pi(mui_t *ui, uint8_t msg) { u8g2_t *u8g2 = mui_get_U8g2(ui); mui_u8g2_list_t *list = (mui_u8g2_list_t *)muif_get_data(ui->uif); @@ -2144,7 +2144,7 @@ uint8_t mui_u8g2_u16_list_child_w1_mse_pi(mui_t *ui, uint8_t msg) return 0; } -uint8_t mui_u8g2_u16_list_goto_w1_mse_pi(mui_t *ui, uint8_t msg) +uint8_t mui_u8g2_u16_list_goto_w1_pi(mui_t *ui, uint8_t msg) { u8g2_t *u8g2 = mui_get_U8g2(ui); mui_u8g2_list_t *list = (mui_u8g2_list_t *)muif_get_data(ui->uif); diff --git a/src/clib/mui_u8g2.h b/src/clib/mui_u8g2.h index 47a1c3a7..9cee209d 100644 --- a/src/clib/mui_u8g2.h +++ b/src/clib/mui_u8g2.h @@ -157,24 +157,25 @@ uint8_t mui_u8g2_u8_opt_line_wa_mse_pf(mui_t *ui, uint8_t msg); /* GIF, MUIF_VAR uint8_t mui_u8g2_u8_opt_line_wa_mud_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */ uint8_t mui_u8g2_u8_opt_line_wa_mud_pf(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */ +/* dropdown list / combo box */ /* The text part of the parent defines a '|' separted list of elements, which can be selected by the child. */ /* Argument is a form number where the child element is placed multiple times */ /* The child form does not require the ok button, because the child function will return to the parent with the select element */ -uint8_t mui_u8g2_u8_opt_parent_wm_mse_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE, MUI_XYAT */ -uint8_t mui_u8g2_u8_opt_radio_child_wm_mse_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE, MUI_XYA */ -uint8_t mui_u8g2_u8_opt_radio_child_w1_mse_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE, MUI_XYA */ -uint8_t mui_u8g2_u8_opt_child_wm_mse_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE, MUI_XYA */ - - -//uint8_t mui_u8g2_goto_parent(mui_t *ui, uint8_t msg); /* MUIF_RO, MUI_DATA (WARNING: Must appear only once per form!!! */ -// renamed to +uint8_t mui_u8g2_u8_opt_parent_wm_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE, MUI_XYAT */ +uint8_t mui_u8g2_u8_opt_radio_child_wm_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE, MUI_XYA */ +uint8_t mui_u8g2_u8_opt_radio_child_w1_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE, MUI_XYA */ +uint8_t mui_u8g2_u8_opt_child_wm_pi(mui_t *ui, uint8_t msg); /* MUIF_VARIABLE, MUI_XYA */ +/* Note: there is no opt_child_goto muif, because this can be done with mui_u8g2_goto_form_w1_pi */ + +/* (scrollable) jump menu */ +/* The text part of the parent defines a '|' separted list of elements, which can be selected goto_form functions. */ +/* Each '|' separted element must be prefixed with the form number (MUI_x) */ uint8_t mui_u8g2_goto_data(mui_t *ui, uint8_t msg); /* REF, MUIF_RO, MUI_DATA (WARNING: Must appear only once per form!!! */ -//uint8_t mui_u8g2_goto_child_w1_mse_pi(mui_t *ui, uint8_t msg); /* MUIF_BUTTON, MUI_XYA */ -// renamed to -uint8_t mui_u8g2_goto_form_w1_mse_pi(mui_t *ui, uint8_t msg); /* REF, MUIF_BUTTON, MUI_XYA */ -uint8_t mui_u8g2_goto_form_w1_mse_pf(mui_t *ui, uint8_t msg); /* REF, MUIF_BUTTON, MUI_XYA */ +uint8_t mui_u8g2_goto_form_w1_pi(mui_t *ui, uint8_t msg); /* REF, MUIF_BUTTON, MUI_XYA */ +uint8_t mui_u8g2_goto_form_w1_pf(mui_t *ui, uint8_t msg); /* REF, MUIF_BUTTON, MUI_XYA */ +/* character input */ uint8_t mui_u8g2_u8_char_wm_mud_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XY, usually requires a monospaced font line profont12 */ @@ -236,10 +237,10 @@ uint8_t mui_u8g2_u16_list_line_wa_mse_pi(mui_t *ui, uint8_t msg); /* GIF, uint8_t mui_u8g2_u16_list_line_wa_mud_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G2_U16_LIST, MUI_XYA, arg=pixel fieldsize */ -uint8_t mui_u8g2_u16_list_parent_wm_mse_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G2_U16_LIST, MUI_XYA, arg=subform */ -uint8_t mui_u8g2_u16_list_child_w1_mse_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G2_U16_LIST, MUI_XYA, arg=sub element number */ - -uint8_t mui_u8g2_u16_list_goto_w1_mse_pi(mui_t *ui, uint8_t msg); /* REF, MUIF_U8G2_U16_LIST first char of the string denotes the target form */ +/* dropdown list / combo box with 16 size and callback functions for MUIF_U8G2_U16_LIST */ +uint8_t mui_u8g2_u16_list_parent_wm_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G2_U16_LIST, MUI_XYA, arg=subform */ +uint8_t mui_u8g2_u16_list_child_w1_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_U8G2_U16_LIST, MUI_XYA, arg=sub element number */ +uint8_t mui_u8g2_u16_list_goto_w1_pi(mui_t *ui, uint8_t msg); /* REF, MUIF_U8G2_U16_LIST first char of the string denotes the target form */ #ifdef __cplusplus