Error Message

What is the issue according to these error messages?

error

In file included from C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\ProffieOS.ino:617:
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:692:457: error: expected ‘;’ before ‘}’ token
692 | TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<Trigger<EFFECT_PREON,Int<3000>,Int<2000>,Int<1000>>,BrownNoiseFlicker<Black,RotateColorsX<Variation,Red>,100>,RandomPerLEDFlicker<RotateColorsX<Variation,Red>,Rgb<50,50,50>>,BrownNoiseFlicker<Mix<NoisySoundLevel,RotateColorsX<Variation,Red>,RotateColorsX<Int<4000>,RotateColorsX<Variation,Red>>>,White,50>>,SmoothStep<Scale<NoisySoundLevel,Int<-10000>,Int<36000>>,Int<-4000>>>,TrDelay<2000>>,EFFECT_PREON>>
| ^
| ;
693 | },;
| ~
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:693:1: error: expected declaration before ‘}’ token
693 | },;
| ^
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:693:2: error: expected unqualified-id before ‘,’ token
693 | },;
| ^
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:693:3: error: expected unqualified-id before ‘;’ token
693 | },;
| ^
In file included from C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\ProffieOS.ino:621:
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:105:10: error: ‘Jurassic’ was not declared in this scope
105 | StylePtr(“”),
| ^~~~~~~~
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:105:19: error: no matching function for call to ‘StylePtr< >(const char [1])’
105 | StylePtr(“”),
| ~~~~^~
In file included from C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\styles\fire.h:4,
from C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\ProffieOS.ino:469:
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\styles\style_ptr.h:100:16: note: candidate: ‘template StyleFactory* StylePtr()’
100 | StyleAllocator StylePtr() {
| ^~
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\styles\style_ptr.h:100:16: note: candidate expects 0 arguments, 1 provided
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\styles\style_ptr.h:124:16: note: candidate: ‘template StyleFactory* StylePtr(const char*)’
124 | StyleAllocator StylePtr(const char* default_arguments) {
| ^~
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\styles\style_ptr.h:124:16: note: template argument deduction/substitution failed:
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:105:19: error: template argument 1 is invalid
105 | StylePtr(“”),
| ~~~~~~~~~~^~
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:255:10: error: ‘Jurassic’ was not declared in this scope
255 | StylePtr(“”),
| ^~
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:255:19: error: no matching function for call to ‘StylePtr< >(const char [1])’
255 | StylePtr(“”),
| ~~~~^~
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\styles\style_ptr.h:100:16: note: candidate: ‘template StyleFactory* StylePtr()’
100 | StyleAllocator StylePtr() {
| ^~
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\styles\style_ptr.h:100:16: note: candidate expects 0 arguments, 1 provided
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\styles\style_ptr.h:124:16: note: candidate: ‘template StyleFactory* StylePtr(const char*)’
124 | StyleAllocator StylePtr(const char* default_arguments) {
| ^~
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\styles\style_ptr.h:124:16: note: template argument deduction/substitution failed:
C:\Users\minam\OneDrive\Desktop\ProffieOS-v7.15\ProffieOS\config\ObiWan1.h:255:19: error: template argument 1 is invalid
255 | StylePtr(“”),
| ~~~~~~~~~~~~~~~~^~
exit status 1

Compilation error: expected ‘;’ before ‘}’ token

Heres the config file

ObiWan1.h (103.5 KB)

Look at your Jurassic style. Its last line is },; and it should just be ; As is, it breaks the using Jurassic declaration, so Jurassic never gets defined, which is what causes the “not declared” errors and the StylePtr failures further up. All downstream of that one line.

Here’s the whole style with it fixed, if it’s easier to just replace it:

using Jurassic = 
Layers<
  AudioFlicker<RotateColorsX<Variation,Red>,RotateColorsX<Variation,Red>>,
  AlphaL<Stripes<1000,-2000,RandomPerLEDFlicker<RotateColorsX<Variation,Red>,Black>,White,RotateColorsX<Variation,Red>,White>,SwingSpeed<600>>,
  LockupTrL<Layers<
    AlphaL<AudioFlickerL<Yellow>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<10000>,Int<30000>>,Int<10000>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>>,
    AlphaL<Yellow,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<10000>,Int<30000>>,Int<10000>>,Int<10000>>>>,TrConcat<TrInstant,White,TrFade<400>>,TrConcat<TrInstant,AlphaL<Mix<SmoothStep<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Int<10000>,Int<30000>>,Int<10000>>,Int<1000>>,Stripes<1500,2000,White,Red>,Stripes<1500,-2500,White,Red>>,Int<18000>>,TrFade<400>>,SaberBase::LOCKUP_NORMAL>,
  ResponsiveLightningBlockL<Strobe<Black,AudioFlicker<Black,Blue>,50,1>,TrConcat<TrInstant,AlphaL<Black,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<White,Int<16000>>,30>,TrSmoothFade<600>>>,
  AlphaL<White,SmoothStep<Scale<SlowNoise<Int<1600>>,Int<1000>,Int<4000>>,Int<-4000>>>,
  ResponsiveStabL<Orange>,
  ResponsiveBlastL<Yellow,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>>,
  ResponsiveBlastWaveL<White,Int<300>,Int<100>,Int<300>,Scale<BladeAngle<0,16000>,Int<10000>,Int<30000>>,Int<10000>,EFFECT_CLASH>,
  TransitionEffectL<TrConcat<TrInstant,Stripes<3000,-3500,White,RandomPerLEDFlicker<Rgb<60,60,60>,Black>,BrownNoiseFlicker<White,Rgb<30,30,30>,200>,RandomPerLEDFlicker<Rgb<80,80,80>,Rgb<30,30,30>>>,TrFade<800>>,EFFECT_IGNITION>,
  LockupTrL<AlphaL<BrownNoiseFlickerL<Green,Int<300>>,SmoothStep<Int<30000>,Int<5000>>>,TrWipeIn<400>,TrFade<300>,SaberBase::LOCKUP_DRAG>,
  LockupTrL<AlphaL<Mix<TwistAngle<>,Rgb<255,200,0>,DarkOrange>,SmoothStep<Int<28000>,Int<5000>>>,TrWipeIn<600>,TrFade<300>,SaberBase::LOCKUP_MELT>,
  InOutTrL<TrWipe<500>,TrWipeInSparkTip<White,500>>,
  TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<Trigger<EFFECT_PREON,Int<3000>,Int<2000>,Int<1000>>,BrownNoiseFlicker<Black,RotateColorsX<Variation,Red>,100>,RandomPerLEDFlicker<RotateColorsX<Variation,Red>,Rgb<50,50,50>>,BrownNoiseFlicker<Mix<NoisySoundLevel,RotateColorsX<Variation,Red>,RotateColorsX<Int<4000>,RotateColorsX<Variation,Red>>>,White,50>>,SmoothStep<Scale<NoisySoundLevel,Int<-10000>,Int<36000>>,Int<-4000>>>,TrDelay<2000>>,EFFECT_PREON>>
;

I compiled it on 7.15 and it builds. Two things worth knowing: it lands at 259,008 of 262,144 bytes, so 98% full with only about 3K spare. And that’s on core 3.6, but on 4.6 the same config overflows by 5,400 bytes…

thx. also, is a battery recommended while using os workbench

would it be better for me to use 3.6 instead of 4.6 if that’s so? and is arduino 1.8.x better than the newer 2 point whatever?

I haven’t locked down the full cause, but in your specific case 3.6 will fit your current config and 4.6 won’t. It’s not quite as simple as saying one over the other. From my testing 4.6 is better for me given most of my builds are OS8 on a Proffie v3.9. As far as I know, the specific arduino IDE version doesn’t matter for this.

well 4.6 worked but I was just wondering. Also, once I switched it to mass storage and web usb it began to come up as drive E on the PC. Then, I went to upload a config file and flash and it didn’t give me an error message but it was done in like a few seconds and the red text said something about trying to identify a device that didn’t exist. I hovered over the drive and it didn’t list a specific COM that it was connected to like before but once I unplugged and replulgged it in and selected the board again it showed up but still did the same thing when verifying.

Please stop posting the same question in two different threads. This is at least the third time you doing this in the last 2-3 days. Post it once and wait for a reply. We are not many users here. You will get an answer when one of us knows the answer.

2 Likes