Trying to do my first config but I do not understand the result

Hello,

So here is my setup :

In the “results” I get:
#define NUM_BLADES 4”

Why 4 blades ? What are they (I guess 1 for the “blade”, 1 for the crystal chamber, 1 for the NPXL connector ?) what is blade 4. How do I know which is which ?

Then I try to use Fett262 but I don’t know what to select for this blade detect pin ?
image
It will be wired as per the Proffieboard V3 configurator.

Also, can the Proffie board be used as SD-Card reader ? Mine does not. Can I change it ?

Thank you.

In the configurator, it will say which pin it used as the blade detect in the config file, like this:

#define BLADE_DETECT_PIN blade5Pin

Yes, Select “Serial+WebUSB+Mass Storage” in Arduino → Tools → USB Type and upload.
Note that it will be pretty slow, so when you upload a font and select “eject safeily” (or whatever it is called in your OS) it may take a few minutes before it’s actually ejected.

1 Like

Take a look at the bottom of the generated config, where you see BladeConfig. There you can see the blade array and see which is which.

In your case, the illuminated PCB has two rings of LEDs on it, so two SubBladeWithStrides are used so that they can each be controlled as their own rings instead of staggered in series.

1 Like

So I tried to upload the basic config from the configurator. I named it “olibasic.h”

I changed the line 28 in ProffieOS_7.14 / Arduino 1.8.19 to #define CONFIG_FILE “config/olibasic.h”

When I clicked the verify, I got “status 1 Error compiling for board Proffieboard V3”

May I paste the full error log here ?

Please do, since FYI just “Status 1” is entirely meaningless. (Means quite literally “something failed”).

When you do, just format it like you would when pasting your config:

```
[error messages]
```

Is this good ? I just created a “Pastebin” account but I don’t know how to post from there to here (I understand that it is the preffered method) ?

Arduino: 1.8.19 (Windows 10), Board: "Proffieboard V3, Serial + Mass Storage + WebUSB, SDCARD (SDIO High Speed), 80 MHz, Smallest Code"





















C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Olivier\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Olivier\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Olivier\Documents\Arduino\libraries -fqbn=proffieboard:stm32l4:ProffieboardV3-L452RE:usb=cdc_msc_webusb,dosfs=sdmmc1,speed=80,opt=os -vid-pid=1209_6668 -ide-version=10819 -build-path C:\Users\Olivier\AppData\Local\Temp\arduino_build_566874 -warnings=none -build-cache C:\Users\Olivier\AppData\Local\Temp\arduino_cache_538329 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arm-none-eabi-gcc.path=C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\tools\arm-none-eabi-gcc\9-2020-q2-update -prefs=runtime.tools.arm-none-eabi-gcc-9-2020-q2-update.path=C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\tools\arm-none-eabi-gcc\9-2020-q2-update -verbose C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino

C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Olivier\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Olivier\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Olivier\Documents\Arduino\libraries -fqbn=proffieboard:stm32l4:ProffieboardV3-L452RE:usb=cdc_msc_webusb,dosfs=sdmmc1,speed=80,opt=os -vid-pid=1209_6668 -ide-version=10819 -build-path C:\Users\Olivier\AppData\Local\Temp\arduino_build_566874 -warnings=none -build-cache C:\Users\Olivier\AppData\Local\Temp\arduino_cache_538329 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arm-none-eabi-gcc.path=C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\tools\arm-none-eabi-gcc\9-2020-q2-update -prefs=runtime.tools.arm-none-eabi-gcc-9-2020-q2-update.path=C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\tools\arm-none-eabi-gcc\9-2020-q2-update -verbose C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino

Using board 'ProffieboardV3-L452RE' from platform in folder: C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\hardware\stm32l4\3.6

Using core 'stm32l4' from platform in folder: C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\hardware\stm32l4\3.6

Detecting libraries used...

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_566874\\sketch\\ProffieOS_7.14.ino.cpp" -o nul

Alternatives for Wire.h: [Wire@1.0]

ResolveLibrary(Wire.h)

  -> candidates: [Wire@1.0]

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src" "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_566874\\sketch\\ProffieOS_7.14.ino.cpp" -o nul

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src" "C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src\\Wire.cpp" -o nul

Generating function prototypes...

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src" "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_566874\\sketch\\ProffieOS_7.14.ino.cpp" -o "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_566874\\preproc\\ctags_target_for_gcc_minus_e.cpp"

"C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_566874\\preproc\\ctags_target_for_gcc_minus_e.cpp"

Compiling sketch...

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -MMD -flto -fdevirtualize-at-ltrans -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src" "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_566874\\sketch\\ProffieOS_7.14.ino.cpp" -o "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_566874\\sketch\\ProffieOS_7.14.ino.cpp.o"

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:621:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:91:1: error: 'Presets' does not name a type; did you mean 'presets'?

   91 | Presets no_blade_presets[] = {

      | ^~~~~~~

      | presets

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:591:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:110:16: error: expected '}' before 'no_blade_presets'

  110 |    CONFIGARRAY(no_blade_presets), "nb_save" }

      |                ^~~~~~~~~~~~~~~~

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\common\preset.h:6:24: note: in definition of macro 'CONFIGARRAY'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                        ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:621:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:106:2: note: to match this '{'

  106 |  { NO_BLADE, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),

      |  ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:591:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:110:16: error: expected '}' before 'no_blade_presets'

  110 |    CONFIGARRAY(no_blade_presets), "nb_save" }

      |                ^~~~~~~~~~~~~~~~

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\common\preset.h:6:24: note: in definition of macro 'CONFIGARRAY'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                        ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:621:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:100:24: note: to match this '{'

  100 | BladeConfig blades[] = {

      |                        ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:591:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:110:16: error: expected ',' or ';' before 'no_blade_presets'

  110 |    CONFIGARRAY(no_blade_presets), "nb_save" }

      |                ^~~~~~~~~~~~~~~~

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\common\preset.h:6:24: note: in definition of macro 'CONFIGARRAY'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                        ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:621:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:110:45: error: expected declaration before '}' token

  110 |    CONFIGARRAY(no_blade_presets), "nb_save" }

      |                                             ^

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:111:1: error: expected unqualified-id before ',' token

  111 | ,

      | ^

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:112:1: error: expected unqualified-id before '}' token

  112 | };

      | ^

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:112:1: error: expected declaration before '}' token

Using library Wire at version 1.0 in folder: C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\hardware\stm32l4\3.6\libraries\Wire 

exit status 1

Error compiling for board Proffieboard V3.


No, if you can post it here that’s better cause it’s easier to see inline with everything else.

1 Like

Well the first error I see is pretty straightforward, your Preset array is written as Presets instead. It should be singular. (Semantically, being an array makes it plural, so it is an array of Preset objects).

If after fixing that you still get an error, can you paste your config too to look at?

Edit : Where are my manners ? First, I would like to thank you for the time your are giving to help me.

There are many “preset” and “presets” not sure which one to change. The config came like that from the configuration generator. Here is the config I am trying to upload on the board :

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 4
#define NUM_BUTTONS 2
#define VOLUME 1000
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define SHARED_POWER_PINS
#define BLADE_DETECT_PIN blade5Pin
#define ENABLE_SERIAL
#define ENABLE_SSD1306
#endif

#ifdef CONFIG_PRESETS
Preset presets[] = {
   { "TeensySF", "tracks/venus.wav",
    StyleNormalPtr<CYAN, WHITE, 300, 800>(),
    StyleNormalPtr<CYAN, WHITE, 300, 800>(),
    StyleNormalPtr<CYAN, WHITE, 300, 800>(),
    StyleNormalPtr<CYAN, WHITE, 300, 800>(), "cyan"},
   { "SmthJedi", "tracks/mars.wav",
    StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(), "blue"},
   { "SmthGrey", "tracks/mercury.wav",
    StyleFirePtr<RED, YELLOW, 0>(),
    StyleFirePtr<RED, YELLOW, 1>(),
    StyleFirePtr<RED, YELLOW, 2>(),
    StyleFirePtr<RED, YELLOW, 3>(), "fire"},
   { "SmthFuzz", "tracks/uranus.wav",
    StyleNormalPtr<RED, WHITE, 300, 800>(),
    StyleNormalPtr<RED, WHITE, 300, 800>(),
    StyleNormalPtr<RED, WHITE, 300, 800>(),
    StyleNormalPtr<RED, WHITE, 300, 800>(), "red"},
   { "RgueCmdr", "tracks/venus.wav",
    StyleFirePtr<BLUE, CYAN, 0>(),
    StyleFirePtr<BLUE, CYAN, 1>(),
    StyleFirePtr<BLUE, CYAN, 2>(),
    StyleFirePtr<BLUE, CYAN, 3>(), "blue fire"},
   { "TthCrstl", "tracks/mars.wav",
    StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
    StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
    StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
    StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(), "green"},
   { "TeensySF", "tracks/mercury.wav",
    StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
    StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
    StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
    StyleNormalPtr<WHITE, RED, 300, 800, RED>(), "white"},
   { "SmthJedi", "tracks/uranus.wav",
    StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
    StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
    StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
    StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(), "yellow"},
   { "SmthGrey", "tracks/venus.wav",
    StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(), "magenta"},
   { "SmthFuzz", "tracks/mars.wav",
    StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
    StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
    StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
    StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(), "gradient"},
   { "RgueCmdr", "tracks/mercury.wav",
    StyleRainbowPtr<300, 800>(),
    StyleRainbowPtr<300, 800>(),
    StyleRainbowPtr<300, 800>(),
    StyleRainbowPtr<300, 800>(), "rainbow"},
   { "TthCrstl", "tracks/uranus.wav",
    StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
    StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
    StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
    StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(), "strobe"},
   { "TeensySF", "tracks/venus.wav",
    &style_pov,
    StyleNormalPtr<BLACK, BLACK, 300, 800>(),
    StyleNormalPtr<BLACK, BLACK, 300, 800>(),
    StyleNormalPtr<BLACK, BLACK, 300, 800>(), "POV"},
   { "SmthJedi", "tracks/mars.wav",
    &style_charging,
    StyleNormalPtr<BLACK, BLACK, 300, 800>(),
    StyleNormalPtr<BLACK, BLACK, 300, 800>(),
    StyleNormalPtr<BLACK, BLACK, 300, 800>(), "Battery\nLevel"}
};
Presets no_blade_presets[] = {
  { "TeensySF", "tracks/mars.wav", 
   StyleFirePtr<RED, YELLOW, 0>(),
   StyleFirePtr<RED, YELLOW, 0>(),
   StyleFirePtr<RED, YELLOW, 0>(),
   StyleFirePtr<RED, YELLOW, 0>(),
  "no blade" },

};
BladeConfig blades[] = {
 { 0, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
    SubBladeWithStride(0, 15, 2, WS281XBladePtr<16, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
    SubBladeWithStride(1, 15, 2, NULL),
    WS281XBladePtr<1, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin1> >()
  , CONFIGARRAY(presets) },
 { NO_BLADE, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
    SubBladeWithStride(0, 15, 2, WS281XBladePtr<16, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
    SubBladeWithStride(1, 15, 2, NULL),
    WS281XBladePtr<1, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin1> >()
   CONFIGARRAY(no_blade_presets), "nb_save" }
,
};
#endif

#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif

That’s where Presets should become Preset.

Also, your config is formatted a bit weird. It won’t cause any issues, it’s purely stylistic, but

In sections like this, I’d keep the , and the } side by side, like so:

    WS281XBladePtr<1, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin1> >()
   CONFIGARRAY(no_blade_presets), "nb_save" },
};

Of course!

EDIT: I don’t see anything else weird in your config btw from a relatively quick look over, so i think that’s the only thing to fix.

What text editor would you recommend to look at config and error report in colors as it appears here ? I am using Notepad &/or Metapad.

Changed what you said (I think) but still compiling error:

Arduino: 1.8.19 (Windows 10), Board: "Proffieboard V3, Serial + Mass Storage + WebUSB, SDCARD (SDIO High Speed), 80 MHz, Smallest Code"

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Olivier\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Olivier\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Olivier\Documents\Arduino\libraries -fqbn=proffieboard:stm32l4:ProffieboardV3-L452RE:usb=cdc_msc_webusb,dosfs=sdmmc1,speed=80,opt=os -vid-pid=1209_6668 -ide-version=10819 -build-path C:\Users\Olivier\AppData\Local\Temp\arduino_build_585245 -warnings=none -build-cache C:\Users\Olivier\AppData\Local\Temp\arduino_cache_120106 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arm-none-eabi-gcc.path=C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\tools\arm-none-eabi-gcc\9-2020-q2-update -prefs=runtime.tools.arm-none-eabi-gcc-9-2020-q2-update.path=C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\tools\arm-none-eabi-gcc\9-2020-q2-update -verbose C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino

C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Olivier\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Olivier\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Olivier\Documents\Arduino\libraries -fqbn=proffieboard:stm32l4:ProffieboardV3-L452RE:usb=cdc_msc_webusb,dosfs=sdmmc1,speed=80,opt=os -vid-pid=1209_6668 -ide-version=10819 -build-path C:\Users\Olivier\AppData\Local\Temp\arduino_build_585245 -warnings=none -build-cache C:\Users\Olivier\AppData\Local\Temp\arduino_cache_120106 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arm-none-eabi-gcc.path=C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\tools\arm-none-eabi-gcc\9-2020-q2-update -prefs=runtime.tools.arm-none-eabi-gcc-9-2020-q2-update.path=C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\tools\arm-none-eabi-gcc\9-2020-q2-update -verbose C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino

Using board 'ProffieboardV3-L452RE' from platform in folder: C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\hardware\stm32l4\3.6

Using core 'stm32l4' from platform in folder: C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\hardware\stm32l4\3.6

Detecting libraries used...

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_585245\\sketch\\ProffieOS_7.14.ino.cpp" -o nul

Alternatives for Wire.h: [Wire@1.0]

ResolveLibrary(Wire.h)

  -> candidates: [Wire@1.0]

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src" "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_585245\\sketch\\ProffieOS_7.14.ino.cpp" -o nul

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src" "C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src\\Wire.cpp" -o nul

Generating function prototypes...

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -flto -fdevirtualize-at-ltrans -w -x c++ -E -CC -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src" "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_585245\\sketch\\ProffieOS_7.14.ino.cpp" -o "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_585245\\preproc\\ctags_target_for_gcc_minus_e.cpp"

"C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_585245\\preproc\\ctags_target_for_gcc_minus_e.cpp"

Compiling sketch...

"C:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\tools\\arm-none-eabi-gcc\\9-2020-q2-update/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib -fno-rtti -fno-exceptions -MMD -flto -fdevirtualize-at-ltrans -D_SYSTEM_CORE_CLOCK_=80000000L -DARDUINO=10819 -DARDUINO_PROFFIEBOARD_V3 -DARDUINO_ARCH_STM32L4 -DSTM32L452xx -DPROFFIEBOARD_VERSION=3 -D__FPU_PRESENT=1 -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mabi=aapcs -mslow-flash-data -fsingle-precision-constant -felide-constructors -ffast-math -DUSB_VID=0x1209 -DUSB_PID=0x6668 -DUSB_DID=0xffff "-DUSB_MANUFACTURER=\"hubbe.net\"" "-DUSB_PRODUCT=\"Proffieboard\"" -DUSB_TYPE=USB_TYPE_CDC_MSC_WEBUSB -DDOSFS_SDCARD=3 -DDOSFS_SFLASH=0 "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/CMSIS/Device/ST/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6/system/STM32L4xx/Include" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\cores\\stm32l4" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\variants\\STM32L452RE-ProffieboardV3" "-IC:\\Users\\Olivier\\AppData\\Local\\Arduino15\\packages\\proffieboard\\hardware\\stm32l4\\3.6\\libraries\\Wire\\src" "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_585245\\sketch\\ProffieOS_7.14.ino.cpp" -o "C:\\Users\\Olivier\\AppData\\Local\\Temp\\arduino_build_585245\\sketch\\ProffieOS_7.14.ino.cpp.o"

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:591:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:110:16: error: expected '}' before 'no_blade_presets'

  110 |    CONFIGARRAY(no_blade_presets), "nb_save" },

      |                ^~~~~~~~~~~~~~~~

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\common\preset.h:6:24: note: in definition of macro 'CONFIGARRAY'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                        ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:621:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:106:2: note: to match this '{'

  106 |  { NO_BLADE, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),

      |  ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:591:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:110:16: error: expected '}' before 'no_blade_presets'

  110 |    CONFIGARRAY(no_blade_presets), "nb_save" },

      |                ^~~~~~~~~~~~~~~~

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\common\preset.h:6:24: note: in definition of macro 'CONFIGARRAY'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                        ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:621:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:100:24: note: to match this '{'

  100 | BladeConfig blades[] = {

      |                        ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:591:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:110:16: error: expected ',' or ';' before 'no_blade_presets'

  110 |    CONFIGARRAY(no_blade_presets), "nb_save" },

      |                ^~~~~~~~~~~~~~~~

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\common\preset.h:6:24: note: in definition of macro 'CONFIGARRAY'

    6 | #define CONFIGARRAY(X) X, NELEM(X)

      |                        ^

In file included from C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\ProffieOS_7.14.ino:621:

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:110:45: error: expected declaration before '}' token

  110 |    CONFIGARRAY(no_blade_presets), "nb_save" },

      |                                             ^

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:110:46: error: expected unqualified-id before ',' token

  110 |    CONFIGARRAY(no_blade_presets), "nb_save" },

      |                                              ^

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:111:1: error: expected unqualified-id before '}' token

  111 | };

      | ^

C:\Users\Olivier\Desktop\LightSabers\Oli\ProffieOS_7.14\config\olibasic.h:111:1: error: expected declaration before '}' token

Using library Wire at version 1.0 in folder: C:\Users\Olivier\AppData\Local\Arduino15\packages\proffieboard\hardware\stm32l4\3.6\libraries\Wire 

exit status 1

Error compiling for board Proffieboard V3.

And the config is now:

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 4
#define NUM_BUTTONS 2
#define VOLUME 1000
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 1.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define SHARED_POWER_PINS
#define BLADE_DETECT_PIN blade5Pin
#define ENABLE_SERIAL
#define ENABLE_SSD1306
#endif

#ifdef CONFIG_PRESETS
Preset presets[] = {
   { "TeensySF", "tracks/venus.wav",
    StyleNormalPtr<CYAN, WHITE, 300, 800>(),
    StyleNormalPtr<CYAN, WHITE, 300, 800>(),
    StyleNormalPtr<CYAN, WHITE, 300, 800>(),
    StyleNormalPtr<CYAN, WHITE, 300, 800>(), "cyan"},
   { "SmthJedi", "tracks/mars.wav",
    StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(BLUE, WHITE), 300, 800> >(), "blue"},
   { "SmthGrey", "tracks/mercury.wav",
    StyleFirePtr<RED, YELLOW, 0>(),
    StyleFirePtr<RED, YELLOW, 1>(),
    StyleFirePtr<RED, YELLOW, 2>(),
    StyleFirePtr<RED, YELLOW, 3>(), "fire"},
   { "SmthFuzz", "tracks/uranus.wav",
    StyleNormalPtr<RED, WHITE, 300, 800>(),
    StyleNormalPtr<RED, WHITE, 300, 800>(),
    StyleNormalPtr<RED, WHITE, 300, 800>(),
    StyleNormalPtr<RED, WHITE, 300, 800>(), "red"},
   { "RgueCmdr", "tracks/venus.wav",
    StyleFirePtr<BLUE, CYAN, 0>(),
    StyleFirePtr<BLUE, CYAN, 1>(),
    StyleFirePtr<BLUE, CYAN, 2>(),
    StyleFirePtr<BLUE, CYAN, 3>(), "blue fire"},
   { "TthCrstl", "tracks/mars.wav",
    StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
    StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
    StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(),
    StylePtr<InOutHelper<EASYBLADE(OnSpark<GREEN>, WHITE), 300, 800> >(), "green"},
   { "TeensySF", "tracks/mercury.wav",
    StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
    StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
    StyleNormalPtr<WHITE, RED, 300, 800, RED>(),
    StyleNormalPtr<WHITE, RED, 300, 800, RED>(), "white"},
   { "SmthJedi", "tracks/uranus.wav",
    StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
    StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
    StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(),
    StyleNormalPtr<AudioFlicker<YELLOW, WHITE>, BLUE, 300, 800>(), "yellow"},
   { "SmthGrey", "tracks/venus.wav",
    StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(),
    StylePtr<InOutSparkTip<EASYBLADE(MAGENTA, WHITE), 300, 800> >(), "magenta"},
   { "SmthFuzz", "tracks/mars.wav",
    StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
    StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
    StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(),
    StyleNormalPtr<Gradient<RED, BLUE>, Gradient<CYAN, YELLOW>, 300, 800>(), "gradient"},
   { "RgueCmdr", "tracks/mercury.wav",
    StyleRainbowPtr<300, 800>(),
    StyleRainbowPtr<300, 800>(),
    StyleRainbowPtr<300, 800>(),
    StyleRainbowPtr<300, 800>(), "rainbow"},
   { "TthCrstl", "tracks/uranus.wav",
    StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
    StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
    StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(),
    StyleStrobePtr<WHITE, Rainbow, 15, 300, 800>(), "strobe"},
   { "TeensySF", "tracks/venus.wav",
    &style_pov,
    StyleNormalPtr<BLACK, BLACK, 300, 800>(),
    StyleNormalPtr<BLACK, BLACK, 300, 800>(),
    StyleNormalPtr<BLACK, BLACK, 300, 800>(), "POV"},
   { "SmthJedi", "tracks/mars.wav",
    &style_charging,
    StyleNormalPtr<BLACK, BLACK, 300, 800>(),
    StyleNormalPtr<BLACK, BLACK, 300, 800>(),
    StyleNormalPtr<BLACK, BLACK, 300, 800>(), "Battery\nLevel"}
};
Preset no_blade_presets[] = {
  { "TeensySF", "tracks/mars.wav", 
   StyleFirePtr<RED, YELLOW, 0>(),
   StyleFirePtr<RED, YELLOW, 0>(),
   StyleFirePtr<RED, YELLOW, 0>(),
   StyleFirePtr<RED, YELLOW, 0>(),
  "no blade" },

};
BladeConfig blades[] = {
 { 0, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
    SubBladeWithStride(0, 15, 2, WS281XBladePtr<16, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
    SubBladeWithStride(1, 15, 2, NULL),
    WS281XBladePtr<1, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin1> >()
  , CONFIGARRAY(presets) },
 { NO_BLADE, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
    SubBladeWithStride(0, 15, 2, WS281XBladePtr<16, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
    SubBladeWithStride(1, 15, 2, NULL),
    WS281XBladePtr<1, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin1> >()
   CONFIGARRAY(no_blade_presets), "nb_save" },
};
#endif

#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif

Ah, there should be a comma after WS281XBladePtr.

    WS281XBladePtr<1, blade3Pin, Color8::GRB, PowerPINS<bladePowerPin1> >(),
   CONFIGARRAY(no_blade_presets), "nb_save" },
};

Sublime Text is pretty easy to install and get used to, and is far better than Notepad (Notepad also tends to like to insert Unicode characters that will cause issues in your config, sublime won’t do that)

Thank you so much. It works now. As I said before the initial config came non-edited directly from the configuration generator on Proffieboard V3

Now I will try again on Fett263 with a working basic config. I had also tried your ProffieConfig programm but I found the Blade Array page very confusing, especially since I didn’t know why I had 4 blades to star with.

If it had those issues from getting it, you should @ Fredrik (profezzorn) so he can take a look.

Gotcha. Well, whatever works best for you. :slight_smile:

If you want, if you could kind of explain what you didn’t understand I could maybe clarify some things, but that’s totally up to you.

So it is uploaded to my board. At the end I have 10 "Cannot open DFU device 0483:df11 in RED.

Is this something I should be concerned with ?

Also, do I need to remove or eject SD card before flashing it again ?

So that means that the config couldn’t actually be uploaded to the board. Specifically the “Cannot open DFU device” normally means the driver wasn’t properly installed, or there’s some other driver in the way.

If you’ve already run the proffie-dfu-setup.exe and you’re still encountering issues, you might need to open up Device Manager to see what driver is installed…

The SD card, if being accessed via the Proffieboard’s USB, should definitely get ejected first. Otherwise it doesn’t matter.

How do I

For starters, I was stuck in the first time setup of the program, once it arrived on the Blade page. I didn’t know what to do next until I noticed the instruction on the “main window”. I added an extra blade but it would not let me remove it (the buttons were greyed out). Might be easier to explain with a small screen shot. Give me a few minutes and I will run it again.

1 Like

@profezzorn It seems like there’s an issue with the Proffieboard V3 configuration generator doing weird things with the above configuration.

1 Like

Ah, yeah, the Introduction has been confusing for some people (which seems counterproductive, doesn’t it?!). That whole experience is guided and a lot of things are intentionally greyed out and not allowed. All the instructions, information, and “what to do next” is on that main setup window, and it changes as you do things, but it seems like on some computers it likes to disappear or get hidden, or it’s just not intuitive that that window is the instructions.