ESPOTA seems very talkative and can hang when uploading massive filesystems
because the stderr buffer fills up and blocks further writes.
Use an event driven methos to copy all command outputs instead of a
sequential iteration of out then err.
Fixes#124
* chore: fix vulns; `npm audit fix`
Signed-off-by: dankeboy36 <dankeboy36@gmail.com>
* chore: remove mocha and its types
the extension does not contain and run any tests, therefore, it's unused
Signed-off-by: dankeboy36 <dankeboy36@gmail.com>
* chore: remove unused `glob` dev-deps
It comes with the default VS Code extension tests and is used to
collect `mocha` tests, but the extension does not have tests.
Signed-off-by: dankeboy36 <dankeboy36@gmail.com>
* fix: pin Arduino API compatible with vscode
move it to dev-dependency. it does not exist at
runtime
Signed-off-by: dankeboy36 <dankeboy36@gmail.com>
* fix: linter issues; eqeqeq and missing semi
Signed-off-by: dankeboy36 <dankeboy36@gmail.com>
---------
Signed-off-by: dankeboy36 <dankeboy36@gmail.com>
More robust fix for #117
There doesn't seem to be a good existing library to handle
shell escaping. Because we control the filename, as long as
the temp path only has spaces or backslashes (i..e username
with a space on Windows) OpenOCD should parse these
escape sequences correctly.
Fixes#106
Adds a second command, "Build LittleFS image in sketch directory" which
does what it says. Builds the FS to a BIN fils but does not upload it.
This lets users distribute the same FS image to many devices/users.
The code took each partitions.csv line and cut off everything after
a "#"....and then threq out the cut line and parsed the original.
This means it would parse commented lines as if they just had a
name of "#spiffs", for example.
Actually use the trimmed line in calculations.
Fixes#90
* Changed esp32 OTA upload command to use "espota" instead of "espota.py" under
windows and macOS.
* Changed OTA upload under macOS to use python script.
* Updated comments in code to reflect previous changes.
---------
Co-authored-by: mrmabulous <leyla.buechel@mabulous.com>
Fixes#69
The partition name menu selection's value only points to the proper line of
build.properties, and is not always the file name for ESP32 partitions.
Use the label to indirect to the board props to select the right file.
The generated UF2 is not supported by the ROM, causing the chip to throw it
away silently. Instead, use the original uf2conv upload+convert in 1 step
option. Tested on an RP2350 and an RP2040.
Fixes#55
The RP2350 needs special UF2 processing to support a binary flash. Adjust
the command lines depending on the build revision for the Pico core to accomodate.
Fixes#51
Add a utility script and PACKAGE.md describing how to do a release.
The script will update the version number in the JSON, while a tag
push will now automate a build and release. No reason to have the
VSIX as part of the repo anymore.
A board's `build.partitions` setting seems to only ever be the default
setting defined for the board. This change checks for a partitions.csv
file in the sketch folder, then refers to the partition scheme
selected in the IDE through `BoardDetails.configOptions` before falling
back to the default.
Use the OS-specified path separator instead of hardcoding '/" (which
should work but maybe doesn't in some strange circumstances under windows).
Add version number to output display, more verbosity as to directories and
files being accessed. Colorize output with errors in red.
Support for the ESP32 family of microcontrollers was recently added to the extension.
When a user attempts a filesystem upload while a board of an unsupported architecture is selected in Arduino IDE, the
extension displays a helpful error message which includes a list of supported targets. This message was not updated at
the time the ESP32 support was added.
* Make Linux/Mac upload work for ESP32
Need to explicitly call the Python3 interpreter for the ESP32 uploads
under Linux and MacOS.
* ESP32 doesn't ship Python3, use system version
* Add support for ESP32
Fix#15 Add support for ESP32 hardware.
* Update the vsix compiled extenstion
Update the compiled, bundled Arduino extension file to 1.1
* Update README.md
Clean up additions made to the Readme
* Update tsconfig.json, add allowSyntheticDefaultImports