PlatformIO 3.0: The biggest update for the years!

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