Very Early setup/built help #605
-
Hello Everybody Upfront, I have plenty of experience with VB.net in VS (windows, of course), but little with c++ (but getting there, wrote my own LED simple chaser with option), and no experience with VS Code, PlatFormIO, npm, etc. So, rather than re-inventing the wheel - The NightDriverStrip looks really great!! so, trying very hard to follow the video, I installed VS Code, added extension PlatformIO, installed Node.js (needed for npm i found out), then installed npm. Git cloning NightDriverStrip failed half way through several times, so i downloaded the zip and setup a folder, etc. loaded/opened the folder in VS Code/PlatformIO. the video states next to build (using the PlatformIO.build starts building, no errors, a few warnings for some of the functions being depreciated, but all looks good. exept....2 hours later the build is still running, having used up about 25 MB of harddrive space. - still no errors. what am I doing wrong, what am I missing? (i am running on a powerful Windows MS Surface Pro) Thanks for all your help and assistence (heads up, I have a feeling you all will see me a lot here with questions :-) ) |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 4 replies
-
Git cloning NightDriverStrip failed half way through several times, so i
downloaded
Investigate that. That is definitely not normal.
If your computer, for example, is slightly broken, you're going to have a
very bad time.
exept....2 hours later the build is still running, having used up about 25
MB of harddrive space. - still no errors.
What does it say it's doing? Perhaps a pio run -v -e demo (or whatever)
will be more revealing.
My M1 Mac is about on par with the scores at
https://github.com/PlummersSoftwareLLC/NightDriverStrip?tab=readme-ov-file#time-it-takes-to-build-this-project
(30-ish seconds)
Sure, my laptop gets beat by a few seconds by a 35 pound machine a couple
of times its price. My masculinity will survive.
The build system is so goofy that it takes 18 seconds to run a build with
all the objects fully cached so there's definitely a floor there somewhere.
I didn't think that Surfaces were exactly hulks of computing machinery, but
I just dumped the cache on my 2012 Ivy-Bridge iMac and recalibratted my
expectations:
% rm -fr .pio/build_cache
***@***.*** nightdriverstrip % time pio -v run -e demo
================================== [SUCCESS] Took 108.20 seconds
==================================
Environment Status Duration
------------- -------- ------------
demo SUCCESS 00:01:48.201
It's slower, sure, but it gets my goat that the majority of the build is
building code that I know isn't used. Again, even building completely from
cache where all the stupid build system has to do is ... nothing, it's not
fast by my my standards of "nothing"
================================== [SUCCESS] Took 17.24 seconds
==================================
Environment Status Duration
------------- -------- ------------
demo SUCCESS 00:00:17.244
=================================== 1 succeeded in 00:00:17.244
===================================
pio run -e demo 16.18s user 2.49s system 105% cpu 17.648 total
Whatever your machine is doing, it's off the rails. I don't know if you
have a "broken" computer (disk writes failing, 99% full, a platformio
installation that's gone wacky) but those two symptoms are pretty
terrifying and are absolutely not typical.
There is no reasonable amount of code you can compile for a 32-Bit computer
that'll fit in 512MB of RAM (even if you have the 8MB model...) and onto a
16MB of storage. That just doesn't pass the sanity test.
I don't know what your computer is doing, but it's not productive work.
Good luck and welcome!
… Message ID: <PlummersSoftwareLLC/NightDriverStrip/repo-discussions/605@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
Yeah, basically what @robertlipe said. The git clone fail "halfway" looks unhealthy, as does a PlatformIO that pretends it's still working on a build two hours down the line. And indeed, showing us the build logging that PlatformIO spits out (which is also available in the VSCode context) until it stalls might give some clues as to what's wrong with the setup you're using. |
Beta Was this translation helpful? Give feedback.
-
Hi robertlipe, rbergen Ja, the git clone is strange, 1st i thought wifi issue, so i cabled - same. Strangely always at the same %. About my machine's power: 1TB SSD, 4 cores @3.5 GHz, 16GB mem, and 2 GPUs Now, the built.... here is an excerpt (there is a ton before and after): Build completed, html: 501 B, jsx: 15320 B, ico: 6471 B, total: 21 KB
|
Beta Was this translation helpful? Give feedback.
-
it's not stalling, its running quite nicely - without ever stopping. It
even reports completed, just to then continue again
That's weird. Well, so is the git clone thing.
Library Manager: Installing TFT_eSPI
- Downloading 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
That's likely the agonizing part. I have gigabit broadband and the
downloads take longer than everything else combined.
Converting .pio\build\ledstrip_feather\timezones.json.txt.o
- Converting .pio\build\ledstrip_feather\index.html.gz.txt.o
Building in release mode
prepare_file([".pio/build/laserline/timezones.json.txt.o"],
["config/timezones.json"])
Converting .pio/build/laserline/index.html.gz.txt.o
Converting .pio/build/laserline/index.js.gz.txt.o
Converting .pio/build/laserline/timezones.json.txt.o
Converting .pio/build/laserline/favicon.ico.gz.txt.o
revert_original_file([".pio/build/laserline/timezones.json.txt.o"],
["config/timezones.json"])
Compiling .pio/build/laserline/libfab/FastLED/FastLED.cpp.o
Compiling .pio/build/laserline/libfab/FastLED/bitswap.cpp.o
Compiling .pio/build/laserline/libfab/FastLED/colorpalettes.cpp.o
Compiling .pio/build/laserline/libfab/FastLED/colorutils.cpp.o
Compiling .pio/build/laserline/libfab/FastLED/hsv2rgb.cpp.o
Compiling .pio/build/laserline/libfab/FastLED/lib8tion.cpp.o
[ lots and lots ]
Compiling .pio/build/laserline/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pio/build/laserline/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling .pio/build/laserline/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pio/build/laserline/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pio/build/laserline/FrameworkArduino/firmware_msc_fat.c.o
Compiling .pio/build/laserline/FrameworkArduino/libb64/cdecode.c.o
Compiling .pio/build/laserline/FrameworkArduino/libb64/cencode.c.o
/Users/robertlipe/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:
In function 'uartSetPins':
/Users/robertlipe/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:153:9:
warning: 'return' with no value, in function returning non-void
return;
^~~~~~
/Users/robertlipe/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:149:6:
note: declared here
bool uartSetPins(uint8_t uart_num, int8_t rxPin, int8_t txPin, int8_t
ctsPin, int8_t rtsPin)
^~~~~~~~~~~
Compiling .pio/build/laserline/FrameworkArduino/main.cpp.o
Compiling .pio/build/laserline/FrameworkArduino/stdlib_noniso.c.o
Compiling .pio/build/laserline/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/laserline/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/laserline/libFrameworkArduino.a
Indexing .pio/build/laserline/libFrameworkArduino.a
Linking .pio/build/laserline/firmware.elf
Retrieving maximum program size .pio/build/laserline/firmware.elf
Checking size .pio/build/laserline/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [= ] 13.9% (used 45544 bytes from 327680 bytes)
Flash: [======= ] 67.0% (used 1097829 bytes from 1638400 bytes)
Building .pio/build/laserline/firmware.bin
esptool.py v4.5.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
merge_bin([".pio/build/laserline/firmware.bin"],
[".pio/build/laserline/firmware.elf"])
/Users/robertlipe/.platformio/penv/bin/python
/Users/robertlipe/.platformio/packages/tool-esptoolpy/esptool.py --chip
esp32 merge_bin --flash_size 4MB --flash_mode dio --flash_freq 40m -o
/Users/robertlipe/src/nightdriverstrip/.pio/build/laserline/merged_image.bin
0x1000
/Users/robertlipe/src/nightdriverstrip/.pio/build/laserline/bootloader.bin
0x8000
/Users/robertlipe/src/nightdriverstrip/.pio/build/laserline/partitions.bin
0xe000
/Users/robertlipe/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin
0x10000
/Users/robertlipe/src/nightdriverstrip/.pio/build/laserline/firmware.bin
esptool.py v4.5.1
Wrote 0x11c1d0 bytes to file
/Users/robertlipe/src/nightdriverstrip/.pio/build/laserline/merged_image.bin,
ready to flash to offset 0x0
================================== [SUCCESS] Took 153.13 seconds
==================================
Environment Status Duration
------------- -------- ------------
laserline SUCCESS 00:02:33.127
=================================== 1 succeeded in 00:02:33.127
===================================
My timings here are whackadoodle because I used job control to pause it to
grab some copy-paste, but you get the idea. It builds the objects. I know
from memory that FrameworkArduino is near the end, it links to get an elf,
it runs esptool to smoosh the partition table, boot, and image, it blows
trumpets that it's done and ... it's done.
I picked laserline as an example of something I don't normally build.
(Well, except when I'm doing something radical to the code and am trying to
ensure that Rutger's not the first to build...)
Your computer is haunted or something.
… Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/605/comments/8348694
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
I think if you don't tell it what you're building, it builds everything and
that's pretty tedious, but it's on the order of "many tens of minutes" and
not hours with a machine of your specs.
You should notice the platform ('laserline" in my example) cycles through
the list that would be shown in
$ pio run --list-targets
.... which, ironically, I'm not copy-pasting because platformio is so
freaking brain-dead that even telling you what it'll build is slow. so I'll
do it in .01 seconds of awk...
✗ time awk '/env:/' platformio.ini
[env:demo]
[env:m5demo]
[env:m5plusdemo]
[env:heltecdemo]
[env:heltecv2demo]
[env:heltecv3demo]
[env:lilygo-tdisplay-s3-demo]
[env:ledstrip]
[env:ledstrip_feather]
[env:ledstrip_feather_hexagon]
[env:ledstrip_feather_wrover]
[env:ledstriplite]
[env:ledstrip_pico]
[env:spectrum]
[env:spectrum_elecrow]
[env:spectrumstack]
[env:spectrumlite]
[env:spectrum_wrover_kit]
[env:mesmerizer]
[env:mesmerizer_lolin]
[env:laserline]
[env:lantern]
[env:chieftain]
[env:umbrella]
[env:generic]
[env:panlee]
[env:ttgo]
[env:xmastrees]
[env:insulators]
[env:magicmirror]
[env:atomlight]
[env:fanset]
[env:cube]
awk '/env:/' platformio.ini 0.01s user 0.01s system 54% cpu 0.030 total
So if you're building EVERYTHING, it'll take a while, but it should not be
hours worth.
Then again, if your network connection is screwy and it's having to restart
the stupid number of copies of everything it downloads (why, yes, that IS
the second time I've insulted platformio/vscode in under a minute. Buy me a
drink for more...) maybe it does approach "forever".
If you see it cycling through a list like that, it's probable that it'll
finish. But you'll be WAY better off (and with a tiny little improvement on
environmental impact) if you just specify what you're interested in
building.
"demo" is the canonical start. It emits a rainbow pattern on the output
pin, per our doc.
…On Fri, Feb 2, 2024 at 11:54 AM GunnarPhilipp ***@***.***> wrote:
lol - yeah probably is
my thought was that i am doing something wrong - a wrong setting, or issue
the built cmd incorrectly and therefore its rebuilding the entire world or
something.
one thought i had was that i have to specify the chip i am using,
otherwise maybe its building 1 version for each possible chip - i don't
know, just grasping at straws.
—
Reply to this email directly, view it on GitHub
<#605 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCSD32AF5YCUR6GFDMOSDDYRUR63AVCNFSM6AAAAABCV6OVMGVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DGNBZGQZTM>
.
You are receiving this because you were mentioned.Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/605/comments/8349436
@github.com>
|
Beta Was this translation helpful? Give feedback.
-
Hello Team Here is an update.... I reset - uninstalled all extensions in VSCode including PlatformIO. Uninstalled VSCode. Deleted the NightDriv erStrip folder, etc etc. Installed:
git clone from within the git bash - no problem fixed publish to the chip - works now the interesting part, because it dawned on my that i probably need to specify somewhere which chip i am using (i got a ESP32 WROOM dev chip), and i could find where to do that (still don't know) --- I installed the Arduino extension again. oh, well. |
Beta Was this translation helpful? Give feedback.
Hello Team
Here is an update....
I reset - uninstalled all extensions in VSCode including PlatformIO. Uninstalled VSCode. Deleted the NightDriv erStrip folder, etc etc.
Installed:
git clone from within the git bash - no problem
ensured Demo (and subsequently LEDStrip), hit the "PlatFormIO: Built" botton = half a minute - maybe even faster
fixed
publish to the chip - works
now the interesting part, because it dawned on my that i probably need to specify somewhere which chip i am using (i got a ESP32 WROOM dev chip), and i could find where to do that (still …