Jump to content

bubi_00

Members
  • Posts

    7
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Ok...I should stop doing things after a hard working day...Made an mistake in my spi init sequence...typo..-.- well..works now Thanks for your help... I could constribute a framebuffer driver whent it's ready for a Sharp LS013B7DH06 on a TI 430-BOOST96 Board... (ok..it's close to your code anyway ) Now, I will start to play around with uGFX keep up your work..
  2. I modified the framebuffer driver to support this special case as you suggested. #if GDISP_DRIVER_3BIT_MSB color = gdispColor2Native(g->p.color); fb = ((fbPriv *)g->priv)->fbi.pixels; x = g->p.x; y = g->p.y; pos = y * (((fbPriv *)g->priv)->fbi.linelen) + ((x * 3) / 8) ; switch (g->p.x & 0x07){ case 0: fb[pos] = ((fb[pos] & ~0xE0) | color << 5); break; case 1: fb[pos] = ((fb[pos] & ~0x1C) | color << 2); break; case 2: fb[pos] = ((fb[pos] & ~0x03) | color >> 1); fb[pos+1] = ((fb[pos+1] & ~0x80) | (color & 0x01) << 7); break; case 3: fb[pos] = ((fb[pos] & ~0x70) | color << 4); break; case 4: fb[pos] = ((fb[pos] & ~0x0E) | color << 1); break; case 5: fb[pos] = ((fb[pos] & ~0x01) | color >> 2); fb[pos+1] = ((fb[pos+1] & ~0xC0) | (color & 0x03) << 6); break; case 6: fb[pos] = ((fb[pos] & ~0x30) | color << 3); break; case 7: fb[pos] = ((fb[pos] & ~0x7) | color ); break; } #else Well...close one gdispGDrawPixel works all over the screen... gdispGDrawBox(GDISP,20,20,80,80,0x07); --- works gdispGDrawBox(GDISP,10,10,100,100,0x07); --- small errors gdispGDrawBox(GDISP,1,1,50,50,0x07); --- big errors gdispGFillArea(GDISP,20,20,100,50,0x07); ---- complete fail I'm not quiet sure what's happening here...maybe you have an idea?! PS: added the uGFX logo
  3. Ok thanks for your help! I will implement a working prototype driver...but I don't think it will be very useful nor in a good shape. I'm hardware developer and no software guru I will release the code here as soon as I can.
  4. Yes! That's my problem... I thought uGFX could handle right pixel position within a byte. I can shift with my custom driver before writing a line to the display, but well...isn't a good solutions in my memory constraint system. But to get it right...minimum requirement in uGFX (with RGB) is 1 pixel = 1 byte? Kind regards Michael
  5. Yes, that helps! Sorry, its RGB...just a typo I tried already adding my own custom format with RGB111, but I had no success with it. The bitshift was wrong, I got 0x07 (with Pixel at 0,0 with color 0x07) into my framebuffer, the pixel offset seemed to be wrong. I will have a more detailed look into it...but that seems to be the right way for me...thank you!
  6. Hello, I'm trying to port uGFX to a Sharp Memory Display with a framebuffer driver. Driver works OK so far, but i have a problem with the colorformat. My display only supports 3bit (R1,B1,G1) with MSB first. with gdispGDrawPixel(GDISP,1,0,0x07); I expect my framebuffer to be 0xE0. I have 128x128 pixel and therefor 48bytes per line. I tried to modify the code to support this special format, but without success. I came across a few interesting functions and defines without documentation. gdispPackPixels for example. Any hints how to implement such a case? kind regards Michael
×
×
  • Create New...