Wren6991 / PicoDVI

Bitbanged DVI on the RP2040 Microcontroller
BSD 3-Clause "New" or "Revised" License
1.22k stars 130 forks source link

add beginner-friendly usage documentation and/or use-case driven examples #26

Open Sorontik opened 2 years ago

Sorontik commented 2 years ago

Hello, i'm really impressed by what you managed to squeeze out of the RP2040 and very excited to try this myself. In your readme you explain the creation of this project and the technical details very nicely, but only from a "PicoDVI internal" and somewhat low-level point of view. Your examples do a good job at showcasing the capabilites of the library, but they don't really help applying it to a specific use-case. I also couldn't find much other ressources about this online (apart from a PiCockpit Blog Entry ). Also some of the information (e.g about clock frequency, core voltage etc.) is scattered in the text and easily overlooked.

As I'm new to the PiPico/RP2040 world and Microcontrollers are just a hobby for me, I'm really having trouble understanding what's going on in the examples and how to translate it to my intended use-case. (For me, the terminal-app is closest to my use-case, so my ideas and examples are kind of focued on that but most of it probably applies to the other example-apps as well)

So i suggest adding some more user-oriented / high-level documentation that

and maybe also some examples that present a concrete use-case instead of showcasing the library:

This list is just a compilation of ideas, some of which probably don't make sense or even are outright impossible but i think it illustrates the intention of this issue. Unfortunately I'm not versed enough in C/C++ and don't really understand your library, so I can't do this myself, but i'd be happy to help as proof-reader or do anything else i can to help.

Background: The microcontroller-world is a hobby for me. I started to teach myself with Arduino, then advanced to dealing with the underlying Atmel/Microchip MCUs directly and now, encumbered by their limited resources, I'm trying to utilize the RP2040 / Pi Pico for selected projects.

I believe there are many people like me out there who would love to use this library to add a visual interface to all kinds of neat little projects but are not skilled enough (yet) to do so with the rather low-level documentation already provided.

Just to give you an idea: my current Project is a DMX-Monitor. It reads DMX (digital lighting control protocol) values, displays them on the screen in a table and highlights the last changed value(s) DMX essentially is a list of 512 8-bit values (so 3 digits for display needed) and i would like to display at least 48 or more).

So i imagine a 10x10 table for the values and change the background for changed values. I dream of displaying the channel number in grey and the value in white in each cell, but since i have no idea at all how to approach this, fancy stuff hast to wait until basics work.

Wren6991 commented 2 years ago

This is a great idea. Unfortunately I don't have time to work on it at the moment.

Note the interface is intentionally low-level, as getting decent performance requires you to think hard about how your pixels are laid out etc. If we had more RAM then maybe a "take a framebuffer" interface would have more value.