Closed brentru closed 1 year ago
Hiya, I've tried running and the feather32v2 compiles but wont link for me.
The feather-s2 runs into a tinyUSB error maybe due to missing tiny_usb rename script (ref https://github.com/platformio/platform-espressif32/issues/809 ).
The feather8266 builds and wont link
Running on windows 11 in vscode and a powershell / platformio terminal
Regarding readme assumptions etc, it seems fair although there is the assumption you've installed all the prerequisite libraries in arduino (maybe part of one of the learn guides), and have platformio.ini pointing at the right place for those installed arduino libraries (99% of people it works for anyway at ~/docs/ardu/libr...).
My local environment is not fresh, so maybe contributing.
@tyeth Here's what my current .ini
looks like.
; PlatformIO Project Configuration File for Adafruit.IO WipperSnapper
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[platformio]
description = "Adafruit.IO WipperSnapper"
default_envs = featheresp32v2, featheresp32s2
; Common WipperSnapper Build Environment
; https://docs.platformio.org/en/latest/projectconf/section_env.html
[env]
framework = arduino
monitor_speed = 115200
lib_compat_mode = strict
lib_extra_dirs = ~/Documents/Arduino/libraries
; WipperSnapper local build environment for Adafruit Feather ESP32 v2
[env:featheresp32v2]
platform = https://github.com/platformio/platform-espressif32.git
;platform = https://github.com/Jason2866/platform-espressif32.git
monitor_filters = time, esp32_exception_decoder, colorize
board = adafruit_feather_esp32_v2
build_flags = -D ARDUINO_ADAFRUIT_FEATHER_ESP32_V2
upload_port = /dev/cu.wchusbserial54790143761
monitor_port = /dev/cu.wchusbserial54790143761
lib_deps = adafruit/Adafruit TinyUSB Library@^1.10.3
; build_src_filter = +<*> -<../.pio/libdeps/featheresp32v2/MAX31850 OneWire>
;board_build.partitions = default_8MB.csv
;extra_scripts = ./littlefsbuilder.py
; WipperSnapper local build environment for Adafruit Feather ESP32-S2
[env:featheresp32s2]
platform = espressif32
board = featheresp32-s2
upload_port = /dev/cu.usbmodem01
monitor_port = /dev/cu.usbmodem1330
build_flags = -D ARDUINO_ADAFRUIT_FEATHER_ESP32S2
monitor_filters = time, esp32_exception_decoder, colorize
extra_scripts =
pre:rename_usb_config.py
lib_deps = adafruit/Adafruit TinyUSB Library@^1.10.3
; WipperSnapper local build environment for Adafruit Feather ESP8266
[env:featheresp8266]
platform = https://github.com/platformio/platform-espressif8266.git
board = huzzah
build_flags = -D ARDUINO_ESP8266_ADAFRUIT_HUZZAH
lib_ignore = Adafruit TinyUSB Library
build_src_filter = +<*> -<../.pio/libdeps/featheresp8266/Adafruit TinyUSB Library>
upload_port = /dev/cu.usbserial-017C8C08
monitor_port = /dev/cu.usbserial-017C8C08
build_type = debug
monitor_filters = esp8266_exception_decoder
Hiya, I've tried running and the feather32v2 compiles but wont link for me.
Could you show me a screenshot of what your VSCode side-bar looks like, with all the files listed?
@brentru similar situation on a fresh installed pc (well actually Windows Sandbox), with vscode + platformio + git for windows. I didn't install anything arduino related, so I ended up having to install the libraries to platform io with the pio lib install
which is now deprecated. Is there a way to get platformIO to install requirements from library.properties
? I had to do a regex replace and make a list of commands as I am under the impression each library must be installed individually. I tried pio pkg install
and I think it just did tiny-usb
Also there is a dallas ds18b20 dependency missing (it's silently cloned as part of the CI, but not listed in library.properties)
My local (not fresh) looks like this (I also have another clone/copy in linux / WSL with same situation - not fresh)
@tyeth This is good information. I haven't tried building from scratch but would like to..
so I ended up having to install the libraries to platform io with the pio lib install which is now deprecated. Is there a way to get platformIO to install requirements from library.properties? I had to do a regex replace and make a list of commands as I am under the impression each library must be installed individually. I tried pio pkg install and I think it just did tiny-usb
My understanding is that this line tells PIO to source from the standard Arduino library folder via the PIO Lib Dep. Finder.
Output from my Build command, for reference
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ strict
Found 219 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Adafruit TinyUSB Library @ 1.14.3
|-- Adafruit WipperSnapper @ 1.0.0-beta.52
| |-- Adafruit DotStar @ 1.2.1
...
Also there is a dallas ds18b20 dependency missing (it's silently cloned as part of the CI, but not listed in library.properties)
Yep, expected. We may want to pull that into the platformio.ini for local builds.
What does doing a Build on the ESP32v2 platform look like for you?
Okay so the readme probably needs to say follow the arduino guide and install the required arduino libraries. Alternatively use the arduino-cli which can install all the libraries in one go and no arduino IDE needed.
## on windows in powershell
( tail .\library.properties -n1 ).split('=')[1].split(',') | ForEach-Object { arduino-cli.exe lib install $_.trim() }
Lastly if you only want platformio (no arduino CLI/IDE) then you can install the libraries mentioned in library.properties directly with platformIO.
( tail .\library.properties -n1 ).split('=')[1].split(',') | ForEach-Object { pio.exe lib install $_.trim() }
The ds18b20 works fine for me (got one). It does need the libraries adding to the library.propties as currently the arduino guide/build is broken without.
Lastly if you only want platformio (no arduino CLI/IDE) then you can install the libraries mentioned in library.properties directly with platformIO. ( tail .\library.properties -n1 ).split('=')[1].split(',') | ForEach-Object { pio.exe lib install $_.trim() }
Where did you insert this snippet? Is this Powershell? You can execute python scripts from the platformio.ini file, maybe we'll want something like this in there?
It does need the libraries adding to the library.propties as currently the arduino guide/build is broken without.
Yeah, maybe we'll have a version of library.properties which is only used by the CI.
Yeah powershell, ran in platformIO terminal, tried to do code highlight in markdown but it just colour-codes not labels.
I ended up adding DallasTemperature in platformIO as same author.
So I've got a branch with the dallas dependency, and the python script to setup platformio dependencies. I still get the usb errors for the S2/S3 chipset builds, was trying to build the featherS2 (dont have one) and add the QTPY-S2, and feather-s3 (which I have) related to issue #337 As far as this issue goes, I've got a python script which will install the dependencies mentioned in library.properties and I've made a suggested change to the readme. Let me know what you think - pull request #357
The PlatformIO build instructions in the README.md could use some improvement:
README.md
to reflect feedback from discussionREADME.md
file