PlatformIO 3.0: The biggest update for the years!

That makes it easy . I upgraded both CLI to v3.0 and IDE to v1.5
On “build” - when success - it ends by saying “AVR memory usage” and no usage shown. It does not even say “success” as before.
When “build” ends with error - “build” window does not scroll to the end neither automatically nor manually - unresponsive. So I don;t see the end of “build” messages, hence do not know what the error is. Tried to change location of window to “bottom” in Setup but instead it changed to a full IDE screen covering my files windows and still does not scroll to the last build message! This is critical as I don;t see what the error message is!

Looks like status panel covers/overlaps the bottom of the “build” panel. Probably build panel shows complete log without scrolling but as bottom covered by status bar - it hides the error message.
Also I checked editor - “Goto Declaration” does not “go” as it did before, instead a strange window pops up waiting for some input - not clear what it is…

@Vlad what is your OS?

---------------Windows 7 ----------------

I’ve just tested in VM Win7 and it works cool! Do you use a special theme?

I use Atom Dark theme for UI. Is it “special” ? I am not sure if I changed it or it came with bundle… Which theme would be “standard”?
I am sure now that bottom strip of the status bar covers bottom of the build window. I couldn’t find how to toggle/hide status bar… Incidentally if build scrolling stops at error message line - this is exactly line covered by a status bar :slight_smile:

Could you provide screenshot?

Look at the screen capture - see the bottom bar? Also notice how build log screen takes over whole area of tabs where my files were displayed. I configured in setup “build” window to be at the “bottom”… but it took over all tabs. If I change location to “right” - it is correctly shown on the right from other tabs (hence files still displayed in their areas)… hey, were is the “attach file” button?

The output should be scrollable. Did you manually maximized this build window?

P.S: I like new PlatformIO 3.0 Build System and Library Dependency Graph! :blush: Very smart system :slight_smile:

Indeed, I was about to say the same about Lib Dependency graph but I was lost trying to find how to upload file :slight_smile: Very useful I love it ! - next step should be graphical presentation of the same graph!
I did not maximize it . It took over that space after clicking “build” (instead of pre-set “bottom”. But if I set it to be located at the “right” - it splits window and takes over right area… There are NO “maximize/minimize” buttons on that window…

It does scroll if output log has more lines than fits window vertically, but scrolls no more than to allow last line to fit window… and that is under status bar :slight_smile:

Next step is PIO Remote :tm: :wink:

Change a height of window (drag to botom). See red arrow below

Ivan, bolshoje spasibo
I did not think about it because usually if window shares the space (hence resizable), it never starts by taking all of the space…
But it works and also, after it been resized - it shows all that which I did not see before (for ex. “success” message)

About PIO remote - I personally don;t see any value for my work - I develop embedded code for MCU which controls a lot of sensors and whole work must be done next to the equipment. This remote feature is only good for non-embedded, especially distributed applications, working in a team as I did many projects in the past…
But a good graphical Library manager which shows all the library dependencies and also their locations, also allowing to upgrade, remove or add library from it’s graphic interface - this is important step for the best in the world coding IDE (regardless remote or local)

GUI for Library Manager in PlatformIO IDE is in our TODO list. If community supports us with PlatformIO Plus, we will implement it.

As for the PIO Remote. It could be very interesting if your company has boards farm. You will be able to test projects on multiple boards remotely. We will explain better all features of PIO Remote.

P.S: Did you try pio test? See interesting example
https://twitter.com/pjf/status/774930231937212416

Is there any describing page about pio test?

Sure! Redirecting...

Wow nice work! :clap: :heart_eyes::tada:

Just tested 3.1.0…sorry I’ve been a bit slow getting on board. It was worth the wait, the new library manager is amazing. A step change is replicable firmware building being able to reference library versions is totally awesome

I’ve got a couple of questions which I’ll post to separate topics to keep this thread clean :innocent:.

I will be looking to use Pio Plus and integrating unit testing into our manufacturing & test process.

Wow nice work! :clap: :heart_eyes::tada:

Thank a lot! :blush:

Yes, PIO Plus Unit Testing should significantly improve project development in your case. What is more, we are working on PIO Plus Remote feature. It will have a lot of functionality:

  • remote executing of the popular platformio commands
  • list remote devices
  • program devices remotely
  • integration with popular Cloud IDEs. No need to install PlatformIO on host machine.

Example. Having a ran pio remote agent(daemon) on the host machine (in your case is RPi), you can upgrade firmware remotely from any point in the world. What is more, you can monitor your devices with generic PlatformIO workflow. Just need to “remote” pre-command before each PlatformIO command.

pio remote device list
pio remote device monitor -b 9600

# run command on a specific agent, flash multiple devices in the office :)
pio remote --agent office run --target upload

We would be glad to see your company in our customers list! :wink:

1 Like

That all sounds very cool…and useful!

Is it possible to upload pre-compiled firmware using pio? E.g. I compile and test firmware my local machine with local devices then I release the .hex or the .hex get’s build automatically on git release using TravisCI. Is is then possible to use pio to upload the pre-compiled .hex? Potentially pulled directly from github releases API.

Yes, this is a default behaviour of pio remote run -t upload command. The project will be processed on the client side and only the final artifacts will be synchronized with PIO Remote Agent.

If in some case you need to process FULL project on the Agent’s side, then need to use pio remote run -t upload --build-remotely command. This approach is useful when you want to develop for some hardware that doesn’t support cross-platform building. Like, native RPi, BeaglBoard GPIO drives and etc. In this case, you can develop project on host machine and PlatformIO Remote will process it on remote machine and upload/run firmware.

1 Like