-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UC1638 #371
Comments
hmmm... sounds good, would it be helpful if I add a new device for this controller? |
I am having problems. Sometimes it works then other times a partial row of pixels will be offset. Any thoughts on how to fix this? |
Shell I start working on this? I mean, I will create a u8g2 device for this and add the commands from above. But i need your support to fix and test the new device. While doing so, we can also try to fix your problems from above. So... shell we both start working on this? |
Yes. Lets do it. I can send the files I modified. I will send on Monday (2 Oct). |
what is the dimension of your display? 240x128? any datasheet of the display available? |
I am using 1 bit per pixel. I have tried both 1 bit per pixel and 2 bit per pixel with similar results. I prefer 1 bit per pixel. |
Notes on the UC1638
|
I have created a beta release: Please download and install via the add zip library menu of the Arduino IDE. |
I tried the beta release. Display was blank.
|
oh
Can you crosscheck this? I have changed the CAD (command arg data) procedure from cad011 for the uc1638 here: https://github.com/olikraus/u8g2/blob/master/tools/codebuild/codebuild.c#L448
Looks also good:
ok, I have fixed this
But i still need to reassign the current write position. Do i need to use *2 then? I think this can be figured out once something is visible. I have created a new beta release 2.19.2: |
1 similar comment
oh
Can you crosscheck this? I have changed the CAD (command arg data) procedure from cad011 for the uc1638 here: https://github.com/olikraus/u8g2/blob/master/tools/codebuild/codebuild.c#L448
Looks also good:
ok, I have fixed this
But i still need to reassign the current write position. Do i need to use *2 then? I think this can be figured out once something is visible. I have created a new beta release 2.19.2: |
Any feedback here? |
Hey @olikraus , Got this device : 192x96 dots, I2C connection, 3,3V, LG192962-DW-v33 with UC1638 controler |
Oh, a really old issue. Does the existing |
At the moment, there is no definition available for U1638 on I2C I tried with SPI (while configuring device avec SPI) U8X8_UC1638_160X128_4W_SW_SPI u8x8(/* clock / 13 , / data / 11 , / cs / 10 , / dc*/ 9 , /* reset / 8); but no success |
It is here for example: The U8X8 is in U8x8lib.h and the U8g2 constructor is in U8g2lib.h |
Currently I have this in my lab: |
@CrNMGuy It looks like, that I have exactly the same LCD, right? |
SPI mode works as expected now, but there are still some issues with I2C. |
I2C is fixed. The address of the LG192962 can be selected between 0x78 (CS=0) and 0x7c (CS=1). In U8g2 the default is now 0x78 for the UC1638. Background: There are actually four I2C addresses selectable, 0x70, 0x74, 0x78 and 0x7c
|
I have created beta 2.29.8:
|
Hello, Same issue here, uc1638C 240x128 , until today I have been using this file but slightly modified on tile_hight, tile_hight and mirror Works perfect and would be great to add it officially, with every update I have to patch manually, I attach the datasheet aswell in case it can be improved |
The current file uc1608 contains more than 500 lines: However your code only contains 355 lines. I have no I idea what you modified. So I can't add this to the repo. |
Sorry, I must not have been clear enough, The original file it's from this (year 2017) comment #371 (comment) to make it clear: I don't know if you can just adapt my file as U8G2_UC1638C_240X128 or something, the current U8G2_UC1638_192X96 is not working with my model (empty screen) besides also the different resolution. PS: I just checked the current version against jchifos version and seems the major difference starts on line 311 to the end with the uc1608 erc240x120 and uc1608 dem240064 new models , if you compare both files without thoose models you can see jchifos changes |
ok, i am still confused. Let me first create a new issue |
I modified UC1608 file to use UC1638. It seems to work except rows of pixels intermittently do not display correctly. If i set boxes at height of 8 or 16 then no problems.
Below is arduino code:
`#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
U8G2_UC1608_240X128_1_4W_HW_SPI u8g2(/rotation/U8G2_R0, /* clk13 , MOSI11,*/ /cs/ 2, /dc/3, /reset/4); /*WAS: rotation/U8G2_R2 */
void setup() {
u8g2.begin();
}
void loop() {
u8g2.firstPage();
do {
u8g2.drawBox(40, 32, 160, 5);
u8g2.drawBox(40, 64, 160, 5);
u8g2.drawBox(40, 96, 160, 5);
u8g2.drawBox(40, 128, 160, 5);
} while ( u8g2.nextPage() );
delay(2000);
}`
1638 init code:
static const uint8_t u8x8_d_uc1608_240x128_init_seq[] = {
U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */
U8X8_C(0x024), /* set temp comp*/
U8X8_C(0x0c0), /* mirror y and mirror x / / WAS: c2 /
U8X8_C(0x0a2), / line rate /
U8X8_C(0x0d6), / gray scale 2 /
U8X8_C(0x0eb), / set bias*/
U8X8_C(0x095), /* set 1 bit per pixel, pattern 0*/
U8X8_C(0x089), /* set auto increment, low bits are AC2 AC1 AC0 */
U8X8_C(0x081), /* set contrast, EA default: 0x054 / / UC1638*/
U8X8_D1(0x0a0), /* set contrast, EA default: 0x054 / / UC1638*/
The text was updated successfully, but these errors were encountered: