We're making a simple graphics library for an e-ink/e-paper display to draw framebuffers, text, images, bitmaps, vectors, fonts to teach you about these concepts all in C! Graphics drivers are complex but we can start here :)
Yeah, I'm thinking we're back...
Grab the driver we made: https://hoff.industries/files/babydriver.zip
Learn about SPI:
https://www.youtube.com/watch?v=IjjZcnwkrAg
Image to C Bitmap: https://notisrac.github.io/FileToCArray/
Bitmap Font Generator: https://8bitworkshop.com/bitmapfontgenerator/
Hex to Binary: https://www.rapidtables.com/convert/number/hex-to-binary
Buy the E-Ink display: https://www.buydisplay.com/black-2-13-inch-e-paper-122x250-display-module-for-arduino-raspberry-pi
The STM Dev Board I was using: https://www.st.com/en/microcontrollers-microprocessors/stm32l432kc.html
Chapters:
00:00 - Intro and Overview
01:05 - What is a Framebuffer?
01:58 - Color Bit Depth
03:36 - Bit Depth in the Framebuffer
06:04 - Graphics "Software Rendering"
07:12 - Basic Framebuffer Representation in C
08:10 - Setting and Getting Pixels in the Framebuffer
11:16 - Framebuffers with 24 bit Color
14:09 - Refresh Rate and Framerate - What do they mean?
16:19 - How are images are stored in memory?
19:20 - Rendering Bitmaps in C
24:55 - Bitmaps rendered on our physical display!
25:10 - Vector images
26:50 - Drawing Vectors in C
30:03 - Vectors rendered on the physical display!
30:26 - How to store and render text and fonts?
34:36 - Drawing Fonts and Text on-screen in C
39:11 - Text drawn on the physical display!
39:37 - How to transmit the framebuffer to the display?
42:50 - Mapping the Controller IC Command Transmissions
45:28 - Mapping the Controller IC Data Transmissions
46:32 - C Tricks for Writing Platform-Independent Libraries
48:24 - Initialising the Display!
49:10 - Writing code to transmit/render the Framebuffer!
50:11 - A brief on how E-Paper / E-Ink displays work
52:35 - FINALLY - the Framebuffer Transmit Function
54:50 - Display Driver Demo on REAL HARDWARE!
57:18 - Outro