Gostaria de escrever meus esboços para que eu possa compilá-los / enviá-los usando o Arduino IDE ou, opcionalmente, usando o GCC e um makefile.
Eu sei sobre a inclusão das declarações de função na parte superior, mas há mais alguma coisa a fazer para que meu esboço seja considerado C ++ válido pelo meu compilador?
Atualização 1
Entender o que o IDE do Arduino faz nos arquivos .ino e .pde é bom, mas estranho à minha pergunta, portanto, isso não é uma duplicata. O que eu quero saber é "como escrevo um programa para que ele seja considerado válido pelo IDE do Arduino e pelo g ++.
O makefile oficial (?) Disponível aqui explica o que fazer se estiver usando o makefile em vez do IDE:
# The Arduino environment does preliminary processing on a sketch before
# compiling it. If you're using this makefile instead, you'll need to do
# a few things differently:
#
# - Give your program's file a .cpp extension (e.g. foo.cpp).
#
# - Put this line at top of your code: #include <WProgram.h>
#
# - Write prototypes for all your functions (or define them before you
# call them). A prototype declares the types of parameters a
# function will take and what type of value it will return. This
# means that you can have a call to a function before the definition
# of the function. A function prototype looks like the first line of
# the function, with a semi-colon at the end. For example:
# int digitalRead(int pin);
... mas isso não explica como o uso tanto o IDE e um makefile.
Atualização 2
Recentemente, encontrei o PlatformIO que não responde diretamente a essa pergunta, mas automatiza grande parte do processo (gera arquivos Scons para você) e, até agora, prefiro o fluxo de trabalho sobre o Arduino IDE e a abordagem source + makefile. Bom apoio dos autores também.