1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-03-13 10:29:35 +01:00

Merge pull request #2139 from cmaglie/init-variant

Allow variants to define an initVariant() function that is called at startup
This commit is contained in:
Cristian Maglie 2014-07-01 17:28:45 +02:00
commit 29f9dd9f1f
3 changed files with 29 additions and 12 deletions

View File

@ -186,19 +186,28 @@ public class Compiler implements MessageConsumer {
includePaths.remove(includePaths.size() - 1);
}
// 3. compile the core, outputting .o files to <buildPath> and then
// collecting them into the core.a library file.
// 3. compile the core, outputting .o files to <buildPath> and then
// collecting them into the core.a library file.
sketch.setCompilingProgress(50);
includePaths.clear();
includePaths.add(corePath); // include path for core only
if (variantPath != null) includePaths.add(variantPath);
List<File> coreObjectFiles =
compileFiles(avrBasePath, buildPath, includePaths,
findFilesInPath(corePath, "S", true),
findFilesInPath(corePath, "c", true),
findFilesInPath(corePath, "cpp", true),
boardPreferences);
sketch.setCompilingProgress(50);
includePaths.clear();
includePaths.add(corePath); // include path for core only
if (variantPath != null)
includePaths.add(variantPath);
List<File> coreObjectFiles = compileFiles( //
avrBasePath, buildPath, includePaths, //
findFilesInPath(corePath, "S", true), //
findFilesInPath(corePath, "c", true), //
findFilesInPath(corePath, "cpp", true), //
boardPreferences);
if (variantPath != null)
objectFiles.addAll(compileFiles( //
avrBasePath, buildPath, includePaths, //
findFilesInPath(variantPath, "S", true), //
findFilesInPath(variantPath, "c", true), //
findFilesInPath(variantPath, "cpp", true), //
boardPreferences));
String runtimeLibraryName = buildPath + File.separator + "core.a";
List baseCommandAR = new ArrayList(Arrays.asList(new String[] {

View File

@ -113,6 +113,7 @@ typedef uint8_t boolean;
typedef uint8_t byte;
void init(void);
void initVariant(void);
void pinMode(uint8_t, uint8_t);
void digitalWrite(uint8_t, uint8_t);

View File

@ -19,10 +19,17 @@
#include <Arduino.h>
// Weak empty variant initialization function.
// May be redefined by variant files.
void initVariant() __attribute__((weak));
void initVariant() { }
int main(void)
{
init();
initVariant();
#if defined(USBCON)
USBDevice.attach();
#endif