I fixed the #ifdef
, but it really shouldn’t crash… If it fits in flash it should work.
If it doesn’t, it either means I have a bug in the RLE code, or something weird is going on…
Not sure I understand the question.
$height unit is number of pixels.
Default is 144, why 133?
Just to clarify, I believe ifdef and crash are unrelated.
The crash occurred before trying the 8bit version with a FC image. Afterwards I tried the 8bit to check if slightly smaller image would work, still crashed.
FYI I remember the script said over 8000 colors found, using 256 instead, or something like that.
I can provide a pastebin if necessary.
This question is basically about our Default Preset 1.
There our values are 144 pixels, 36 inches, 18inches.
For our default length calculation if we would input 144px, it would calculate as 39 inches, or if we input 133 it reads 36 inches.
Just pointing out, that our default (which is based on makefile 144 + windshield wiper values of 36 and 18) is not coherent with our formula.
But that might be okay.
I edited the wording and spacing changes, made the preset 1 length=39, and added the 4th preset, although I’m not sure why you’d have 72 height and 39 length?
Ah, that was a test for me. In general those presets are specific for my sabers. The 4th is The Child saber with 72px in a 50cm blade, with an offset to my elbow of 39cm
I tried out a different fulcrum.
I found the other offset easier to achieve.
Checking it out later.
Edit: I believe we should then make the default length in the windshield wiper also 39, so the makefile uses the same standard of a 144 Pixels in 39"/1m blade, no?
I think I agree
Reviewed the final changes to the script by @NoSloppy. Lookin good.
This is the way!
Edit2:
Exposure: 2 seconds
Aperture: 16
ISO: 6400
The 2-layered look is from 2 illuminated edges of a dark saber blade.
Edit: There are a few pixels of the mudhorn jaw missing, because those leds are inside the emitter.
ok. Thanks for all the help. PR submitted!
@profezzorn Board is freezing with color POV data.
Using default Star Wars logo at default 144, 39, 18 settings, full color or 8bit, even just switching to the preset it freezes. And a hard freeze at that. Nothing but manual bootloader brings it back. The last thing reported is playing font.wav (but it doesn’t play)
Sometimes it works for a second, try to swing but then it freezes mid swing with a Squee-o-death.
Tried various images and sizes, but nothing clearly evident other than single color works…
On top of this (and maybe a clue) there’s something about clash possibly involved.
It makes some sense that clashing would throw the sensors into a tizzy while displaying images, like when the blade is horizontal and out of the image viewport, clashing will blip some image visible. However, this occurs when the blade is OFF too.
Sometimes, no clash needed. Just cycle to the preset and while font.wav plays and some sliver of the image displays (solid, not “dancing” at all, and this is with the saber horizontal on the bench) and stays there until blade is turned on.
I’m not sure how to track it down.
I tried monitor fusion and saw nothing unusual, but that’s probably expected with a sudden freeze.
Here’s a video showing this. Clashing while both off and on, toggling between 2 presets, Red5 and Teensy which is the POV. Toward the end you’ll see it did the light up thing on preset change. It happened off camera, so I started rolling again while it was lit. Next preset clears it.
I can confirm the freeze, after @profezzorn fixed the pixel height not matching the windshield wiper script looking for pixels. Something where one or the other was out of bounds.
But only on some images. I have FC images with about 1500 colors which worked perfectly fine and never froze, but a Mando helmet with 8000 colors which crashed.
Unfortunately I can’t confirm the blade flashing while off, but I see sometimes a flicker when I switch from battery indicator to pov style. Or sometimes when the blade is level and is clashed.
I will do some testing to see if I can figure out the crashing.
I can provide sample images for a full color image that worked and one that crashed, if you’d like.
The .h file might be better.
I thought you said it was the 8-bit that was broken?
(This is the full RGB .h files)
I had freezing with both full color options
1024px-Star_Wars_Logo.svg_116_FC_POV_data.h (96.2 KB)
1024px-Star_Wars_Logo.svg_116_SC_POV_data.h (50.1 KB)
1024px-Star_Wars_Logo.svg_116_8b_POV_data.h (54.4 KB)
With high color pictures the console says something about using 8bit or 256 colors anyways, doesn’t it?
Ok. So what’s the deal with the new things?
Particularly, standalone preview images for rgb, 8bit, pgm, but they’re not targets under ALL:
?
Are they meant to be invoked directly?
That said, playing around I get the following error adding preview_pgm.png to the list (probably because I’m doing something I shouldn’t be, or wrong):
pov_renderer.cc:30:3: error: unknown type name 'constexpr'
constexpr Color8() : r(0), g(0), b(0) {}
^
pov_renderer.cc:30:13: error: constructor cannot have a return type
constexpr Color8() : r(0), g(0), b(0) {}
^~~~~~
pov_renderer.cc:31:3: error: unknown type name 'constexpr'
constexpr Color8(uint8_t r_, uint8_t g_, uint8_t b_) : r(r_), g(g_), b(b_) {}
^
pov_renderer.cc:31:13: error: constructor cannot have a return type
constexpr Color8(uint8_t r_, uint8_t g_, uint8_t b_) : r(r_), g(g_), b(b_) {}
^~~~~~
pov_renderer.cc:38:3: error: unknown type name 'constexpr'
constexpr Color16() : r(0), g(0), b(0) {}
^
pov_renderer.cc:38:13: error: constructor cannot have a return type
constexpr Color16() : r(0), g(0), b(0) {}
^~~~~~~
pov_renderer.cc:39:3: error: unknown type name 'constexpr'
constexpr Color16(const Color8& c) : r(c.r * 0x101), g(c.g * 0x101), b...
^
pov_renderer.cc:39:13: error: constructor cannot have a return type
constexpr Color16(const Color8& c) : r(c.r * 0x101), g(c.g * 0x101), b...
^~~~~~~
pov_renderer.cc:40:3: error: unknown type name 'constexpr'
constexpr Color16(uint16_t r_, uint16_t g_, uint16_t b_) : r(r_), g(g_...
^
pov_renderer.cc:40:13: error: constructor cannot have a return type
constexpr Color16(uint16_t r_, uint16_t g_, uint16_t b_) : r(r_), g(g_...
^~~~~~~
pov_renderer.cc:46:10: error: no matching constructor for initialization of
'Color16'
return Color16(c.r * x, c.g * x, c.b * x);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~
pov_renderer.cc:36:7: note: candidate constructor
(the implicit copy constructor) not viable: requires 1 argument, but 3
were provided
class Color16 {
^
pov_renderer.cc:36:7: note: candidate constructor (the implicit default
constructor) not viable: requires 0 arguments, but 3 were provided
In file included from pov_renderer.cc:50:
./image_pgm.h:1220:14: error: no matching constructor for initialization of
'const Color8'
const Color8 image_color(255, 207, 2);
^ ~~~~~~~~~~~
pov_renderer.cc:28:7: note: candidate constructor
(the implicit copy constructor) not viable: requires 1 argument, but 3
were provided
class Color8 {
^
pov_renderer.cc:28:7: note: candidate constructor (the implicit default
constructor) not viable: requires 0 arguments, but 3 were provided
pov_renderer.cc:55:19: error: a space is required between consecutive right
angle brackets (use '> >')
TooDee<RGB<float>> image;
^~
> >
13 errors generated.
make: *** [pov_renderer_pgm] Error 1
Ok, so that’s the error you got, but how did you get it?
I didn’t add the new targets to “all” because they aren’t really required, they are more for debugging than anything. They helped me find a bug in pnmtorlequantized.cc