Bug? i think so...multichannel in main.cpp #328
Replies: 5 comments 2 replies
-
seems to have fixed my multichannel issue. starting w/ 2 strips/spokes...will increment. |
Beta Was this translation helpful? Give feedback.
-
I checked those main.cpp fixes in. hope i did that right. created a fork? and pushed... |
Beta Was this translation helpful? Give feedback.
-
Nothing authoritative on your actual problem, but it sure *looks* wrong and
I'd try really hard to make it more immune to copy paste issues. Try one or
more of these:
..
1) put the LEDs into any array and index from numchan.
2l Use if constexpr() instead of ifdefs to keep unwanted ifs out of the
optimized binaries but still compiling.
3) avoid code repeats and reuse a set variable (probably computed in #1)
and reuse the setpin, address, and index of Devices[].
4) consider putting the array in a hash map so it's trivial to check for
uniqueness (it's not exactly hard even with C arrays with small sizes like
this...) at population time to be sure that the user didn't misconfigure
the pin #defines.
When you're done,. It'll hopefully work the same, but be a little smaller,
and, more importantly, more immune to future changes. (This might
technically run afoul of the blinkenperbit metric, but I'd hope there is
space for a negative metric score that improves engineering taste...)
If there's a stomach for such changes and you can help me build up a repro
setup with a minimal collection of strips and you'd like some
mentoring/partnership opportunities, I'm open to help coach and/or slinging
some of those bits. I probably have at least four 2812 strips, but they're
all of different lengths and densities. (Do we have food standalone unit
tests for such things without hardware?) If I can use some of the 2812
(not HUB75) panels and do true/false testing with a few cells per hose, I
think I can wire that up.
Do we allow strips of different types? Can strip 0 be 5v 2812s and strip 1
be 12v 2811s and strip 2 be apa104s or other masochistic configurations?
I'm a big fan of making software hard to misuse by end-users and
developers. LMK if you're interested in tackling this together.
And, yes, I am, or rather was in my able-bodied days, that same catcher
known for PITA placements and being ranked as high as #6 in the world for a
while, back in the very early part of the century. I helped create the
world largest annual gathering of geocachers (GeoWoodstock) and the
software used by almost every other geocaching software for interfacing
with GPS hardware and common map programs, GPSBabel. Thanx for the
shout-out!
…On Wed, Jun 21, 2023, 9:28 AM stretch911 ***@***.***> wrote:
I checked those main.cpp fixes in. hope i did that right. created a fork?
and pushed...
—
Reply to this email directly, view it on GitHub
<#328 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD3ZZSFXG2WWIMVSN6K3XMMAJNANCNFSM6AAAAAAZOXJ64I>
.
You are receiving this because you were mentioned.Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/328/comments/6242684
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
The hardcoded WS2812 in those very lines where they've been added to
FastLED is probably the ("a") place to change that if we want to revisit
that. So for now, we'll assume the world is WS2812's (or compatibles) and
march on ... after we hear from a reviewer that this is a sensible
direction to go. So let's get a head-nod of agreement that this is a
sensible thing to "overfix" (beyond just fixing the obvious typos) before
we unholster our keyboards.
How much of what I suggested are you comfortable slinging? I can review or
work through it together or I can just write it and touch test it and let
you do the final test. Your call. My gmail address is the same as my
playername.
I was in Franklin for 25+ years. Brentwood/Antioch now. White House is
still closer than Shenzhen, so LMK what kind of trading material you're
looking for. I have some spare perf boards or LCD panels and such. I can
find a home for some short 2812 strips and/or the 3-pin JST-SM->Bare wires
for pairing my various strips,reels, and grids into the MCUs since it
didn't occur to me that those wouldn't be included in most cases. But I
think I can at least get a run on this project with what I have; dupont
wires to the rescue.
This <https://www.youtube.com/watch?v=_wCOCI18nAk&ab_channel=Dave%27sGarage>
one? I remember noting it before I latched on here because it reminded me
of the light <https://www.amazon.com/gp/product/B06X92R1XH/> I installed in
my dining room. Just speeding through it, it looks like most "magic" is
done in the software and that's presumably already written and debugged. So
if something is wonky, I'd assume electrical issues. But if this isn't
your forte and you're in no hurry, I can bring it to Lipe Labs and stick it
on meters and scopes and trace wires with fresh eyes and see if I can help
awesomize it appropriately. I'm slow, but I'll take a look at it for you.
The only (?) thing that looks easy to get out of sync would be mapping the
four data lines to the pins on the ESP. If those are out of order, I can
imagine it being non-symmetric in some weird ways as spokes that should be
opposite might be next to each other or something.
Then I'll get the joy of "creating" one without actually spending money and
trying to find a flat space to store another object. :-)
Buzz me at gmail and we'll separate the part of this discussion not related
to "fixing" the bugs here to a private line.
…On Wed, Jun 21, 2023 at 2:37 PM stretch911 ***@***.***> wrote:
Do we allow strips of different types? Can strip 0 be 5v 2812s and strip 1
be 12v 2811s and strip 2 be apa104s or other masochistic configurations?
no...i have used the leds w/ the white channel...but effects look aweful.
took me a minute to figure out i had the wrong strip hooked up and then i
was amazed at the sexy effects from dave's programming
—
Reply to this email directly, view it on GitHub
<#328 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD35FMVYGS3Z2GSQCY7LXMNEP7ANCNFSM6AAAAAAZOXJ64I>
.
You are receiving this because you were mentioned.Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/328/comments/6245391
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
The current model has been to write a specialization of GFXBase. So there’s LEDMatrixGFX, LEDStripGFX, and HexagonGFX, for example.
What I might suggest would be to add an “InitializeHardware()” virtual function to GFXBase. Then LEDMatrixGFX could do its hardware-specific init within that function. LEDStripGFX would call addLEDs in that function rather than in setup().
Perhaps LEDStripGFX should become LEDWS2812BGFX and implement the addLEDs speciic to the template, unless it can be done as a variable.
That way, if someone wrote an impl for a different strip chip, they could just define their class similarly.
Just a thought!
- Dave
… On Jun 21, 2023, at 1:54 PM, Robert Lipe ***@***.***> wrote:
The hardcoded WS2812 in those very lines where they've been added to
FastLED is probably the ("a") place to change that if we want to revisit
that. So for now, we'll assume the world is WS2812's (or compatibles) and
march on ... after we hear from a reviewer that this is a sensible
direction to go. So let's get a head-nod of agreement that this is a
sensible thing to "overfix" (beyond just fixing the obvious typos) before
we unholster our keyboards.
How much of what I suggested are you comfortable slinging? I can review or
work through it together or I can just write it and touch test it and let
you do the final test. Your call. My gmail address is the same as my
playername.
I was in Franklin for 25+ years. Brentwood/Antioch now. White House is
still closer than Shenzhen, so LMK what kind of trading material you're
looking for. I have some spare perf boards or LCD panels and such. I can
find a home for some short 2812 strips and/or the 3-pin JST-SM->Bare wires
for pairing my various strips,reels, and grids into the MCUs since it
didn't occur to me that those wouldn't be included in most cases. But I
think I can at least get a run on this project with what I have; dupont
wires to the rescue.
This <https://www.youtube.com/watch?v=_wCOCI18nAk&ab_channel=Dave%27sGarage>
one? I remember noting it before I latched on here because it reminded me
of the light <https://www.amazon.com/gp/product/B06X92R1XH/> I installed in
my dining room. Just speeding through it, it looks like most "magic" is
done in the software and that's presumably already written and debugged. So
if something is wonky, I'd assume electrical issues. But if this isn't
your forte and you're in no hurry, I can bring it to Lipe Labs and stick it
on meters and scopes and trace wires with fresh eyes and see if I can help
awesomize it appropriately. I'm slow, but I'll take a look at it for you.
The only (?) thing that looks easy to get out of sync would be mapping the
four data lines to the pins on the ESP. If those are out of order, I can
imagine it being non-symmetric in some weird ways as spokes that should be
opposite might be next to each other or something.
Then I'll get the joy of "creating" one without actually spending money and
trying to find a flat space to store another object. :-)
Buzz me at gmail and we'll separate the part of this discussion not related
to "fixing" the bugs here to a private line.
On Wed, Jun 21, 2023 at 2:37 PM stretch911 ***@***.***> wrote:
> Do we allow strips of different types? Can strip 0 be 5v 2812s and strip 1
> be 12v 2811s and strip 2 be apa104s or other masochistic configurations?
>
> no...i have used the leds w/ the white channel...but effects look aweful.
> took me a minute to figure out i had the wrong strip hooked up and then i
> was amazed at the sexy effects from dave's programming
>
> —
> Reply to this email directly, view it on GitHub
> <#328 (reply in thread)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ACCSD35FMVYGS3Z2GSQCY7LXMNEP7ANCNFSM6AAAAAAZOXJ64I>
> .
> You are receiving this because you were mentioned.Message ID:
> <PlummersSoftwareLLC/NightDriverStrip/repo-discussions/328/comments/6245391
> @github.com>
>
—
Reply to this email directly, view it on GitHub <#328 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AA4HCF5MWT2D6BPJV6RDJ2TXMNNQVANCNFSM6AAAAAAZOXJ64I>.
You are receiving this because you are subscribed to this thread.
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I've been playing w/ several chips, heltec v2, mini esp32 wroom trying to get atomlight to work...
star effects still don't work for me (see other post)...
but my main issue was i couldn't get multichannel to work....atomlight is set for 4 channels at 53 pixels.
started suspecting the logic in main.ccp and seems like a copy and paste issue....LEDPIN0 in all conditions...
gonna fix my version and if it fixes will check in to repo.
#if USESTRIP
Beta Was this translation helpful? Give feedback.
All reactions