-
Notifications
You must be signed in to change notification settings - Fork 480
Windows: add Cygwin Toolchain, add VMWare Steps, Split up Different Methods #522
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comments for the first commit to clarify changes.
@@ -1,122 +1,56 @@ | |||
# Windows Installation Instructions | |||
|
|||
There are a number of ways you can set up a Windows development toolchain for PX4. These allow you to build for NuttX/Pixhawk and jMAVSim simulator targets. | |||
There are a number of ways you can set up a Windows development toolchain for PX4. Depending on what option you choose these allow you to build for NuttX/Pixhawk and jMAVSim simulator targets. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adopted some of these general introduction comments because they seem to be outdated/only apply to the old msys based toolchain.
> **Tip** Before starting to develop on Windows, consider installing a dual-boot environment with [Ubuntu](http://ubuntu.com). | ||
|
||
|
||
## Native Toolchain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I split up/copied all the existing instructions for the different options/methods without changing them to separate pages and hence new files. Only renaming the title of the method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the way you have done this split is excellent.
en/setup/dev_env_windows.md
Outdated
|
||
[Cygwin Toolchain Download & Instructions](../setup/dev_env_windows_msys.md) | ||
|
||
**\+** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a short advantage/disadvantage list for all the methods with the idea in mind to keep the general windows page short and give useful information that helps to decide where to read on the details.
Any help completing them appreciated. I'm biased for my particular daily PX4 usage and tested quite a lot but not everything e.g. bash on windows.
@@ -0,0 +1,93 @@ | |||
# Bash on Windows Toolchain | |||
|
|||
Windows users can alternatively install a *slightly modified* Ubuntu Linux PX4 development environment within [Bash on Windows](https://github.com/Microsoft/BashOnWindows), and use it to: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unchanged, just copied over
@@ -0,0 +1,56 @@ | |||
# Windows Cygwin Toolchain | |||
|
|||
## Ready to use MSI Installer Download |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New instructions for the Cygwin toolchain work in progress.
@@ -0,0 +1,11 @@ | |||
# Windows Msys Toolchain | |||
|
|||
## Instructions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unchanged, just copied over
|
||
## Instructions | ||
|
||
There are multiple ways to setup a VM which is capable of executing the PX4 environment on your system. This guide walks you through a VMWare setup which showed usable performance for basic usage not including ROS usage and high resolution heavy graphics applications. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New step by step guide for VMWare Player (which has to my knowledge best performance and is free).
Still rough, more details and screenshots to come...
On a high level, this looks good to go. Please finish it to the point where you feel its usable and remove the WIP flag. |
en/setup/dev_env_windows.md
Outdated
``` | ||
export PATH=$HOME/gcc-arm-none-eabi-5_4-2017q2/bin:\$PATH | ||
``` | ||
> **Tip** To work on an unrestriced linux environment you can install [Ubuntu](http://ubuntu.com) in a dual-boot setup next to your existing Windows installation and choose the operating system on every bootup. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This changes the nature of the tip from a recommendation to an observation - which I am not sure is a good thing. Unrestricted is miss-spelled. How about:
> **Tip** We recommend using [Ubuntu](http://ubuntu.com) for development. Consider setting up a dual-boot setup next to your existing Windows installation.
en/setup/dev_env_windows.md
Outdated
``` | ||
> **Tip** To work on an unrestriced linux environment you can install [Ubuntu](http://ubuntu.com) in a dual-boot setup next to your existing Windows installation and choose the operating system on every bootup. | ||
|
||
## Cygwin based Toolchain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to Cygwin-based or Cygwin Based (we use first letter capitalisation on all words in headings except the short connecting ones)
|
||
<span></span> | ||
> **Tip** Before starting to develop on Windows, consider installing a dual-boot environment with [Ubuntu](http://ubuntu.com). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the individual pro/con lists, but I wonder if it might also be worth having an overview of all of them in a table. Headings/fields like Gazebo, Jmavsim, NuttX, Native, Memory/Resources etc? Just an idea.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds super useful, it could even be colored red, green, yellow... I'll have a look at how to do that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Try avoid using colour. It is very rarely necessary or done well. The key to great doc is minimal use of highlighting and smart use of structure/headings :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, thanks for the hint, I can learn a lot from you. I'll kill the "coloring project" and make a non-highlighted table.
en/setup/dev_env_windows.md
Outdated
|
||
**\-** | ||
- Does not support all features of the PX4 environment | ||
- Known issues see link to issue tracking on the instructions page |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I quite like tables as they are more compact.
Pros | Cons |
---|---|
Supports NuttX and JMAVSim builds | Does not support all build options |
Fast and simple setup via MSI installer | Known issues see link to issue tracking on the instructions page |
No virtual machine and additional operating system overhead | |
Native Windows binary execution | |
Portable (folder could be on a pen drive) |
As discussed above, it might be better to have just one list of "supported", so more like
Feature | Cygwin | Bash | VM |
---|---|---|---|
NuttX builds | Yes | ||
JMavSim builds | Yes | ||
Gazebo Builds | |||
upload supported | Yes | ||
Portable | Yes | ||
Virtual Machine | |||
Native builds | |||
... |
Just throwing the option out there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think your suggestion with one table will make it a lot more readable. Let me add it.
en/setup/dev_env_windows.md
Outdated
|
||
**\+** | ||
+ Fast and simple setup via MSI installer | ||
+ Supports all basic functionality (see instructions) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need to be a link to instructions, what defines "basic functionality" OR even better (e.g. NuttX, JMAVSim)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I omitted this statement, table now shows what it supports.
en/setup/dev_env_windows.md
Outdated
|
||
**\-** | ||
- Does not support all features of the PX4 environment | ||
- Known issues see link to issue tracking on the instructions page |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need to be a link
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not very useful statement, every option has its issues which can be added to the instructions...
The whole Windows instuctions section seemed quite outdated and cramped onto one page to me. I can imagine it's confusing to read like that and while linux instructions are already split up to multiple pages and regularly updated. I started a take on improving the Windows section, sorry that this the first commit got that big.
@hamishwillee What do you think of the Windows page with the table now? I realized that it's possible to get a raw markdown preview when opening the file after the commit: https://github.com/MaEtUgR/Devguide/blob/pr-revise-windows-add-cygwin/en/setup/dev_env_windows.md I continue with the Cygwin instructions now. btw I think the inclusion of the same page on all options with |
Sooo, finally. I hope this is now a reviewable state. I would say it contains all the necessary information now and could apart from possible errors be published. |
Awesome, thanks! |
Adding the promised Cygwin toolchain with MSI installer I'm working on for quite some time now to the guide such that everyone can start using it and finds proper documentation.
See PX4/PX4-Autopilot#8357
The whole Windows instuctions section seemed quite outdated and cramped onto one page to me. I can imagine it's confusing to read like that. Linux instructions are already split up to multiple pages and more regularly updated.
I started a take on improving the Windows section, sorry that this the first commit got too big. I added review comments to clarify my changes in the this commit and allow for faster review. I'll not amend it but rather add smaller commits on top such that further review gets simpler.
FYI @hamishwillee @LorenzMeier