Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify language on FAQ: Convert .ino to C++ files "Manually"? #137

Open
LongLiveCHIEF opened this issue May 29, 2020 · 6 comments
Open

Comments

@LongLiveCHIEF
Copy link
Contributor

In the faq, there is a section describing common changes you may need to make to .ino files to make them work as .cpp.

The header of this section uses the word "Manually" at the end, which implies that there is an automated way of doing this somewhere.

This can cause confusion (see Bodmer/TFT_eSPI#637)

I haven't found anywhere in the docs where there is automatic handling of these by platformio prior to running the compile.

I think the language can be cleared up a little to reduce confusion.

I'd be happy to submit a PR with suggested language, if someone can confirm for me that there is not any automation to make .ino files compatible with .cpp built into platformio?

The first sentence of that document also does not make sense. I'm not sure what it's trying to say or imply by Some Cloud & Desktop IDE doesn’t support Arduino files

This again reinforces the implication that platformio does handle this... but then why does it go on to describe the changes you need to make?

@ivankravets
Copy link
Member

We do an automatic translation of INO file to valid C++ file if you use INO file. INO is not a valid C++ format. It was invented for children to do quick prototyping. Arduino IDE automatically converts INO->CPP in background. You can't compile or treat INO as C++ file. This is why IDEs and compilers do not work with INO files.

@ajlennon
Copy link

@ivankravets I am having a problem I can't nail down but am wondering if it is related to .ino -> ino.cpp conversion.

I have a load of legacy code with .ino files in. I am defining macros on the command line (actually platformio.ini) with build_flags and -D. However .ino files are failing to compile telling me the macros aren't defined.

Does this ring any bells for you at all?

Thanks

@valeros
Copy link
Member

valeros commented Jul 23, 2021

@ajlennon It's hard to guess, but the .ino conversion shouldn't be a problem. It should be easily testable if you isolate one file that fails to compile and convert it manually to C++ just to see if the compiler still complains.

@ajlennon
Copy link

Yeah I did that and I couldn't replicate it or I would have provided a test case. I still think the problem is in and around that area though

@ajlennon
Copy link

I reckon if you git clone Tasmota and use a macro in an .ino which you defined on the command line then it'll fail.

@ajlennon
Copy link

@valeros I did a but more looking into this to create a test case and the upshot is a I am an idiot. It works fine. Sorry to have bothered you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants