Hello! I am new to the proffie scene and I had my lightsaber installed by the legend, Tierfon Orbital. I am trying to figure out how to change the coding in my proffie lightsaber to read other fonts that are located in the SD card but I keep getting this error:
/Users/kevinjuarez/Library/Arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/…/lib/gcc/arm-none-eabi/14.2.1/…/…/…/…/arm-none-eabi/bin/ld:/Users/kevinjuarez/Library/Arduino15/packages/proffieboard/hardware/stm32l4/4.6/variants/STM32L452RE-ProffieboardV3/linker_scripts/STM32L452RE_FLASH.ld:224: warning: memory region SRAM2' not declared /Users/kevinjuarez/Library/Arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld: /var/folders/9j/3zdy8d7n2ggf9dy68cxgbnfw0000gn/T//ccjFmtly.ltrans0.ltrans.o: in function main’:
/Users/kevinjuarez/Library/Arduino15/packages/proffieboard/hardware/stm32l4/4.6/cores/stm32l4/main.cpp:129:(.text.startup+0x5d0): undefined reference to setup' /Users/kevinjuarez/Library/Arduino15/packages/proffieboard/tools/arm-none-eabi-gcc/14-2-rel1-xpack/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld: /Users/kevinjuarez/Library/Arduino15/packages/proffieboard/hardware/stm32l4/4.6/cores/stm32l4/main.cpp:133:(.text.startup+0x5d4): undefined reference to loop’
collect2: error: ld returned 1 exit status
exit status 1
Compilation error: exit status 1
Can someone let me know what all this means? Thank you so much!
Hello Kevin, welcome to The Crucible,
I don’t know what that error means either. You can always ask ChapGPT to explain what an error means. ChatGPT isn’t very good at making ProffieOS code but it is quite good at explaining an error or what a portion of code does. From what ChatGPT said, it looks like you are trying to compile your_config.h file directly from Arduino, it does not work like that.
Are you trying to install a config from your SD-Card (that will never work), you need to have ProffieOS installed on your hard drive, have the config you want to upload copied in the sub-folder ProffieOS\config\ then you go one folder up, click on ProffieOS.ino, wait for everything to load & change this line from:
// #define CONFIG_FILE "config/YOUR_CONFIG_FILE_NAME_HERE.h"
to
#define CONFIG_FILE "config/the_name_of_your_config.h"
Respect the spelling exactly, CAPS or no_caps included.
Make sure you unmount/safely eject your SD-Card before you upload your config, especially if you have “Mass Storage” on in Arduino to avoid the risk of SD-Card corruption.
Hey @olivierflying747-8! Thank you so much! I figured I was doing something wrong from my end. I have now put a copy of the config into the config folder of ProffieOS. However, I am not getting an error saying it was not found in the directory, and I double checked the spelling and everything, but it is not reading it in. Any other thoughts you might have?
What is the exact name of your config.
use the 3 back ticks method like this:
```
your code here / or your config / or your error message
```
to post your edited ProffieOS.ino section (no need for the whole code), just this:
/*-----------------------------------------------------------------*\
| You can have multiple configuration files, and specify which one |
| to use here by removing the two slashes at the beginning. |
| **NOTE** Only ONE line should be left uncommented at a time! |
| Add the slashes to any that you are not using. |
\*-----------------------------------------------------------------*/
// #define CONFIG_FILE "config/YOUR_CONFIG_FILE_NAME_HERE.h"
// #define CONFIG_FILE "config/default_proffieboard_config.h"
// #define CONFIG_FILE "config/proffieboard_v1_test_bench_config.h"
// #define CONFIG_FILE "config/proffieboard_v2_testing_config.h"
// #define CONFIG_FILE "config/td_proffieboard_config.h"
// #define CONFIG_FILE "config/proffieboard_v1_graflex.h"
// #define CONFIG_FILE "config/teensy_audio_shield_micom.h"
// #define CONFIG_FILE "config/proffieboard_v2_ob4.h"
I am assuming that you are using Windows, correct ? Can you see file name extensions for all your files (like .exe, .dll, .txt, …, .h, .ino) ?
If not it is possible that you config is named “myconfig.h.h” but the second “.h” is hidden.
I am on Mac!
#define CONFIG_FILE "config/electrum_scion.h"
and the exact name of the config is in that line of code.
/*-----------------------------------------------------------------*\
| You can have multiple configuration files, and specify which one |
| to use here by removing the two slashes at the beginning. |
| **NOTE** Only ONE line should be left uncommented at a time! |
| Add the slashes to any that you are not using. |
\*-----------------------------------------------------------------*/
#define CONFIG_FILE "config/electrum_scion.h"
// #define CONFIG_FILE "config/default_proffieboard_config.h"
// #define CONFIG_FILE "config/default_v3_config.h"
// #define CONFIG_FILE "config/crossguard_config.h"
// #define CONFIG_FILE "config/graflex_v1_config.h"
// #define CONFIG_FILE "config/prop_shield_fastled_v1_config.h"
// #define CONFIG_FILE "config/owk_v2_config.h"
// #define CONFIG_FILE "config/test_bench_config.h"
// #define CONFIG_FILE "config/toy_saber_config.h"
// #define CONFIG_FILE "config/proffieboard_v1_test_bench_config.h"
// #define CONFIG_FILE "config/proffieboard_v2_testing_config.h"
// #define CONFIG_FILE "config/td_proffieboard_config.h"
// #define CONFIG_FILE "config/proffieboard_v1_graflex.h"
// #define CONFIG_FILE "config/teensy_audio_shield_micom.h"
// #define CONFIG_FILE "config/proffieboard_v2_ob4.h"
// #define CONFIG_FILE "config/testconfig.h"
// #define CONFIG_FILE "config/test_bench_config.h"
#ifdef CONFIG_FILE_TEST
#undef CONFIG_FILE
#define CONFIG_FILE CONFIG_FILE_TEST
#endif
and here’s the code!
It is possible that you have more than one ProffieOS on your computer.
Quit Arduino,
Go in your config folder, make sure you see your config,
Go one folder up,
Click on ProffieOS.ino,
Do you still see the line #define CONFIG_FILE "config/electrum_scion.h"
1 Like
I did all that you said, and I realized I had a Proffie OS in the trash, and I emptied it. I went back through and double-checked the config file, but it is still saying it is not there.
You should see a “COPY ERROR MESSAGES” button when the error comes, click it, and paste the error messages here with the 3 back ticks method as explained above.
Also if you could edit and remove the photo of your folders in post above would be great. (Posting photo of text is not allowed on The Crucible.) 
Here is the error message:
/Users/kevinjuarez/Documents/Personal/Personal Projects/Lightsaber/ProffieOS2/ProffieOS/ProffieOS.ino:27:21: fatal error: config/electrum_scion.h: No such file or directory
27 | #define CONFIG_FILE "config/electrum_scion.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: config/electrum_scion.h: No such file or directory
@ryryog25
@NoSloppy
I know you both use MAC, anything that I missed ?
Sorry @ExoticSaint I am a Windows user and I really can’t see what else could be wrong.
2 Likes
No sweat @olivierflying747-8. I understand this struggle all too well! I appreciate you getting me this far, though!
Ok, one more thing, did you use a shortcut to launch Arduino or did you click on ProffieOS.ino to start Arduino ? Because unless my eyes are deceiving me (I can see the “/” is in the correct direction), this should not happen.
I launched it from clicking onto the file.
1 Like
Wait a minute, did your extract ProffieOS from the .zip ? Or are you running it from the .zip ?
I Think I extracted it from the .zip. What is the difference?
1 Like
It will not work from the .zip
It must be extracted.
Oh, I did extract it from the .zip then.
In this case, the screenshot was useful and warranted (short of tree)
macOS usually unzips ZIP archives automatically when they’re downloaded. If not, double-clicking will do that (you’ll see a new folder).
That’s not the issue here though.
In the screenshot posted, there is no ProffieOS.ino in that folder.
There is another ProffieOS folder inside the folder visible. I suspect that you accepted Arduino’s offer to move the ProffieOS.ino into a new ProffieOS directory becaus the actual ProffieOS directory wasn’t named exactly ProffieOS. Arduino is rather fiddly about this.
- Close Arduino
- Move
ProffieOS.ino out of the ProffieOS folder and back into the “real” ProffieOS folder. (alongside the config folder)
- Delete the
ProffieOS folder you moved the ino out of (for housekeeping)
- Rename the ProffieOS folder (the one that now holds
config and ProffieOS.ino) to ProffieOS if it isn’t already
- Open Arduino via double-clicking
ProffieOS.ino.
If it tries to prompt you to rename or move things around again, let us know, don’t accept it.
3 Likes
Awesome! That did the trick! Now our reward… A NEW ERROR! LOL!
In file included from /Users/kevinjuarez/Documents/Personal/Personal Projects/Lightsaber/ProffieOS/config/electrum_scion.h:2,
from /Users/kevinjuarez/Documents/Personal/Personal Projects/Lightsaber/ProffieOS/ProffieOS.ino:56:
/Users/kevinjuarez/Documents/Personal/Personal Projects/Lightsaber/ProffieOS/config/proffieboard_v3_config.h:96:2: error: #error Tools->DOSFS should be set to SDIO (High Speed)
96 | #error Tools->DOSFS should be set to SDIO (High Speed)
| ^~~~~
exit status 1
Compilation error: #error Tools->DOSFS should be set to SDIO (High Speed)