Wpis z mikrobloga

Mirki z #embedded #stm32 #elektronika i może jeszcze #avr

Robię prosty projekt na stm32 - coś na zasadzie stacji pogodowej i jestem na etapie ogarniania wyświetlacza TFT - podłączony mam, działa tak jak tego oczekiwałem, ogarnąłem już jak wpisywać tekst i jednocześnie mam wyświetlony zegarek - wszystko działa jak należy.

Chciałbym teraz dodać ikony tego typu jak na załączonym obrazku - potrzebuję ikonkę baterii i np. coś na wzór ikonki wiadomości - z konwersją z jpeg na hex sobie poradzę, gorzej z wyświetleniem tego na ekran, bo nijak nie potrafię sobie z tym poradzić.

Mam funkcję do zapalania pojedynczego piksela:

st7735Pixel(x, y, color) - działa jak należy, zapala pojedynczy piksel, chciałem do tego dodać funkcję typu:

drawBitmap(int16t x, int16t y, const uint8_t *bitmap, int16t w, int16t h, uint16t color) {

int16
t i, j, byteWidth = (w + 7) / 8;

for(j=0; j> (i & 7)) {
st7735Pixel(x+i, y+j, color);
}
}
}
}

i w miejscu wskaźnika - *bitmap podawałem skonwertowaną ikonę na hex.
Uzyskałem efekt, że mam wypełniony podanym kolorem kwadrat o wymiarach podanych w miejscu w, h - umieszczony w miejscu x, y - więc częściowo działa, ale jak to zrobić, żeby rysował ikonkę podaną mu w postaci hexa?
Pobierz B.....l - Mirki z #embedded #stm32 #elektronika i może jeszcze #avr

Robię prosty p...
źródło: comment_GpTirH7n8hhChTtw85Ep0azE1fTYQQzQ.jpg
  • 2
@Razi91: okej, dzięki za naprowadzenie - już udało się zrobić. Poprawiłem kod w ten sposób:

drawBitmap(int16t x, int16t y, const uint8t *bitmap, int16t w, int16t h, uint16t color) {

int16_t i, j, byteWidth = (w + 7) / 8;

for(j=0; j> (i & 7)) {
st7735Pixel(x+i, y+j, color);
}
}
}
}

i wszystko się wyświetla tak jak być powinno. Jeszcze raz dzięki