Coder Social home page Coder Social logo

proffieos's People

Contributors

adays1234 avatar aleyan82 avatar allir avatar artandtechvof avatar baldusi avatar bellini13 avatar caiwyn avatar fdarosa2663 avatar fredrikhubinette avatar lawrencesmith1437 avatar leoportgit avatar lmetty avatar lowlander avatar mmcgeary avatar nosloppy avatar profezzorn avatar ryryog25 avatar sa-22c avatar shadowfoil avatar shtokyd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

proffieos's Issues

Transitions base.h comparison of signed vs unsigned int

During compiling for Teensy3.2, the Transitions base.h generates a lot of compiler warnings, indicating a signed/unsinged comparision in;

if (t > len_) {

Changing

  • int len_ =0;

to;

  • uint32_t len_ = 0;

solves this issue.

Lag when powering on saber, smooth swing fonts don't play correctly

Using the current branch with all commits. When igniting the saber, delays of 10-15 seconds are observed. Once the saber is on, clash events work ok but smooth swing hum pairs don't play (just a medium pitched tone, similar to the sound when the Proffie hangs) turning off the saber happens basically on time. Switching presets works for a while but eventually the saber crashes and 'motion chip timeout, reboot motion chip' spams in the serial monitor. Tried on three separate Proffie sabers, so it's unlikely to be a hardware issue. Reverting to 1.312 fixes the issue.

Feature Request: Different RGB definition for each SubBlade.

When doing SubBlade, specially when you have an illuminated PCB for NPXL, the GRB order, and even the a white channel might not be the same for the PCB and the Blade. So, if you could specify the RGB order (and white) per each subblade, it would be great.

Possible future OLED enhancements?

Support for scrolling text files: one 32 pixel frame at a time, such as playing the Ep4 ASCII movie.
Maybe with the ability to also do smooth vertical scroll (like the SW opening crawl) ?

Using saber_sa22c_buttons volume mode, hard to tell when you enter/exit volume menu

Using saber_sa22c_buttons volume mode, hard to tell when you enter/exit volume menu

Hi guys...
First time Lightsaber builder, first time posting.
I switched props to saber_sa22c_buttons.h to enable volume mode.

I noticed, it was really hard to tell when I'd entered/exited volume menu because the beeps sounded kind of like the "hit high volume limit" beeps... they weren't giving me enough feedback.

I'd like to propose a two-tone beep, low-to-high when entering volume mode, and high-to-low when existing. Makes it really easy to tell when I've entered and exited.

if (!mode_volume_) {
  mode_volume_ = true;
  beeper.Beep(0.1, 2000);
  beeper.Beep(0.1, 2500);

  STDOUT.println("Enter Volume Menu");
} else {
  mode_volume_ = false;
  beeper.Beep(0.1, 2500);
  beeper.Beep(0.1, 2000);
  STDOUT.println("Exit Volume Menu");
}

Would I be welcome to propose this in a branch/pull request? And if so how would you like me to contribute? Don't want to step on any toes.

fuse.h fix for EVENT_SWING detection while off

Per TRA message, in testing EVENT_SWING for gesture ignition the accel_extrapolator_ and gyro_extrapolator_ were timing out too quickly while blade is OFF to be able to use. Temporary fix was extending time to "1000000" for both which has worked well but you noted a different fix .

Audio glitches on 2.0 BETA

Similar audio issues to #19 but not sure if it's a new issue or the old one resurfacing.

Symptoms:

  • when using a smooth swing font (ie: Light by KSITH) the ignition will sometimes be delayed up to 10 seconds
  • hums will sometimes not play, or hang with a high pitched tone
  • blasters do not play when the button is pressed rapidly
  • accent swings lag and freeze
  • poweroffs don't play and are replaced with a loud medium-pitched tone.

A video is uploading now and I'll start doing a git bisect.

TransitionLoopL causing RGBA_nod conversion to OverDriveColor error

Hi Fredrik. This style, a template from the Style Editor:
StylePtr<TransitionLoopL<TrConcat<TrFade<200>,Red,TrFade<200>>>>()

causes this error:

Arduino: 1.8.13 (Mac OS X), Board: "Proffieboard, Serial, SDCARD (SPI), 80 MHz, Smallest Code"

In file included from sketch/styles/fire.h:4,
from ProffieOS.ino:365:
sketch/styles/style_ptr.h: In instantiation of 'void Style::run(BladeBase*) [with T = TransitionLoopL<TrConcat<TrFadeX<Int<200> >, Rgb<255, 0, 0>, TrFadeX<Int<200> > > >]':
sketch/styles/style_ptr.h:38:8: required from here
sketch/styles/style_ptr.h:45:22: error: conversion from 'RGBA_nod' to non-scalar type 'OverDriveColor' requested
45 | OverDriveColor c = base_.getColor(i);
| ^
exit status 1
Error compiling for board Proffieboard.

Request: TrBoing number to be Int<>

Not sure if it's possible due to the nature of it. Currently, even expanding to TrBoingX leaves the number as a number.. I was thinking to add SlowNoise to have a random number scaled between one and five boings.
I only tried this in Style Editor so it might not be the same in the OS, but I didn't try.

WebBLE USB freezes on current ProffieOS master version

When trying to connect via WebUSB or WebBLE, the current github master of ProffieOS freezes on connecting.

It hangs on the describe_named_style builtin, this does return
builtin preset styles, preset num, style index
INT 0
INT 1

But after that the board becomes unresponsive (also for buttons or any serial output)

The styles/style_parser has a couple of new line added compared to OS5.7 release;

line 35: ArgParser ap(SkipWord(CurrentArgParser->GetArg(2, "", "")));
line 36: CurrentArgParser = & ap;

When these lines are commented out, everything works as expected, and no adverse effect on the functioning of ProffieOS was noticeable.

Not sure to make this a pull request, as I do not know why the lines are there, and it is very easy to correct if these lines can be deleted?

ProffieOs on other boards

Is it possible to be installed in arduino nano by adding the various components such as the gyroscope and the sd reader? It may be a good idea when Proffieboards are not for sale, as in my case.

48kHz sample rate wav freezes board.

OS 4.8
Recreate by trying 48kHz as font.wav for example.
Cycling through presets is fine until that font, then total freeze and
Serial monitor just repeats over and over extremely fast:

Unsupported rate.
Unsupported rate.
Unsupported rate.
Unsupported rate.
Unsupported rate.
Unsupported rate.
Unsupported

Possible Memory leak

In long time usage ( at ComicCon) during the day after changing through styles and constantly turning it on and off, at some point the saber becomes unresponsive. Its Hard to catch via monitoring as it happens rarely. But watchdog solution must be able to reset the proffieBoard if that is to happen.
Configuration:
ProffieBoard v1.5
Blade: 130 Neopixels
Styles: 10 demonstrating FireBlade, ColorCycle and static colors

Turning off saber whilelockup is still active with EVENT_HELD_LONG

In order to avoid turning the saber off while sparring, I selected the method EVENT_HELD_LONG to switch it off, replacing the default EVENT_CLICK_SHORT.
With this configuration, when triggering the lockup and holding it long enough, the saber is turning off.
It would be a good idea to disable the possibility to turn the saber off while the lockup is still active.
Currently using build 3.9, but I think it is present in all versions since I saw it also on the SA-22C porting.

Future: EFFECT_PSTOFF

In working with WavLen, It just dawned on me that EFFECT_PSTOFF is not a thing.
Would that make sense to have? Certainly from a WavLen audio standpoint I would think so, just as much as Preon does.
But also to have blade styles use it proper, as in, currently using EFFECT_RETRATION and showing a lingering animation works, but that means it’s starting coincidentally with the retraction. I don’t know , I guess in my mind it mirrors Preon in almost every sense.

Would it be an off_pending sort of thing?

Hum gets stuck playing on 0 Buttons mode

I verified that the problem with the hum sound getting stuck playing is still present on release 2.1.
This time I tried to investigate a bit deeper, using the serial monitor and I believe I got some clues.

Below you can find the logs taken during a sequence of Twist ON / Twist OFF / Twist ON.

TWIST
EVENT: Twist millis=40935
Ignition.
unit = 0 vol = 0.00, Playing SmthJedi/hum01.wav
channels: 1 rate: 44100 bits: 16
unit = 1 vol = 0.50, Playing SmthJedi/out01.wav
channels: 1 rate: 44100 bits: 16
unit = 2 vol = 0.00, Playing SmthJedi/swingl06.wav
channels: 1 rate: 44100 bits: 16
unit = 3 vol = 0.00, Playing SmthJedi/swingh06.wav
channels: 1 rate: 44100 bits: 16
unit = 2 vol = 0.00, Playing SmthJedi/swingl05.wav
channels: 1 rate: 44100 bits: 16
unit = 3 vol = 0.01, Playing SmthJedi/swingh05.wav
channels: 1 rate: 44100 bits: 16
TWIST
EVENT: Twist ON millis=42661
unit = 1 vol = 0.50, Playing SmthJedi/in01.wav
channels: 1 rate: 44100 bits: 16
TWIST
EVENT: Twist millis=42777
Ignition.
unit = 4 vol = 0.00, Playing SmthJedi/hum01.wav
channels: 1 rate: 44100 bits: 16
unit = 5 vol = 0.50, Playing SmthJedi/out01.wav
channels: 1 rate: 44100 bits: 16
Playing SmthJedi/hum01.wav
channels: 1 rate: 44100 bits: 16
Playing SmthJedi/hum01.wav
channels: 1 rate: 44100 bits: 16
unit = 2 vol = 0.00, Playing SmthJedi/swingl02.wav
channels: 1 rate: 44100 bits: 16
unit = 3 vol = 0.00, Playing SmthJedi/swingh02.wav
channels: 1 rate: 44100 bits: 16

Apparently, the third event (Twist ON) was detected before the board actually completed the shutdown process.
Basically, when the hum gets stuck I don't see the two following lines, which are normally printed in a "normal" Twist OFF process:

Amplifier off.
Unmounting SD Card.

To reproduce the issue I found very useful to keep the saber in vertical position holding it from the blade. Holding the saber from the hilt makes it very difficult to reproduce the problem, probably because it is harder to repeat twists in rapid sequence.
Best way is to hold the blade between your hands and rub them, causing the saber to twist.

OLED animations stuck on "hot switching" presets.

Very minor issue. But in playing around with ssd1306 I noticed this.
Recreate: Saber on, do next/prev preset.
font.bmp will play because EFFECT_NEWFONT, but in the SCREEN_IMAGE loop, it never reaches END OF LOOP. Somethnig else must be triggered to end it. Weird because it looks like it should loop through until looped frames exceeds the set duration, then exits.
Even weirder is that while on, clsh.bmp will work perfectly every time, ending at the ProffieOSClashImageDuration time,
but blst.bmp sometimes does, but mostly stays playing "stuck on" as the font.bmp does.

Minor minor minor because nobody's usually hot swapping presets, much less watching their OLED at the same time... I tried a few things, but I just couldn't fix it, mainly because it all looks like it should work fine as is. (my rudimentary attempt to follow the code.)

x_config.h : when maxLedsPerStrip # matches WS281XBladePtr<#,> blade does not light up & no errors

Weird phenomenon and also not sure if its intentional or a bug, but when the number of leds defined in the config file;

const unsigned int maxLedsPerStrip = #nr;

matches exactly with the number in the BladeConfig

WS281XBladePtr<#nr,,,>

Compilation does not throw an error, code is compiled and uploaded, but the blade is not ignited, sound is playing and everything else seems to work. No weird warnings in serial monitor.

When the maxLedsPerStrip # is less than WS281XBladePtr<>
Serial monitor however repeatedly complaining about the Display memory not being large enough.

Only when maxLedsPerStrip nr# is one or more greater than WS281XBladePtr<#nr,,,> Everything is working.

(I seem to remember that for older versions of TeensySaber/ProffieOS there was a compile time error to prevent upload when not enough leds were define?)

Font directory not found

So i upgraded the sd card, copied and pasted the files and did a config in Arduino. Now in the serial monitor all the bank files are there, but 0 next to them. No sounds found. What can i do?

"play" Doesnt Start track playback

The only command for track that is working is when manualy specifying argument for play_track. For default track it seems not functional.

Writing attempts to SD card when N/A causes crash.

OS 5.9
Connected via USB w/ Serial + Mass storage.
Once SD mounts to computer,
changing presets freezes board with " Saving Current Preset"
then no response from board unless power cycle.
Serial monitor goes grey, SD has a hard time ejecting (Shows ejected, but then message of ungraceful SD card removal with the power cycle.)
Might be a Mac Finder thing though. Just let me know if it's maybe just me.

Save memory

Move color rotation and blade dimming into non-templated code.

OLED Stuck on message.

Latest ssd1306.h from the master repo.
Switching presets before the ProffieOSFontImageDuration expires works fine.
If allowed to show for duration, it remains on the screen and is stuck there until power cycle.

Request: TrColorCycle to take functions

As per TRA thread, looking for an X version of TrColorCycle so the integer arguments could take a function as well, similar to other transitions.
This would add some cool flexibility for this transition for extension and retraction particularly. Thanks for looking.

OLED play time per font config.ini?

On TRA you mentioned possibly making the runtime and framerate as settings in config.ini.

"..........display time of boot.bmp and font.bmp animations, as of today, the section of ssd1306.h to be edited is now here:

frame_count_++;
if (looped_frames_ > 1 && millis() - loop_start_ > 10000) { //was 5000 - BC this is startup/boot.bmp display time
STDOUT << "END OF LOOP\n";
screen_ = SCREEN_PLI;

@profezzorn said:
"I should probably make this adjustable in config.ini"

Customized display time per animation could be a nice tight feature for the future.

Future request: OLED screen 180 flip

I'm terribly sorry I don't know how to participate in pull requests yet, but I found that this simple edit would allow for OLED displays to flip 180 degrees. Tested and working fine by multiple people along with myself.
Change to following lines in ssd1306.h:

Send(SEGREMAP | 0x1);
Send(COMSCANDEC);
change to:
#ifndef OLED_FLIP_180
Send(SEGREMAP | 0x1);
Send(COMSCANDEC);
#else
Send(SEGREMAP);
Send(COMSCANINC);
#endif
Then add #define OLED_FLIP_180 to your config file and comment/uncomment it as needed.

SubBladeReverse not working

So...

I tried it and I cannot make it work.

I tested my ZigZag Blade with classic config and it works as expected.

However, once I inject the modified Blades.h and I set half the blade in Reverse mode, I cannot make it work.

If I set it to the second half in Reverse, the board crashes on startup with a loud beeeeeeep.

If I set it as the first blade or if I set the pixel numbers inverted, it just won't light up.

Read more: http://therebelarmory.com/post/136167/thread

Incorrect relative path in sound/sound.h?

Someone ran into a compile error on sound/sound.h which said:

sketch\sound/sound.h:88:28: fatal error: common/sd_card.h: No such file or directory

I looked into it, and if ENABLE_AUDIO isn't defined, it will try to load sd_card.h from the wrong relative path. It should probably be "../common/sd_card.h" I believe.

Stripes<0,0, = board crash

Using Stripes<> in the blade style with size zero (and/or?) speed zero crashes the board.
Currently, there’s no error thrown in either Style editor or when compiling.

TrRandom<TrConcat<>,TrConcat<>> OverDriveColor error

Per PM, this style returns the below compile error:

TransitionEffectL<
TrRandom<
TrConcat<TrInstant,AlphaL<Pulsing<Rgb<255,0,0>,Black,500>,Bump<Int<0>,Int<6000>>>,TrDelayX<WavLen<EFFECT_PREON>>>,
TrConcat<TrInstant,AlphaL<Pulsing<Rgb<255,0,0>,Black,500>,Bump<Int<0>,Int<6000>>>,TrDelayX<WavLen<EFFECT_PREON>>>

,EFFECT_PREON>


In file included from C:\Users\fernandod\Documents\fdr\ProffieOS6-3-13-21\ProffieOS\ProffieOS.ino:458:
sketch\transitions/random.h: In instantiation of 'OverDriveColor TrWrapper::getColor(const OverDriveColor&, const OverDriveColor&, int) [with TR = TrConcat<TrInstant, AlphaL<Layers<Rgb<255, 0, 0>, AlphaL<Rgb<0, 0, 0>, PulsingF<Int<500> > > >, Bump<Int<0>, Int<6000> > >, TrDelayX<WavLenEffectType::EFFECT_PREON > >]':
sketch\transitions/random.h:26:18: required from here
sketch\transitions/random.h:29:34: error: could not convert '((TrWrapper<TrConcat<TrInstant, AlphaL<Layers<Rgb<255, 0, 0>, AlphaL<Rgb<0, 0, 0>, PulsingF<Int<500> > > >, Bump<Int<0>, Int<6000> > >, TrDelayX<WavLenEffectType::EFFECT_PREON > > >)this)->TrWrapper<TrConcat<TrInstant, AlphaL<Layers<Rgb<255, 0, 0>, AlphaL<Rgb<0, 0, 0>, PulsingF<Int<500> > > >, Bump<Int<0>, Int<6000> > >, TrDelayX<WavLenEffectType::EFFECT_PREON > > >::tr_.TrConcat<TrInstant, AlphaL<Layers<Rgb<255, 0, 0>, AlphaL<Rgb<0, 0, 0>, PulsingF<Int<500> > > >, Bump<Int<0>, Int<6000> > >, TrDelayX<WavLenEffectType::EFFECT_PREON > >::getColor<OverDriveColor, OverDriveColor>(( & a), (* & b), led)' from 'RGBA' to 'OverDriveColor'
29 | return tr_.getColor(a, b, led);
| ^
| |
| RGBA
In file included from C:\Users\fernandod\Documents\fdr\ProffieOS6-3-13-21\ProffieOS\ProffieOS.ino:454:
sketch\transitions/delay.h: In instantiation of 'decltype (MixColors(a, b, 1, 1)) TrDelayX::getColor(const A&, const B&, int) [with A = RGBA_um_nod; B = OverDriveColor; MILLIS = WavLenEffectType::EFFECT_PREON; decltype (MixColors(a, b, 1, 1)) = RGBA]':
c:\users\fernan~1\appdata\local\temp\arduino_build_942515\sketch\transitions\concat.h:109:46: required from 'decltype (MixColors(((TrConcat<A, INTERMEDIATE, B ...>)this)->TrConcat<A, INTERMEDIATE, B ...>::a_.getColor(a, ((TrConcat<A, INTERMEDIATE, B ...>)this)->TrConcat<A, INTERMEDIATE, B ...>::intermediate_.getColor(led), led), ((TrConcat<A, INTERMEDIATE, B ...>)this)->TrConcat<A, INTERMEDIATE, B ...>::b_.getColor(((TrConcat<A, INTERMEDIATE, B ...>)this)->TrConcat<A, INTERMEDIATE, B ...>::intermediate_.getColor(led), b, led), 1, 1)) TrConcat<A, INTERMEDIATE, B ...>::getColor(const X&, const Y&, int) [with X = OverDriveColor; Y = OverDriveColor; A = TrInstant; INTERMEDIATE = AlphaL<Layers<Rgb<255, 0, 0>, AlphaL<Rgb<0, 0, 0>, PulsingF<Int<500> > > >, Bump<Int<0>, Int<6000> > >; B = {TrDelayX<WavLenEffectType::EFFECT_PREON >}; decltype (MixColors(((TrConcat<A, INTERMEDIATE, B ...>)this)->TrConcat<A, INTERMEDIATE, B ...>::a_.getColor(a, ((TrConcat<A, INTERMEDIATE, B ...>)this)->TrConcat<A, INTERMEDIATE, B ...>::intermediate_.getColor(led), led), ((TrConcat<A, INTERMEDIATE, B ...>)this)->TrConcat<A, INTERMEDIATE, B ...>::b_.getColor(((TrConcat<A, INTERMEDIATE, B ...>)this)->TrConcat<A, INTERMEDIATE, B ...>::intermediate_.getColor(led), b, led), 1, 1)) = RGBA]'
sketch\transitions/random.h:29:34: required from 'OverDriveColor TrWrapper::getColor(const OverDriveColor&, const OverDriveColor&, int) [with TR = TrConcat<TrInstant, AlphaL<Layers<Rgb<255, 0, 0>, AlphaL<Rgb<0, 0, 0>, PulsingF<Int<500> > > >, Bump<Int<0>, Int<6000> > >, TrDelayX<WavLenEffectType::EFFECT_PREON > >]'
sketch\transitions/random.h:26:18: required from here
sketch\transitions/delay.h:22:25: error: operands to ?: have different types 'const OverDriveColor' and 'const RGBA_um_nod'
22 | return this->done() ? b : a;
exit status 1
Error compiling for board Proffieboard.

ssd1306. Message is wrong, offset from preset we're on.

next and prev preset is showing the MESSAGE from the last preset we were on.
It's directional, as in for example
Doing next preset,
Preset 3 -> Preset 4 = Preset 3's message shows
Preset 4 -> Preset 5 = Preset 4's message shows.

When doing prev preset, it's the other lagging direction:
Preset 5 -> Preset 4 = Preset 5's message
Preset 4 -> Preset 3 = Preset 4's message.

Using saber_sa22c_buttons volume mode, hard to tell when you enter/exit volume menu

Hi guys...
First time Lightsaber builder, first time posting.
I switched props to saber_sa22c_buttons.h to enable volume mode.

I noticed, it was really hard to tell when I'd entered/exited volume menu because the beeps sounded kind of like the "hit high volume limit" beeps... they weren't giving me enough feedback.

I'd like to propose a two-tone beep, low-to-high when entering volume mode, and high-to-low when existing. Makes it really easy to tell when I've entered and exited.

if (!mode_volume_) {
  mode_volume_ = true;
  beeper.Beep(0.1, 2000);
  beeper.Beep(0.1, 2500);

  STDOUT.println("Enter Volume Menu");
} else {
  mode_volume_ = false;
  beeper.Beep(0.1, 2500);
  beeper.Beep(0.1, 2000);
  STDOUT.println("Exit Volume Menu");
}

Would I be welcome to propose this in a branch/pull request? And if so how would you like me to contribute? Don't want to step on any toes.

Compiling errors with latest commits

Hi.
I was sequentially adding the latest commits and verifying after each one using my config.
When I got up to cf9e561 initial nod implementation, it no longer compiled. I tried the default config and it worked.
I then changed one of the default styles to
StylePtr<Stripes<1000,1000,Cyan,Magenta,Yellow,Blue>>(),
it failed then and this same error was generated:

In file included from /Volumes/Media Master/Dropbox/Lightsabers/Soundboards/Proffieboard/a_Unofficial releases/ProffieOS_5.x/ProffieOS/ProffieOS.ino:392:0: /var/folders/s2/14yvr53n76xbvx2ctcxwhrvc0000gn/T/arduino_build_477175/sketch/styles/stripes.h: In instantiation of 'void StripesHelper<A, B ...>::get(int, int, SimpleColor*) [with A = Rgb<0, 255, 255>; B = {Rgb<255, 0, 255>, Rgb<255, 255, 0>, Rgb<0, 0, 255>}]': /var/folders/s2/14yvr53n76xbvx2ctcxwhrvc0000gn/T/arduino_build_477175/sketch/styles/stripes.h:79:5: required from 'SimpleColor StripesBase<COLORS>::getColor(int) [with COLORS = {Rgb<0, 255, 255>, Rgb<255, 0, 255>, Rgb<255, 255, 0>, Rgb<0, 0, 255>}]' /var/folders/s2/14yvr53n76xbvx2ctcxwhrvc0000gn/T/arduino_build_477175/sketch/styles/style_ptr.h:41:42: required from 'void Style<T>::run(BladeBase*) [with T = StripesX<Int<1000>, Int<1000>, Rgb<0, 255, 255>, Rgb<255, 0, 255>, Rgb<255, 255, 0>, Rgb<0, 0, 255> >]' /Volumes/Media Master/Dropbox/Lightsabers/Soundboards/Proffieboard/a_Unofficial releases/ProffieOS_5.x/ProffieOS/ProffieOS.ino:1796:1: required from here /var/folders/s2/14yvr53n76xbvx2ctcxwhrvc0000gn/T/arduino_build_477175/sketch/styles/stripes.h:42:40: error: conversion from 'OverDriveColor' to non-scalar type 'SimpleColor' requested SimpleColor tmp = a_.getColor(led); ^

Button release events not firing correctly

On the top-of-tree code, button releases are not triggering until the SECOND release. For example, holding down AUX to trigger lockup, lockup does not stop when the button is released, but only after the aux button is short-clicked after releasing the hold. I'm guessing it has to do with the button_base.h changes but I haven't been able to dig in and identify what exactly is causing the missed events.

function return type int vs int32 (upper limit 32767 vs 32768)

A lot of the newer fuinctions (Scale<>, layer functions etc) use 'int' as return type for the

  • int getInteger(int led)

This would indicate it to be a int16 in Arduino IDE? Most of those values are clamped using clampi32 (defined in ProffieOS,ino) and the upper limit is set to 32768. Doing so would make the return value -32678 when the clamped value is at or above the upper limit??
Am I missing something, or are all mentioned 'int' values used, actually int32 types?
I noticed the possible error in typing, when playing around with my new WavTime functions, and found that setting values over 65535 would introduce strange behavior, thus suggesting that 'int's are indeed int16?

If so, would it be better to modify all clampi32 upper limits to 32767 vs 32768?

Just want to make sure it is correct, before commencing to build the Add<>, Subtr<>,Mul<> and Dev<> functions

Request: Use a variable in blade config for tracks that are within the SD font folder

With font makers having tracks that are usually contained within the font folder, would it be possible to reference the path of the font folder in the tracks path without having to reference the full path?

Example:

{ "LS6", "LS6/tracks/jabba_scene.wav"
to
{ "LS6", "$PWD/jabba_scene.wav"

Or is it recommended to have all of the tracks in the root dir of the SD card?

Thank you!

Feature Request: File-based blade styles

I can hear the complaints about memory use and errors already, so hear me out.

Things that would need to be created:

  • A blade style profile file format - Maybe just use the format from the blade style editor
  • A blade style profile file name - blade.txt?

Things that would need to be added:

  • A parser for the blade style profile file format - This would be the hardest part because your not just taking a value from a line, you'd be creating a data structure that mirrors the structure in a file. It would have to know what's valid where in addition to knowing how to parse all the different styles and keep track of where it is in the structure.
  • A built-in error style to indicate a failure to parse a blade style profile file - Dirt-simple Blinking<Red,Black,500,500>

Things that would need to be modified:

  • Style Search - Add an attempt to load a file-based blade style profile before searching for a built-in style while loading a font. It should gracefully fall through to looking for a built-in style if no blade style profile file is found in the font directory. If it does find one but there's an error in it, the built-in error style should be returned.
  • Font Change - A loaded file-based blade style profile should be unloaded (freed) when a font change is initiated.

Most of this is within my ability, but the parser is most definitely not. I'm honestly not sure where to even begin, especially since I write C, not C++ ;-) Definitely willing to learn, but I'd still need pointers on where to start.

Saber swinging when Off

Hi
I've noticed a bug. If you perform the following:
1.swing the saber in a continuous motion (in a circle)
2. Turn the saber off (while swinging/spinning)

The saber still performs the swinging motion even though the saber is turned off, and only if you keep swinging in a circle (In this case).
If you stop swinging the saber, the swing motion stops.
I know this bug has been noted elsewhere, but I'd figure I'd put it here.

Using version 1.286

Twist Off... Audio humming intermittently remains on.

There are times with ProffieOS v5 when I use the twist-off gesture that the blade goes off however the humming noise from the audio remains on. I might need some guidance as I'm new to this code base but I can help debug and contribute to solve this issue.

Is there a way to log data to a text file on the SD card with a time stamp to debug what's happening?

Or can we expand the serial mon to work with Bluetooth?

Request: Mount/unmount SD manually

Is it possible to disable auto-mount on connection and just have a serial monitor command to mount the SD card on demand if USB + Mass Storage is programmed?
Maybe a toggle for those who want to leave auto-mount on? I personally go insane waiting for the card to mount only to unmount it immediately many times during testing, and another option besides completely killing the mount option in Arduino could be cool.

bugs in style_parser.h

Using the WebUSB app I noticed some bugs in the behavior of the selectable built-in presets
The named styles are;

  • standard -> functions as expected, and reports correct parameters when asked to describe_named_style

  • advanced -> functions as expected, and reports correct parameters when asked to describe_named_style

  • fire -> functions as expected, and reports correct parameters when asked to describe_named_style

  • unstable -> has duplicate parameter for extension and retraction
    ....InOutFuncX<IntArg<5, 100>,IntArg<5, 200>>,Black>>(), and therefore the describe_named_style is also incorrect (missing 1 parameter)
    correct;
    ....InOutFuncX<IntArg<5, 100>,IntArg<6, 200>>,Black>>()

  • strobe -> has bug, enumeration of parameters is incorrect and has duplicate;
    original: StyleNormalPtrX<StrobeX<RgbArg<1, BLACK>, RgbArg<2, WHITE>, IntArg<3, 15>, IntArg<5, 1>>, Rainbow, IntArg<1, 300>, IntArg<2, 800>>(),
    ( extend and retract parameter are coupled to standby and flash color (resulting in extreme slow retraction...), Arg<4 is skipped all together )
    correct: StyleNormalPtrX<StrobeX<RgbArg<1, BLACK>, RgbArg<2, WHITE>, IntArg<3, 15>, IntArg<4, 1>>, Rainbow, IntArg<5, 300>, IntArg<6, 800>>()

  • cycle: although the style is working, the describe_named_style is somewhat cryptic;
    "Cycle blade, start color, base color, flicker color, blast color, lockup color" (5 parameters according to describe_named_style)
    In practice base color and flicker color are the same parameter, better description would be;
    "Cycle blade, start color, base color/flicker color, blast color, lockup color"
    Further more, this style never fully comes to a solid blade, because the max percentage of the blade is set to 90
    Resulting in a flickering blade on full extension. Also the base color is an Audioflicker of the start and base color, was this
    intentional?
    NOTE: cycle would be nice to also include the cycle speed, and transition time. This is and easy fix for my own use, but would be
    nice to see in the main core code.

  • rainbow -> functions as expected, and reports correct parameters when asked to describe_named_style

  • charging -> functions as expected, and reports correct parameters when asked to describe_named_style

  • builtin -> functions as expected, and reports correct parameters when asked to describe_named_style

All tested on Teensy and Proffie V2 with serial commands and WebUSB app.

ObiRobKenobi, Art and Tech VoF.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.