show rgb 8bit bitmap in st7735 [SOLVED]

i have ST7735 chinnese tft screen connected to arduino due, graphic test is working but now i want to be able to render bitmaps, so i created one in photoshop ( nothin fancy ) but some how i cannot render it, i know adafruit graphic library contains several method to render bitmaps but when i want to use some of these i got an error something like :

drawRGBBitmap( 0, 0, bitmap,160, 128);

^
'drawRGBBitmap' was not declared in this scope

any idea?, thanks in advance...

PD: the bitmap info is in attachments

UPDATE: i came with an strategy to show a sprite in screen, but now i have to deal with flicker

bitmapattach.txt (12.8 KB)

Check the library versions with the Library Manager. I suspect that your Adafruit_GFX needs updating.
Likewise your Adafruit_ST7735 library.

As discussed in another thread, mono bitmaps can fit into Flash memory. Colour bitmaps use 16x as much Flash.

David.

I see, but I don't want to use mono images, but 8bit, not 16, seems to be this library only accepts 16 bit 565bitmaps, I will check what version of adafruit_gfx I have, because I think I have an outdated version.
And of course I don't want to consume all the flash space with few sprites, do you know of any other library I can use to display 8 bit bitmaps?

Sit down with pencil and paper. Design your program. Write down what you want to do.

Your Due has 512kB of Flash. It can hold 1000 16x16 full-colour tiles/sprites.

No, I don't think any libraries support 8-bit colour (256 colours). They tend to support monochrome 2-colour or 16-bit 65536-colour.

It is easy enough to write your own functions for 256-colour.

David.

im messing with something i cannot get an answer, im thinking im so dumb,

i have an array i want to show in the screen, i suppose to use :

void Adafruit_GFX::drawRGBBitmap(int16_t x, int16_t y,
  uint16_t *bitmap, int16_t w, int16_t h) {
    startWrite();
    for(int16_t j=0; j<h; j++, y++) {
        for(int16_t i=0; i<w; i++ ) {
            writePixel(x+i, y, bitmap[j * w + i]);
        }
    }
    endWrite();
}

im using :

int16_t x=0;
int16_t y=0;
int16_t w=160;
int16_t h=128;


uint16_tbitmap[] = 
{bla, bla, bla};


//im calling the method like:

 drawRGBBitmap(x,y,bitmap,w,h);

^

exit status 1
'drawRGBBitmap' was not declared in this scope