Makuna / NeoPixelBus

An Arduino NeoPixel support library supporting a large variety of individually addressable LEDs. Please refer to the Wiki for more details. Please use the GitHub Discussions to ask questions as the GitHub Issues feature is used for bug tracking.
GNU Lesser General Public License v3.0
1.17k stars 257 forks source link

New Source File Layout #620

Closed Makuna closed 9 months ago

Makuna commented 1 year ago

Is your feature request related to a problem? Please describe. Current software source files have grown not only in count, but also in volume of source within each file. Often files contain high multiples of classes that while related they make it hard to find specific classes and manage them.

Describe the solution you'd like

Current Arduino requires at least a single public include file at what is considered the root of source (not examples).

NeoPixelBus/src/

beyond this is left to the library writer and is assumed as the starting root.

methods/<platform>/<method files>
    methods/esp32/NeoEsp32I2sMethod.h  
features/<element & feature files>  
    features/NeoGrbFeature.h  
topologies/<layout & topology files>  
    topologies/NeoMosaic.h  
colors/<color and gamma files>  
    colors/RgbwColor.h
buffers/<buffer files>  
    buffers/NeoDib.h  
animations/<animation files>  
    animations/NeoEase.h

And for examples, which start at the root of library under examples folder

NeoPixelBus/examples/

and again beyond this is left to the library and will be assumed in this list

<platform>/<platform specific examples folders>/  
    Esp32/NeoPixel_Esp32_I2sParallel/  
topologies/<topology examples folder/  
    topologies/MosaicTest/
animations/<animations examples folder>/  
    animations/NeoPixelCylon/  
images/<image and buffer examples folder>/    
    images/NeoPixelDib/  
advanced/<advanced feature examples folder>/  
    advanced/NeoSegmentBus/
<introduction examples folder>/
    HelloNeoPixel/
    HelloDotStar/
Makuna commented 1 year ago

ColorFeatures https://github.com/Makuna/NeoPixelBus/pull/661

Makuna commented 1 year ago

Colors and Gamma https://github.com/Makuna/NeoPixelBus/pull/662

Makuna commented 1 year ago

Layouts https://github.com/Makuna/NeoPixelBus/pull/663

Makuna commented 1 year ago

animations and buffers https://github.com/Makuna/NeoPixelBus/pull/664

Makuna commented 1 year ago

NeoMethods renamed without Neo at front? Matches DotStar names better. Neo400Kbps is the exception.

Makuna commented 1 year ago

https://github.com/Makuna/NeoPixelBus/pull/683 Just methods directory and move files into it. Still no platform directories yet.