Hi all,
I’ve got a project where I have two teensies communicating via serial, and they need separate code (one’s master, one’s slave). Trying to figure out how to set this up in platformio. My file structure is:
├── include
│ └── README
├── lib
│ └── README
├── platformio.ini
├── src
│ ├── primary.ino
│ └── secondary.ino
└── test
my platformio.ini
is:
[env:one]
platform = teensy
board = teensy36
framework = arduino
upload_protocol = teensy-gui
src_filter = +<*> -<.git/> -<.svn/> -<example/> -<examples/> -<test/> -<tests/> -<secondary.ino*>
[env:two]
platform = teensy
board = teensy41
framework = arduino
upload_protocol = teensy-gui
src_filter = +<*> -<.git/> -<.svn/> -<example/> -<examples/> -<test/> -<tests/> -<primary.ino*>
primary.ino
and secondary.ino
are glorified blink sketches: [edit: I should add that eventually, these will be different sketches, just testing for now]
int led = LED_BUILTIN;
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
while(!Serial && millis() < 4000);
Serial.println("\n" __FILE__ " " __DATE__ " " __TIME__);
}
void loop() {
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(200);
}
When I try and build, env one
can’t find any source files, and env two
tries to build both.
What am I doing wrong here?
I found this thread, but adding the wildcards didn’t seem to have any effect.
Here’s the full compilation output:
Summary
Processing one (platform: teensy; board: teensy36; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/teensy/teensy36.html
PLATFORM: Teensy (4.13.1) > Teensy 3.6
HARDWARE: MK66FX1M0 180MHz, 256KB RAM, 1MB Flash
DEBUG: Current (jlink) External (jlink)
PACKAGES:
- framework-arduinoteensy 1.154.0 (1.54)
- toolchain-gccarmnoneeabi 1.50401.190816 (5.4.1)
Converting secondary.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 92 compatible libraries
Scanning dependencies...
No dependencies
Error: Nothing to build. Please put your source code files to '/Users/sam/code/arduino/fountain_v4/src' folder
======================================================================================================== [FAILED] Took 0.48 seconds ========================================================================================================
Processing two (platform: teensy; board: teensy41; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/teensy/teensy41.html
PLATFORM: Teensy (4.13.1) > Teensy 4.1
HARDWARE: IMXRT1062 600MHz, 512KB RAM, 7.75MB Flash
DEBUG: Current (jlink) External (jlink)
PACKAGES:
- framework-arduinoteensy 1.154.0 (1.54)
- tool-teensy 1.154.210805 (1.54)
- toolchain-gccarmnoneeabi 1.50401.190816 (5.4.1)
Converting secondary.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 92 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/two/src/secondary.ino.cpp.o
Compiling .pio/build/two/FrameworkArduino/IntervalTimer.cpp.o
Compiling .pio/build/two/FrameworkArduino/Print.cpp.o
Compiling .pio/build/two/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/two/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/two/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/two/FrameworkArduino/WString.cpp.o
Compiling .pio/build/two/FrameworkArduino/analog.c.o
/Users/sam/code/arduino/fountain_v4/src/primary.ino:1:5: error: redefinition of 'int led'
int led = LED_BUILTIN;
^
/Users/sam/code/arduino/fountain_v4/src/secondary.ino:1:5: note: 'int led' previously defined here
int led = LED_BUILTIN;
^
/Users/sam/code/arduino/fountain_v4/src/primary.ino: In function 'void setup()':
/Users/sam/code/arduino/fountain_v4/src/primary.ino:4:6: error: redefinition of 'void setup()'
void setup() {
^
/Users/sam/code/arduino/fountain_v4/src/secondary.ino:4:6: note: 'void setup()' previously defined here
void setup() {
^
/Users/sam/code/arduino/fountain_v4/src/primary.ino: In function 'void loop()':
/Users/sam/code/arduino/fountain_v4/src/primary.ino:14:6: error: redefinition of 'void loop()'
void loop() {
^
/Users/sam/code/arduino/fountain_v4/src/secondary.ino:14:6: note: 'void loop()' previously defined here
void loop() {
^
Compiling .pio/build/two/FrameworkArduino/bootdata.c.o
Compiling .pio/build/two/FrameworkArduino/clockspeed.c.o
Compiling .pio/build/two/FrameworkArduino/debugprintf.c.o
Compiling .pio/build/two/FrameworkArduino/delay.c.o
Compiling .pio/build/two/FrameworkArduino/digital.c.o
Compiling .pio/build/two/FrameworkArduino/eeprom.c.o
Compiling .pio/build/two/FrameworkArduino/extmem.c.o
*** [.pio/build/two/src/secondary.ino.cpp.o] Error 1
Compiling .pio/build/two/FrameworkArduino/interrupt.c.o
======================================================================================================== [FAILED] Took 1.02 seconds ========================================================================================================
Environment Status Duration
------------- -------- ------------
one FAILED 00:00:00.483
two FAILED 00:00:01.017
================================================================================================== 2 failed, 0 succeeded in 00:00:01.500 ==================================================================================================
Any help appreciated! I’m sure I’m missing something trivial.