diff --git a/csrc/u8x8.h b/csrc/u8x8.h index c7153d8a0..1c99fe528 100644 --- a/csrc/u8x8.h +++ b/csrc/u8x8.h @@ -926,6 +926,7 @@ uint8_t u8x8_d_ssd1318_128x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void * uint8_t u8x8_d_ssd1318_128x96_xcp(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_ssd1320_160x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_ssd1320_160x132(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); +uint8_t u8x8_d_ssd1320_160x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_ssd1322_nhd_256x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_ssd1322_nhd_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); uint8_t u8x8_d_a2printer_384x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); diff --git a/csrc/u8x8_d_ssd1320.c b/csrc/u8x8_d_ssd1320.c index f3e56a563..999ccce9f 100644 --- a/csrc/u8x8_d_ssd1320.c +++ b/csrc/u8x8_d_ssd1320.c @@ -40,7 +40,7 @@ Adapted from u8x8_d_ssd1322.c with the command set of the SSD1320 controller "official" procedure is described here: https://github.com/olikraus/u8g2/wiki/internal - NOTE: U8x8 does NOT work! + NOTE: U8x8 does NOT work! --> not clear, needs to be checked https://github.com/olikraus/u8g2/issues/1816 @@ -608,13 +608,13 @@ uint8_t u8x8_d_ssd1320_160x132(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void /*=========================================================*/ /* https://github.com/olikraus/u8g2/issues/1816 */ -/* 160x80 */ +/* 160x80, https://de.aliexpress.com/item/1005003510267760.html */ static const uint8_t u8x8_d_ssd1320_160x80_flip0_seq[] = { U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */ U8X8_C(0x0a0), /* remap */ U8X8_C(0xc8), /* Set COM Output Scan Direction: normal mode CS1 */ - U8X8_CA(0xd3, 0x0e), /* CS1 */ + U8X8_CA(0xd3, 39), /* display offset */ U8X8_END_TRANSFER(), /* disable chip */ U8X8_END() /* end of sequence */ }; @@ -623,7 +623,7 @@ static const uint8_t u8x8_d_ssd1320_160x80_flip1_seq[] = { U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */ U8X8_C(0x0a1), /* remap */ U8X8_C(0xc0), /* Set COM Output Scan Direction: normal mode CS1 */ - U8X8_CA(0xd3, 0x92), /* CS1 */ + U8X8_CA(0xd3, 120), /* display offset */ U8X8_END_TRANSFER(), /* disable chip */ U8X8_END() /* end of sequence */ }; @@ -660,36 +660,24 @@ static const uint8_t u8x8_d_ssd1320_160x80_init_seq[] = { U8X8_DLY(1), U8X8_C(0xae), /* display off */ - U8X8_CA(0xd5, 0xC2), /* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec) */ - U8X8_CA(0xa8, 0x83), /* multiplex ratio 1/132 Duty */ - U8X8_CA(0xa2, 0x00), /* display start line */ + U8X8_CA(0xa8, 80), /* multiplex ratio 1/80 Duty */ + U8X8_CA(0xa2, 0), /* display start line */ - U8X8_C(0xa0), /* Set Segment Re-Map: column address 0 mapped to SEG0 CS1 */ - // U8X8_C(0xa1), /* Set Segment Re-Map: column address 0 mapped to SEG0 CS2 */ - - U8X8_C(0xc8), /* Set COM Output Scan Direction: normal mode CS1 */ - // U8X8_C(0xc0), /* Set COM Output Scan Direction: normal mode CS2 */ + U8X8_C(0xa0), /* Set Segment Re-Map */ + U8X8_C(0xc8), /* Set COM Output Scan Direction: normal mode */ U8X8_CA(0xad, 0x10), /* select Iref: 0x00 external (reset default), 0x10 internal */ U8X8_CA(0xbc, 0x1e), /* pre-charge voltage level 0x00..0x1f, reset default: 0x1e */ U8X8_C(0xbf), /* select linear LUT */ U8X8_CA(0xd5, 0xc2), /* Bit 0..3: clock ratio 1, 2, 4, 8, ...256, reset=0x1, Bit 4..7: F_osc 0..15 */ U8X8_CA(0xd9, 0x72), /* Set Phase 1&2 Length, Bit 0..3: Phase 1, Bit 4..7: Phase 2, reset default 0x72 */ - U8X8_CA(0xbd, 0x03), /* from the vendor init sequence */ - U8X8_CA(0xdb, 0x30), /* VCOMH Deselect Level */ - - U8X8_CA(0xd3, 0x0e), /* CS1 */ - // U8X8_CA(0xd3, 0x92), /* CS2 */ + U8X8_CA(0xd3, 39), /* display offset */ U8X8_CA(0xda, 0x12), /* Set SEG Pins Hardware Configuration: */ - U8X8_CA(0x81, 0x6b), /* contrast */ - //U8X8_CA(0xd9, 0x22), /* Set Phase Length */ - //U8X8_CA(0xdb, 0x30), /* VCOMH Deselect Level */ - //U8X8_CA(0xad, 0x10), /* Internal IREF Enable */ + U8X8_CA(0x81, 0x70), /* contrast */ U8X8_CA(0x20, 0x00), /* Memory Addressing Mode: Horizontal */ - //U8X8_CA(0x8d, 0x01), /* unknown in SSD1320 datasheet, disable internal charge pump 1 */ - //U8X8_CA(0xac, 0x00), /* unknown in SSD1320 datasheet, disable internal charge pump 2 */ + U8X8_C(0xa4), /* display RAM on */ U8X8_C(0xa6), /* normal display */ @@ -701,11 +689,14 @@ static const uint8_t u8x8_d_ssd1320_160x80_init_seq[] = { uint8_t u8x8_d_ssd1320_160x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) { + + if ( u8x8_d_ssd1320_common_2(u8x8, msg, arg_int, arg_ptr) != 0 ) + return 1; + switch(msg) { case U8X8_MSG_DISPLAY_SETUP_MEMORY: u8x8_d_helper_display_setup_memory(u8x8, &u8x8_d_ssd1320_160x80_display_info); - break; case U8X8_MSG_DISPLAY_INIT: @@ -725,7 +716,7 @@ uint8_t u8x8_d_ssd1320_160x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void * break; default: - return u8x8_d_ssd1320_common_2(u8x8, msg, arg_int, arg_ptr); + break; } return 1; } diff --git a/sys/arduino/u8g2_page_buffer/HelloWorld/HelloWorld.ino b/sys/arduino/u8g2_page_buffer/HelloWorld/HelloWorld.ino index ed10891de..304e62d02 100644 --- a/sys/arduino/u8g2_page_buffer/HelloWorld/HelloWorld.ino +++ b/sys/arduino/u8g2_page_buffer/HelloWorld/HelloWorld.ino @@ -371,7 +371,7 @@ void loop(void) { u8g2.firstPage(); do { u8g2.setFont(u8g2_font_ncenB10_tr); - u8g2.drawStr(0,54,"Hello World!"); + u8g2.drawStr(0,24,"Hello World!"); } while ( u8g2.nextPage() ); //delay(1000); } diff --git a/sys/arduino/u8g2_page_buffer/U8g2Logo/U8g2Logo.ino b/sys/arduino/u8g2_page_buffer/U8g2Logo/U8g2Logo.ino index 2853877e1..d8089d2e9 100644 --- a/sys/arduino/u8g2_page_buffer/U8g2Logo/U8g2Logo.ino +++ b/sys/arduino/u8g2_page_buffer/U8g2Logo/U8g2Logo.ino @@ -154,7 +154,7 @@ //U8G2_SSD1320_160X132_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1320_160X132_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_SSD1320_160X80_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); -//U8G2_SSD1320_160X80_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); +U8G2_SSD1320_160X80_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); //U8G2_LD7032_60X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 11, /* data=*/ 12, /* cs=*/ 9, /* dc=*/ 10, /* reset=*/ 8); // SW SPI Nano Board //U8G2_LD7032_60X32_1_4W_SW_I2C u8g2(U8G2_R0, /* clock=*/ 11, /* data=*/ 12, /* reset=*/ U8X8_PIN_NONE); // NOT TESTED! //U8G2_LD7032_60X32_ALT_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 11, /* data=*/ 12, /* cs=*/ 9, /* dc=*/ 10, /* reset=*/ 8); // SW SPI Nano Board diff --git a/tools/release/print_release.sh b/tools/release/print_release.sh index 0ef3335e7..904b3a6a3 100755 --- a/tools/release/print_release.sh +++ b/tools/release/print_release.sh @@ -1,2 +1,2 @@ # without 'v' prefix -echo -n "2.33.1" +echo -n "2.33.2"