Arduino Error

Wat does this mean and how to fix.

:\Users\User\Desktop\ProffieOS\ProffieOS.ino:57:10: error: #include expects “FILENAME” or
57 | #include CONFIG_FILE
| ^~~~~~~~~~~

Did you save your config file in “ProffieOS/config” and define your CONFIG_FILE in Arduino after the large box explaining configs?


If not, see step 4 and 5 on this page (assuming you did the previous steps correctly).

If you did, then you may have a typo. The file name needs to match exactly (spelling and case) and the file needs to be a .h file. Sometimes users type an extra .h so it becomes myconfig.h.h in the config folder. If your unsure see if you config filename looks like the other filenames in the config folder.

You’ll want to look at the ProffieOS.ino file that you open with Arduino.

  1. There’s a big box of text right above where you set your config file name that explains commenting out with slashes.
    Make sure that’s not the issue.
  2. You might have the wrong ProffieOS.ino file open in Arduino if you have multiple copies of the ProffieOS software on your computer.
    Make sure to open the one that’s inside the same ProffieOS folder as your config file (in the corresponding config folder)
  3. You may have not had the software folder named exactly “ProffieOS”, like maybe you had a version number in the folder name or something.
    If that was the case, and you opened ProffieOS.ino for the first time with Arduino, it will advise you that the sketch needs to be inside a folder named “ProffieOS” and offers to create one and move your file into it for you.
    This would give you a path like “ProffieOS7.10/ProffieOS/ProffieOS.ino”, which is no good. The sketch .ino file needs to reside directly in the root level of the ProffieOS folder, next to all the other folders (blades, buttons, common, config, etc…)
    See more info here:
    ProffieOS Documentation: Troubleshooing Files and Folder Structure

so I have my file name in the right place and the error doesn’t show on that line in arduino . Each one of thoes numbers is a different line and shows these errors . C:\Users\User\Desktop\ProffieOS\ProffieOS.ino:53:2: error: #error Please set CONFIG_FILE as shown above.
53 | #error Please set CONFIG_FILE as shown above.
| ^~~~~
C:\Users\User\Desktop\ProffieOS\ProffieOS.ino:57:10: error: #include expects “FILENAME” or
57 | #include CONFIG_FILE
| ^~~~~~~~~~~
C:\Users\User\Desktop\ProffieOS\ProffieOS.ino:610:10: error: #include expects “FILENAME” or
610 | #include CONFIG_FILE
| ^~~~~~~~~~~
C:\Users\User\Desktop\ProffieOS\ProffieOS.ino:614:10: error: #include expects “FILENAME” or
614 | #include CONFIG_FILE
| ^~~~~~~~~~~
C:\Users\User\Desktop\ProffieOS\ProffieOS.ino:618:10: error: #include expects “FILENAME” or
618 | #include CONFIG_FILE
| ^~~~~~~~~~~
C:\Users\User\Desktop\ProffieOS\ProffieOS.ino:676:10: error: #include expects “FILENAME” or
676 | #include CONFIG_FILE
| ^~~~~~~~~~~
C:\Users\User\Desktop\ProffieOS\ProffieOS.ino:1554:10: error: #include expects “FILENAME” or
1554 | #include CONFIG_FILE
| ^~~~~~~~~~~

I’d love to send you a copy of my config to have a look

The first error is really the only issue.
The line numbers are not the lines in your config file, as you can see the file it’s referring to is C:\Users\User\Desktop\ProffieOS\ProffieOS.ino, line 53.
That’s where your config file gets checked for existence with the lines

#error Please set CONFIG_FILE as shown above.

The config file is not the issue. It’s the way you have your #define CONFIG_FILE line in ProffieOS.ino, which you open with Arduino.

It needs to point to the file you want to use, along the correct path.
The example line given is:

You just remove the 2 leading slashes from the beginning of the line (so it’s not ignored by the compiler) and change the file name to YOUR config file name.

The config file itself needs to reside in the ProffieOS/config folder.

That’s really all there is to it.

If you get that error, you either:

  1. Didn’t uncomment the line by removing the slashes.
  2. Didn’t provide the correct path to the config file (left out “config/” from in front of your file name.
  3. Your config file is not in the config folder.
  4. You have a different ProffieOS.ino file open in Arduino that is in an older/different ProffieOS folder somewhere on your computer and it’s looking in THAT ProffieOS/config folder for your file and isn’t finding it.
  5. You misspelled your config file name.
  6. Your computer is set to “hide known filename extensions”, where it wouldn’t show the .h at the end, and you added .h so now the file is actually named MyConfig.h.h, which is not the same as MyConfig.h, which is what you told it to look for.
    If none of the other config files in that folder have a .h showing, then neither should yours. (I would turn that stupid setting off in Windows folder view options, but that’s just me)