-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Getting Started guide is confusing #280
Comments
Thanks a lot for this feedback, it's very difficult to judge the effectiveness of the docs for me, since my head is so full of implicit design knowledge. I completely agree with your critique. The reason why TL;DR and Quickstart feel so out of place is because it's actually copied from the |
Related point to this: one of the first steps is to do "lbuild build" but this returns
The suggested command line (just above) doesn't work either. |
|
Thanks - this issue thread helped me break through the impass.
BH
…On Sun, Aug 9, 2020 at 9:39 AM Niklas Hauser ***@***.***> wrote:
lbuild build is meant to be executed in an example, but the getting
started guide is bad. I'll prioritize rewriting it, but I'm very busy with
work and uni until the end of the year.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#280 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABRXOSIO2NWN5OQVFBUASVTR73GMVANCNFSM4IUX3CZQ>
.
--
Blake Hannaford
--
|
Don't know if you have any spare cycles for this but in case you do, I'm
trying to get a basic setup going on Ubuntu 18.04 in a Python3 VE.
Finally modified search path as
env.Append(toolpath=[r"/home/blake/stm32/modm/tools/build_script_generator/scons/site_tools",
r"/home/blake/python_envs/stm/lib/python3.6/site-packages",])
to eliminate a lot of errors, but even though it finds one thing in
site-packages, I cant find gitdb (which IS installed)
scons: Reading SConscript files ...
File
"/home/blake/python_envs/stm/lib/python3.6/site-packages/git/__init__.py",
line 27
raise ImportError("'gitdb' could not be found in your PYTHONPATH") from
e
^
SyntaxError: invalid syntax
seems like gitdb (and similar deps) might be the wrong version???
I'm about to give up - the rest of my team seems to be going strong with
Windows.
Blake
On Sun, Aug 9, 2020 at 9:56 AM Blake Hannaford <blake.hannaford@gmail.com>
wrote:
… Thanks - this issue thread helped me break through the impass.
BH
On Sun, Aug 9, 2020 at 9:39 AM Niklas Hauser ***@***.***>
wrote:
> lbuild build is meant to be executed in an example, but the getting
> started guide is bad. I'll prioritize rewriting it, but I'm very busy with
> work and uni until the end of the year.
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> <#280 (comment)>, or
> unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ABRXOSIO2NWN5OQVFBUASVTR73GMVANCNFSM4IUX3CZQ>
> .
>
--
Blake Hannaford
--
--
Blake Hannaford
--
|
How did you get there? What are you trying to do? Is it a custom project or an example? What does your You cannot use our SCons build tools in their raw state, they must first be processed by Ubuntu 18.04 still has Python2 as default, so SCons will use the Python2 interpreter, unless you're using SCons 4.0 (Python 3 only) or explicitly call scons from Python3: |
Ah wait, you're from https://github.com/uw-advanced-robotics right? What are the errors? Which version of modm are you using? The ARUW modm fork which is 216 commits behind? https://github.com/uw-advanced-robotics/modm |
I just checked in with others on my team and it sounds like this is a separate project which is using modm by our recommendation. I'll have them follow up privately and see if they can help resolve the setup issue. I don't think we've encountered this particular error, but as you said, we've internally pinned on an older modm build and won't see more recent changes! The above errors were presumably from stock modm; they won't be using our fork, build system or setup config. We do indeed build on Windows, macOS and Linux but most of our protocols are probably not applicable to upstream or other projects. Sorry for the confusion! I can appreciate the difficulty in taking issue reports on a rather large OSS project 🙂 |
Thanks for getting back so quickly all. This is for the World
Ventilator project. I'll sync with them on which version. But
I had to add those paths in order to make it find things like the tools.
Honestly it's ironic to work so hard to help a tool that's supposed to
automate a build.
lbuild build was done and doesn't fix it.
cat project.xml
<library>
<repositories>
<repository>
<path>../modm/repo.lb</path>
</repository>
</repositories>
<options>
<option name="modm:build:build.path">./build</option>
<option name="modm:target">stm32f070rbt6</option>
<option name="modm:build:scons:include_sconstruct">False</option>
</options>
<modules>
<module>modm:build:scons</module>
<module>modm:architecture:clock</module>
<module>modm:platform:clock</module>
<module>modm:platform:core</module>
<module>modm:platform:gpio</module>
<module>modm:platform:heap</module>
<module>modm:platform:adc</module>
<!--<module>modm:platform:spi:2</module>
<module>modm:platform:uart:1</module>
<module>modm:platform:timer:3</module>-->
</modules>
</library>
Blake
…On Sun, Aug 9, 2020 at 8:42 PM Kaelin Laundry ***@***.***> wrote:
I just checked in with others on my team and it sounds like this is a
separate project which is using modm by our recommendation. I'll have them
follow up privately and see if they can help resolve the setup issue. I
don't think we've encountered this particular error, but as you said, we've
internally pinned on an older modm build and won't see more recent changes!
The above errors were presumably from stock modm; they won't be using our
fork, build system or setup config. We do indeed build on Windows, macOS
and Linux but most of our protocols are probably not applicable to upstream
or other projects.
Sorry for the confusion! I can appreciate the difficulty in taking issue
reports on a rather large OSS project 🙂
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#280 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABRXOSJROYHJPEBNZP7XKCLR75UARANCNFSM4IUX3CZQ>
.
--
Blake Hannaford
--
|
@blake5634 I think you might have more luck if you open a separate issue for this -- the thread we're currently in is focused on the text and formatting of the getting started guide rather than troubleshooting a particular error. |
Ok, so a very important information is right there: You're using a custom SConstruct: So what does the custom SConstruct look like? (It should reside in the folder your calling |
Thanks,
I just had to make mods to the original SConstruct (next to
project.xml) because it was failing to find all the tools and stuff without
those mods.
Blake
…On Sun, Aug 9, 2020 at 9:05 PM Niklas Hauser ***@***.***> wrote:
But I had to add those paths in order to make it find things like the
tools.
Ok, so a very important information is right there: You're using a custom
SConstruct: <option
name="modm:build:scons:include_sconstruct">False</option>
This means there should be a SConstruct checked into the repo next to
project.xml.
So what does the custom SConstruct look like? (It should reside in the
folder your calling scons from.) Why are you using it? What other SCons
tooling are you using?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#280 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABRXOSNM5ME7YP3T62DELELR75WZ7ANCNFSM4IUX3CZQ>
.
--
Blake Hannaford
--
|
It's been a long time but I found the motivation to rewrite the guides with your feedback in mind. You can see the result in #592. |
Hi!
First, I just wanted to say I quite like the look of the modm API and look forward to getting it running. I've been working through testing my scenarios and wanted to share some initial impressions. Once I know more about the library I might be able to come back and open a PR for this.
For now, here's a walk-through of my experience with the onboarding documentation and some thoughts on how it would make more sense to me. It might come across negative. If so, I apologize; that isn't my intent. This is intended to walk through my mindset and might let some confusion through. Either way, I really am just trying to communicate my experience as clearly as possible.
Here's what I see when I open the guide, for reference:
When I open the Getting Started page, I see two visible headings:
TL;DR
andQuickstart
. Both of these sections contain only commands that it tells you can be run, getting pretty deep into usage past just setup. The thing is... none of these actually tell you where you run them or how they are supposed to be used, and it turns out that they only work after you have cloned the modm source repository and put it in the right spot. This was confusing point 1: the guide starts with commands without any context for where you run them or what you need beforehand.Now, assuming I figure out that I need the source and figure out where it should be put, I need to create my project. What files are required for that? As it turns out, it's a
main.cpp
and aproject.xml
. But the only way to know that is to scroll down beyond two more headings (ignoring the library code examples, which don't have to manually include modm and therefore are structured differently) and find the on-page example. By this time, you've scrolled through the whole guide and hopefully realized that there's aYour own project
heading, which is actually where you need to start:TL;DR
andQuickstart
both skip over the crucial steps of having modm, source and project files on disk first. This is confusing point 2: If I need to create/clone files, I need to be told that up-front and in-order.TL;DR
andQuickstart
are both red herrings which distract from the things you need to do.Now, the
Your own project
section has good info. But it has four headings (Using a Board Support Package
,Discovering modm
,Custom Configuration
, andGenerate and Compile
) which don't seem to have appropriate grouping. What I think it's trying to do is present two options: either use an existing BSP for a known board, or make a custom configuration. But why isDiscovering modm
in the middle? And if a BSP and a custom configuration are mutually exclusive, why are they listed as two peer headings in order? Additionally,Discovering modm
has a lot of content and it isn't clear why I need to care as an introductory user. This is confusing point 3: if I'm being presented with mutually exclusive options, I need to be told, and they should be grouped as such. The major steps and order in which they should be done must be clear.With all that being said, here's my suggestion for a restructuring. Start by moving
TL;DR
to the bottom, and moving any usefulQuickstart
content into what's nowYour own project
. DeleteQuickstart
. Move the "examples" section to the bottom, aboveTL;DR
. While you're at it, maybe renameTL;DR
toQuickstart
because that seems like a better name anyway. The currentYour own project
is now the first section, and should tell you how to a) set up a project directory, b) get the right files in place, and c) run the commands to build. Then you can have a further section/subsection for running it on the device and debugging.Over all, my suggested structure is:
Your own project
)project.xml
andmain.cpp
, and build.Again, I am nowhere near an expert, so some of this might be wrong/confused/shallow. I'd be happy to talk over ideas and all of this should be taken with a grain of salt; it's only impressions.
Some additional notes on the experience:
h1
,h2
, andh3
.Thanks! I'd be happy to talk through any of this.
The text was updated successfully, but these errors were encountered: