probonopd / WirelessPrinting

Print wirelessly from Cura, PrusaSlicer or Slic3r to your 3D printer connected to an ESP8266 or ESP32 module
352 stars 65 forks source link

Use platformio's extend feature #149

Closed TheAssassin closed 4 years ago

TheAssassin commented 4 years ago

While working on Marlin, I found a new (well, new to me) feature in PlatformIO. Using extends saves duplicate code and helps maintain similar environments (e.g., the ones using the same platform, framework etc.). I've modified the PlatformIO configuration to use those. I also took the moment and improved the comments. (I hate any form of inline comments and lines which exceed my screen size...)

probonopd commented 4 years ago

45 to 66 lines, I find it more complicated than before...

carl1961 commented 4 years ago

using @TheAssassin platformio.ini i was able to compile probonopd on windows 10 using vscode with platformio installed. Awesome work @TheAssassin and @probonopd The probonopd has really progressed a lot lately

probonopd commented 4 years ago

The kudos for PlatformIO go to @TheAssassin really. :+1: I suspected that PlatformIO was better than what we had before but always was afraid of doing the work in the fear of breaking something.

TheAssassin commented 4 years ago

45 to 66 lines, I find it more complicated than before...

Mainly because I extended the documentation. At least 6 lines have been added since I moved your inline comment into two separate lines and added new comments. Then there's more blank lines. Comparing the lines doesn't make that much sense, therefore.

The actual code is less duplicated than before and should avoid forgetting to change single board configurations while editing something in the others. Even if there's 3-4 more lines, it's still better code.

Also, adding new boards is a lot easier than before. In PlatformIO, there's a definition for most boards out there. Especially in the ESP32 world, there's sooo many boards now, with different flash methods, some via UART, some via other methods. With the STM32 it's similar, they ship a dedicated debug port, but there's a few UART bootloaders, too, all that can be configured on a per-board basis in platformio.ini.

By the way: the PR failed because transfer.sh timed out. It built just fine.

TheAssassin commented 4 years ago

I also simplified the PR a bit, removing the need for the default_envs. Should be more satisfying now.

probonopd commented 4 years ago

Thanks @TheAssassin, ready for merge?

TheAssassin commented 4 years ago

Yes.

probonopd commented 4 years ago

Thank you @TheAssassin