daveythacher / LED_Matrix_RP2040

GNU General Public License v3.0
1 stars 2 forks source link

Consider removing special LED drivers #3

Closed daveythacher closed 2 years ago

daveythacher commented 2 years ago

Consider removing special LED drivers like TLC5958, MBI5153, etc. These may not be required and may not be available.

daveythacher commented 2 years ago

I am not going to remove these. This project has two sections a front end protocol and a back end control logic implementation. The design of this module is to provide a translation for abstracting the complexity of different back ends. Many configurations are possible. Most if not all of the settings will be handled by the RP2040 firmware outside the knowledge of the user. However some details will likely need exist such as pixel mapping, brightness, gamma correction, etc. These will likely not exist in the module or will use the front end protocol to configure the back end.

At some point it may be worthwhile to make the mapping functions change via the front end protocol. This would move all the gamma correction and brightness logic out of the firmware. Allowing this to be updated by the application logic like pixel mapping is. Thus allowing the firmware to focus on control.

The purpose of this module is to allow cleaner interface and remove the concern for things like electrical signals.

daveythacher commented 2 years ago

This approach is expensive. It plays nice with SoCs, MCUs, etc. However it does not scale well. The power consumption of this can be better than a receiver card which is a bigger, cheaper notion than this.

This module has the potential to remove driver type, refresh, color depth, etc. from the programmer. A simple panel module datasheet would disclose what is supported by this module/panel. Different vendors could use different front end protocols. Every panel module could use a different back end implementation if desired.