Hi,
Years ago I used PlatformIO for a project. I was not very proficient with PIO, but I got it to work for me. I am now coming back to this project. After encountering the issues I will describe below, I decided to start fresh, and created a new project in the IDE, and moved the old source files over. I put my codeβs .h
files inside include
and kept the .cpp
files under src
. Please help me figure out what the issue is. The setup seems simple enough to me.
Problem description:
When compiling, one of the headers provided by one of the libraries the project uses cannot be found.
Here is platformio.ini:
[env:protrinket5ftdi]
platform = atmelavr
board = protrinket5ftdi
framework = arduino
lib_deps =
jrowberg/I2Cdevlib-Core@0.0.0-alpha+sha.460d810002
jrowberg/I2Cdevlib-ADXL345@0.0.0-alpha+sha.615f132009
fastled/FastLED@^3.5.0
Here is where my code includes these libraries (my file parameters.h
, and main.cpp
):
#include <Arduino.h>
#include <ADXL345.h> <--- This is the file that cannot be found.
#include <FastLED.h>
#include <I2Cdev.h>
#include <SPI.h>
#include <Wire.h>
#include <avr/pgmspace.h>
#include <math.h>
#include <accel.h>
#include <buttons.h>
#include <harmonic_oscillator.h>
#include <parameters.h>
#include <programs-common.h>
#include <utils.h>
The file that cannot be found is <ADXL345.h>. Here is the compilation output:
> Executing task in folder Flamingo Rev B: C:\Users\durandal\.platformio\penv\Scripts\platformio.exe run <
Processing protrinket5ftdi (platform: atmelavr; board: protrinket5ftdi; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/protrinket5ftdi.html
PLATFORM: Atmel AVR (2.2.0) > Adafruit Pro Trinket 5V/16MHz (FTDI)
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 28KB Flash
DEBUG: Current (simavr) On-board (simavr)
PACKAGES:
- framework-arduino-avr @ 5.0.0
- toolchain-atmelavr @ 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 14 compatible libraries
Scanning dependencies...
Dependency Graph
|-- I2Cdevlib-Core @ 0.0.0-alpha+sha.460d810002
| |-- Wire @ 1.0
|-- I2Cdevlib-ADXL345 @ 0.0.0-alpha+sha.615f132009
| |-- I2Cdevlib-Core @ 0.0.0-alpha+sha.460d810002
| | |-- Wire @ 1.0
|-- FastLED @ 3.5.0
| |-- SPI @ 1.0
| |-- SoftwareSerial @ 1.0
|-- SPI @ 1.0
|-- Wire @ 1.0
Building in release mode
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\FastLED.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\bitswap.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\colorpalettes.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\colorutils.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\hsv2rgb.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\lib8tion.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\noise.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\platforms.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\platforms\esp\32\clockless_rmt_esp32.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\power_mgt.cpp.o
Compiling .pio\build\protrinket5ftdi\lib8f1\FastLED\wiring.cpp.o
Compiling .pio\build\protrinket5ftdi\src\accel.cpp.o
Compiling .pio\build\protrinket5ftdi\src\buttons.cpp.o
Compiling .pio\build\protrinket5ftdi\src\main.cpp.o
Compiling .pio\build\protrinket5ftdi\src\programs\bouncing_balls.cpp.o
In file included from src\accel.cpp:2:0:
include/parameters.h:4:21: fatal error: ADXL345.h: No such file or directory
*****************************************************************
* Looking for ADXL345.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:ADXL345.h"
* Web > https://registry.platformio.org/search?q=header:ADXL345.h
*
*****************************************************************
compilation terminated.
In file included from src\buttons.cpp:2:0:
include/parameters.h:4:21: fatal error: ADXL345.h: No such file or directory
*****************************************************************
* Looking for ADXL345.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:ADXL345.h"
* Web > https://registry.platformio.org/search?q=header:ADXL345.h
*
*****************************************************************
compilation terminated.
*** [.pio\build\protrinket5ftdi\src\accel.cpp.o] Error 1
*** [.pio\build\protrinket5ftdi\src\buttons.cpp.o] Error 1
src\main.cpp:1:21: fatal error: ADXL345.h: No such file or directory
*****************************************************************
* Looking for ADXL345.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:ADXL345.h"
* Web > https://registry.platformio.org/search?q=header:ADXL345.h
*
*****************************************************************
compilation terminated.
In file included from src\programs\bouncing_balls.cpp:1:0:
include/parameters.h:4:21: fatal error: ADXL345.h: No such file or directory
*****************************************************************
* Looking for ADXL345.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:ADXL345.h"
* Web > https://registry.platformio.org/search?q=header:ADXL345.h
*
*****************************************************************
compilation terminated.
*** [.pio\build\protrinket5ftdi\src\programs\bouncing_balls.cpp.o] Error 1
*** [.pio\build\protrinket5ftdi\src\main.cpp.o] Error 1
====================================================================================== [FAILED] Took 3.05 seconds ======================================================================================
The terminal process "C:\Users\durandal\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.
As you can see, there is no problem with the FastLED library, but the I2CDev llibraries (-Core and -ADXL345) donβt seem to be compiling/working.
Here is what my file structure looks like. The I2CDevlib folders look pretty empty. Is this where the problem lies? Are these libraries just broken when installed via PlatformIO? They used to work. I did update them using the library manager. Do I need to specify an old version?
β .gitignore
β platformio.ini
β README.md
β
ββββ.pio
β ββββbuild
β β β project.checksum
β β β
β β ββββprotrinket5ftdi
β β β .sconsign37.dblite
β β β
β β ββββlib8f1
β β β ββββFastLED
β β β β bitswap.cpp.o
β β β β colorpalettes.cpp.o
β β β β colorutils.cpp.o
β β β β FastLED.cpp.o
β β β β hsv2rgb.cpp.o
β β β β lib8tion.cpp.o
β β β β noise.cpp.o
β β β β platforms.cpp.o
β β β β power_mgt.cpp.o
β β β β wiring.cpp.o
β β β β
β β β ββββplatforms
β β β ββββesp
β β β ββββ32
β β β clockless_rmt_esp32.cpp.o
β β β
β β ββββsrc
β β ββββprograms
β ββββlibdeps
β ββββprotrinket5ftdi
β β integrity.dat
β β
β ββββFastLED
β β β .gitignore
β β β .piopm
β β β code_of_conduct.md
β β β component.mk
β β β keywords.txt
β β β library.json
β β β library.properties
β β β LICENSE
β β β PORTING.md
β β β README.md
β β β release_notes.md
β β β workspace.code-workspace
β β β
β β ββββ.github
β β β ββββworkflows
β β β build.yml
β β β
β β ββββci
β β β ci-compile
β β β
β β ββββexamples
β β β ββββAnalogOutput
β β β β AnalogOutput.ino
β β β β
β β β ββββBlink
β β β β Blink.ino
β β β β
β β β ββββColorPalette
β β β β ColorPalette.ino
β β β β
β β β ββββColorTemperature
β β β β ColorTemperature.ino
β β β β
β β β ββββCylon
β β β β Cylon.ino
β β β β
β β β ββββDemoReel100
β β β β DemoReel100.ino
β β β β
β β β ββββFire2012
β β β β Fire2012.ino
β β β β
β β β ββββFire2012WithPalette
β β β β Fire2012WithPalette.ino
β β β β
β β β ββββFirstLight
β β β β FirstLight.ino
β β β β
β β β ββββMultiple
β β β β ββββArrayOfLedArrays
β β β β β ArrayOfLedArrays.ino
β β β β β
β β β β ββββMirroringSample
β β β β β MirroringSample.ino
β β β β β
β β β β ββββMultiArrays
β β β β β MultiArrays.ino
β β β β β
β β β β ββββMultipleStripsInOneArray
β β β β β MultipleStripsInOneArray.ino
β β β β β
β β β β ββββOctoWS2811Demo
β β β β β OctoWS2811Demo.ino
β β β β β
β β β β ββββParallelOutputDemo
β β β β ParallelOutputDemo.ino
β β β β
β β β ββββNoise
β β β β Noise.ino
β β β β
β β β ββββNoisePlayground
β β β β NoisePlayground.ino
β β β β
β β β ββββNoisePlusPalette
β β β β NoisePlusPalette.ino
β β β β
β β β ββββPacifica
β β β β Pacifica.ino
β β β β
β β β ββββPintest
β β β β Pintest.ino
β β β β
β β β ββββPorts
β β β β ββββPJRCSpectrumAnalyzer
β β β β PJRCSpectrumAnalyzer.ino
β β β β
β β β ββββPride2015
β β β β Pride2015.ino
β β β β
β β β ββββRGBCalibrate
β β β β RGBCalibrate.ino
β β β β
β β β ββββRGBSetDemo
β β β β RGBSetDemo.ino
β β β β
β β β ββββSmartMatrix
β β β β SmartMatrix.ino
β β β β
β β β ββββTwinkleFox
β β β β TwinkleFox.ino
β β β β
β β β ββββXYMatrix
β β β XYMatrix.ino
β β β
β β ββββsrc
β β β bitswap.cpp
β β β bitswap.h
β β β chipsets.h
β β β color.h
β β β colorpalettes.cpp
β β β colorpalettes.h
β β β colorutils.cpp
β β β colorutils.h
β β β controller.h
β β β cpp_compat.h
β β β dmx.h
β β β FastLED.cpp
β β β FastLED.h
β β β fastled_config.h
β β β fastled_delay.h
β β β fastled_progmem.h
β β β fastpin.h
β β β fastspi.h
β β β fastspi_bitbang.h
β β β fastspi_dma.h
β β β fastspi_nop.h
β β β fastspi_ref.h
β β β fastspi_types.h
β β β hsv2rgb.cpp
β β β hsv2rgb.h
β β β led_sysdefs.h
β β β lib8tion.cpp
β β β lib8tion.h
β β β noise.cpp
β β β noise.h
β β β pixelset.h
β β β pixeltypes.h
β β β platforms.cpp
β β β platforms.h
β β β power_mgt.cpp
β β β power_mgt.h
β β β wiring.cpp
β β β
β β ββββlib8tion
β β β math8.h
β β β random8.h
β β β scale8.h
β β β trig8.h
β β β
β β ββββplatforms
β β β fastspi_ardunio_core.h
β β β
β β ββββapollo3
β β β clockless_apollo3.h
β β β fastled_apollo3.h
β β β fastpin_apollo3.h
β β β fastspi_apollo3.h
β β β led_sysdefs_apollo3.h
β β β
β β ββββarm
β β β ββββcommon
β β β β m0clockless.h
β β β β
β β β ββββd21
β β β β clockless_arm_d21.h
β β β β fastled_arm_d21.h
β β β β fastpin_arm_d21.h
β β β β led_sysdefs_arm_d21.h
β β β β
β β β ββββd51
β β β β clockless_arm_d51.h
β β β β fastled_arm_d51.h
β β β β fastpin_arm_d51.h
β β β β led_sysdefs_arm_d51.h
β β β β README.txt
β β β β
β β β ββββk20
β β β β clockless_arm_k20.h
β β β β clockless_block_arm_k20.h
β β β β fastled_arm_k20.h
β β β β fastpin_arm_k20.h
β β β β fastspi_arm_k20.h
β β β β led_sysdefs_arm_k20.h
β β β β octows2811_controller.h
β β β β smartmatrix_t3.h
β β β β ws2812serial_controller.h
β β β β
β β β ββββk66
β β β β clockless_arm_k66.h
β β β β clockless_block_arm_k66.h
β β β β fastled_arm_k66.h
β β β β fastpin_arm_k66.h
β β β β fastspi_arm_k66.h
β β β β led_sysdefs_arm_k66.h
β β β β
β β β ββββkl26
β β β β clockless_arm_kl26.h
β β β β fastled_arm_kl26.h
β β β β fastpin_arm_kl26.h
β β β β fastspi_arm_kl26.h
β β β β led_sysdefs_arm_kl26.h
β β β β
β β β ββββmxrt1062
β β β β block_clockless_arm_mxrt1062.h
β β β β clockless_arm_mxrt1062.h
β β β β fastled_arm_mxrt1062.h
β β β β fastpin_arm_mxrt1062.h
β β β β fastspi_arm_mxrt1062.h
β β β β led_sysdefs_arm_mxrt1062.h
β β β β octows2811_controller.h
β β β β
β β β ββββnrf51
β β β β clockless_arm_nrf51.h
β β β β fastled_arm_nrf51.h
β β β β fastpin_arm_nrf51.h
β β β β fastspi_arm_nrf51.h
β β β β led_sysdefs_arm_nrf51.h
β β β β
β β β ββββnrf52
β β β β arbiter_nrf52.h
β β β β clockless_arm_nrf52.h
β β β β fastled_arm_nrf52.h
β β β β fastpin_arm_nrf52.h
β β β β fastpin_arm_nrf52_variants.h
β β β β fastspi_arm_nrf52.h
β β β β led_sysdefs_arm_nrf52.h
β β β β
β β β ββββsam
β β β β clockless_arm_sam.h
β β β β clockless_block_arm_sam.h
β β β β fastled_arm_sam.h
β β β β fastpin_arm_sam.h
β β β β fastspi_arm_sam.h
β β β β led_sysdefs_arm_sam.h
β β β β
β β β ββββstm32
β β β clockless_arm_stm32.h
β β β cm3_regs.h
β β β fastled_arm_stm32.h
β β β fastpin_arm_stm32.h
β β β led_sysdefs_arm_stm32.h
β β β
β β ββββavr
β β β clockless_trinket.h
β β β fastled_avr.h
β β β fastpin_avr.h
β β β fastspi_avr.h
β β β led_sysdefs_avr.h
β β β
β β ββββesp
β β ββββ32
β β β clockless_block_esp32.h
β β β clockless_i2s_esp32.h
β β β clockless_rmt_esp32.cpp
β β β clockless_rmt_esp32.h
β β β fastled_esp32.h
β β β fastpin_esp32.h
β β β fastspi_esp32.h
β β β led_sysdefs_esp32.h
β β β
β β ββββ8266
β β clockless_block_esp8266.h
β β clockless_esp8266.h
β β fastled_esp8266.h
β β fastpin_esp8266.h
β β led_sysdefs_esp8266.h
β β
β ββββI2Cdevlib-ADXL345
β β .piopm
β β library.json
β β
β ββββI2Cdevlib-Core
β .piopm
β library.json
β
ββββ.vscode
β c_cpp_properties.json
β extensions.json
β launch.json
β
ββββinclude
β accel.h
β bouncing_balls.h
β buttons.h
β harmonic_oscillator.h
β parameters.h
β programs-common.h
β README
β utils.h
β
ββββlib
β README
β readme.txt
β
ββββsrc
β β .clang-formatxxxx
β β accel.cpp
β β buttons.cpp
β β main.cpp
β β utils.cpp
β β
β ββββprograms
β bouncing_balls.cpp
β fire.cpp
β programs-common.cpp
β rainbow.cpp
β sparkle.cpp
β
ββββtest
.clang_completexxxxxx
.gcc-flags.jsonxxxx
.travis.ymlxxxx
platformio.inixxxxxxxx
README
Thank you for your help!!!